From 67eff49516918dd350178d23be450b6c83ac1528 Mon Sep 17 00:00:00 2001 From: robert schouten Date: Wed, 25 Jan 2017 08:20:43 +0800 Subject: [PATCH] [fix] compact print format not longer ignores format builder --- erpnext/controllers/print_settings.py | 17 ++++++++--------- .../includes/item_table_description.html | 13 +++++++------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/erpnext/controllers/print_settings.py b/erpnext/controllers/print_settings.py index 25ae1b2d88..cb73159efc 100644 --- a/erpnext/controllers/print_settings.py +++ b/erpnext/controllers/print_settings.py @@ -16,14 +16,13 @@ def print_settings_for_item_table(doc): if doc.flags.compact_item_print: doc.print_templates["description"] = "templates/print_formats/includes/item_table_description.html" - doc.hide_in_print_layout += ["item_code", "item_name", "image"] - doc.flags.compact_item_fields = ["description", "qty", "rate", "amount"] - doc.flags.show_in_description = [] + doc.flags.format_columns = format_columns - for df in doc.meta.fields: - if df.fieldtype not in ("Section Break", "Column Break", "Button"): - if not doc.is_print_hide(df.fieldname): - if df.fieldname not in doc.hide_in_print_layout and df.fieldname not in doc.flags.compact_item_fields: - doc.hide_in_print_layout.append(df.fieldname) - doc.flags.show_in_description.append(df.fieldname) +def format_columns(display_columns, compact_fields): + compact_fields = compact_fields + ["image", "item_code", "item_name"] + final_columns = [] + for column in display_columns: + if column not in compact_fields: + final_columns.append(column) + return final_columns diff --git a/erpnext/templates/print_formats/includes/item_table_description.html b/erpnext/templates/print_formats/includes/item_table_description.html index e99d71255a..070cca5eb2 100644 --- a/erpnext/templates/print_formats/includes/item_table_description.html +++ b/erpnext/templates/print_formats/includes/item_table_description.html @@ -1,14 +1,16 @@ {%- set compact = doc.flags.compact_item_print -%} {%- set compact_fields = doc.flags.compact_item_fields -%} +{%- set display_columns = visible_columns|map(attribute="fieldname")| list -%} +{%- set columns = doc.flags.format_columns(display_columns, compact_fields) -%} -{% if doc.in_format_data("image") and doc.get("image") and not doc.is_print_hide("image")-%} +{% if doc.in_format_data("image") and doc.get("image") and "image" in display_columns -%}
{%- endif %}
- {% if doc.in_format_data("item_code") and not doc.is_print_hide("item_code") -%} + {% if doc.in_format_data("item_code") and "item_code" in display_columns -%}
{% if compact %}{% endif %} {{ _(doc.item_code) }} @@ -16,9 +18,8 @@
{%- endif %} - {% if (doc.in_format_data("item_name") and not doc.is_print_hide("item_name") and - (not doc.in_format_data("item_code") or doc.is_print_hide("item_code") - or doc.item_code != doc.item_name)) -%} + {%- if doc.in_format_data("item_name") and "item_name" in display_columns and + not (doc.in_format_data("item_code") and doc.item_code == doc.item_name) -%}
{{ doc.get_formatted("item_name", translated=True) }}
{%- endif %} @@ -34,7 +35,7 @@ {%- endif %} {% if compact -%} - {%- for fieldname in doc.flags.show_in_description -%} + {%- for fieldname in columns -%} {% if doc.get(fieldname) and doc.in_format_data(fieldname) -%}

{{ _(doc.meta.get_label(fieldname)) }}: