refactor: refactor contextual print setting implementation
This commit is contained in:
@@ -22,6 +22,7 @@ from six import text_type
|
||||
from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import get_accounting_dimensions
|
||||
from erpnext.stock.get_item_details import get_item_warehouse, _get_item_tax_template, get_item_tax_map
|
||||
from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
|
||||
from erpnext.controllers.print_settings import set_print_templates_for_item_table, set_print_templates_for_taxes
|
||||
|
||||
force_item_fields = ("item_group", "brand", "stock_uom", "is_fixed_asset", "item_tax_rate", "pricing_rules")
|
||||
|
||||
@@ -29,6 +30,19 @@ class AccountsController(TransactionBase):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(AccountsController, self).__init__(*args, **kwargs)
|
||||
|
||||
def get_print_settings(self):
|
||||
print_setting_fields = []
|
||||
items_field = self.meta.get_field('items')
|
||||
|
||||
if items_field and items_field.fieldtype == 'Table':
|
||||
print_setting_fields += ['compact_item_print', 'print_uom_after_quantity']
|
||||
|
||||
taxes_field = self.meta.get_field('taxes')
|
||||
if taxes_field and taxes_field.fieldtype == 'Table':
|
||||
print_setting_fields += ['print_taxes_with_zero_amount']
|
||||
|
||||
return print_setting_fields
|
||||
|
||||
@property
|
||||
def company_currency(self):
|
||||
if not hasattr(self, "__company_currency"):
|
||||
@@ -138,7 +152,7 @@ class AccountsController(TransactionBase):
|
||||
elif self.doctype in ("Quotation", "Purchase Order", "Sales Order"):
|
||||
self.validate_non_invoice_documents_schedule()
|
||||
|
||||
def before_print(self):
|
||||
def before_print(self, settings=None):
|
||||
if self.doctype in ['Purchase Order', 'Sales Order', 'Sales Invoice', 'Purchase Invoice',
|
||||
'Supplier Quotation', 'Purchase Receipt', 'Delivery Note', 'Quotation']:
|
||||
if self.get("group_same_items"):
|
||||
@@ -151,6 +165,9 @@ class AccountsController(TransactionBase):
|
||||
else:
|
||||
df.set("print_hide", 1)
|
||||
|
||||
set_print_templates_for_item_table(self, settings)
|
||||
set_print_templates_for_taxes(self, settings)
|
||||
|
||||
def calculate_paid_amount(self):
|
||||
if hasattr(self, "is_pos") or hasattr(self, "is_paid"):
|
||||
is_paid = self.get("is_pos") or self.get("is_paid")
|
||||
|
||||
Reference in New Issue
Block a user