From 0e93352c8df30ec8f3826e0af21437cd5cbdf846 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 29 Jul 2014 21:58:39 +0530 Subject: [PATCH] [print] Hide Rate, Amount if Print Without Amount in Delivery Note --- .../stock/doctype/delivery_note/delivery_note.py | 14 ++++++++++++++ .../print_formats/includes/item_grid.html | 16 ++++++++-------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py index 13da9078b0..54e4fa2acb 100644 --- a/erpnext/stock/doctype/delivery_note/delivery_note.py +++ b/erpnext/stock/doctype/delivery_note/delivery_note.py @@ -40,6 +40,20 @@ class DeliveryNote(SellingController): total_qty = sum((item.qty for item in self.get("delivery_note_details"))) self.get("__onload").billing_complete = (billed_qty[0][0] == total_qty) + def before_print(self): + def toggle_print_hide(meta, fieldname): + df = meta.get_field(fieldname) + if self.get("print_without_amount"): + df.set("__print_hide", 1) + else: + df.delete_key("__print_hide") + + toggle_print_hide(self.meta, "currency") + + item_meta = frappe.get_meta("Delivery Note Item") + for fieldname in ("rate", "amount", "price_list_rate", "discount_percentage"): + toggle_print_hide(item_meta, fieldname) + def get_portal_page(self): return "shipment" if self.docstatus==1 else None diff --git a/erpnext/templates/print_formats/includes/item_grid.html b/erpnext/templates/print_formats/includes/item_grid.html index 63885c0ae4..3cc3034f3a 100644 --- a/erpnext/templates/print_formats/includes/item_grid.html +++ b/erpnext/templates/print_formats/includes/item_grid.html @@ -1,6 +1,8 @@ {%- from "templates/print_formats/standard_macros.html" import print_value -%} {%- set std_fields = ("item_code", "item_name", "description", "qty", "rate", "amount", "stock_uom", "uom") -%} {%- set visible_columns = get_visible_columns(doc.get(df.fieldname), table_meta) -%} +{%- set hide_rate = data[0].meta.is_print_hide("rate") -%} +{%- set hide_amount = data[0].meta.is_print_hide("amount") -%} @@ -8,8 +10,8 @@ - - + {% if not hide_rate -%}{%- endif %} + {% if not hide_amount -%}{%- endif %} {%- for row in data -%} @@ -30,17 +32,15 @@ {%- for field in visible_columns -%} {%- if (field.fieldname not in std_fields) and (row[field.fieldname] not in (None, "", 0)) -%} -
{{ _(field.label) }}:
- {{ row.get_formatted(field.fieldname, doc) }} +
{{ _(field.label) }}: + {{ row.get_formatted(field.fieldname, doc) }}
{%- endif -%} {%- endfor -%} - - + {% if not hide_rate -%}{%- endif %} + {% if not hide_amount -%}{%- endif %} {%- endfor -%}
{{ _("Sr") }} {{ _("Item") }} {{ _("Qty") }}{{ _("Rate") }}{{ _("Amount") }}{{ _("Rate") }}{{ _("Amount") }}
{{ row.get_formatted("qty", doc) }}
{{ row.uom or row.stock_uom }}
{{ - row.get_formatted("rate", doc) }}{{ - row.get_formatted("amount", doc) }}{{ row.get_formatted("rate", doc) }}{{ row.get_formatted("amount", doc) }}