From 5b8db3729c3cd052845b440e37c74622c7de1806 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 27 May 2015 13:01:38 +0530 Subject: [PATCH 1/3] [fix] General ledger print format --- .../report/general_ledger/general_ledger.html | 13 +++++++++---- .../report/general_ledger/general_ledger.py | 13 ++++++------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/erpnext/accounts/report/general_ledger/general_ledger.html b/erpnext/accounts/report/general_ledger/general_ledger.html index 5c6b0f19bb..0d3170ac73 100644 --- a/erpnext/accounts/report/general_ledger/general_ledger.html +++ b/erpnext/accounts/report/general_ledger/general_ledger.html @@ -2,7 +2,7 @@ {%= frappe.boot.letter_heads[frappe.defaults.get_default("letter_head")] %}

{%= __("Statement of Account") %}

-

{%= filters.account && (filters.account + ", ") || "" %} {%= filters.company %}

+

{%= (filters.party || filters.account) && ((filters.party || filters.account) + ", ") || "" %} {%= filters.company %}

{%= dateutil.str_to_user(filters.from_date) %} {%= __("to") %} @@ -26,15 +26,20 @@ {%= dateutil.str_to_user(data[i][__("Posting Date")]) %} {%= data[i][__("Voucher Type")] %}
{%= data[i][__("Voucher No")] %} - {%= data[i][__("Account")] %} -
{%= __("Against") %}: {%= data[i][__("Against Account")] %} + + {% if(!(filters.party || filters.account)) { %} + {%= data[i][__("Party")] || data[i][__("Account")] %} +
+ {% } %} + + {{ __("Against") }}: {%= data[i][__("Against Account")] %}
{%= __("Remarks") %}: {%= data[i][__("Remarks")] %} {%= format_currency(data[i][__("Debit")]) %} {%= format_currency(data[i][__("Credit")]) %} {% } else { %} - {%= data[i][__("Account")] || " " %} + {%= frappe.format(data[i][__("Account")], {fieldtype: "Link"}) || " " %} {%= data[i][__("Account")] && format_currency(data[i][__("Debit")]) %} diff --git a/erpnext/accounts/report/general_ledger/general_ledger.py b/erpnext/accounts/report/general_ledger/general_ledger.py index 8e34cdbdba..fcce345024 100644 --- a/erpnext/accounts/report/general_ledger/general_ledger.py +++ b/erpnext/accounts/report/general_ledger/general_ledger.py @@ -9,7 +9,7 @@ from frappe import _ def execute(filters=None): account_details = {} for acc in frappe.db.sql("""select name, is_group from tabAccount""", as_dict=1): - account_details.setdefault(acc.name, acc) + account_details.setdefault(acc.name, acc) validate_filters(filters, account_details) validate_party(filters) @@ -82,8 +82,6 @@ def get_conditions(filters): lft, rgt = frappe.db.get_value("Account", filters["account"], ["lft", "rgt"]) conditions.append("""account in (select name from tabAccount where lft>=%s and rgt<=%s and docstatus<2)""" % (lft, rgt)) - else: - conditions.append("posting_date between %(from_date)s and %(to_date)s") if filters.get("voucher_no"): conditions.append("voucher_no=%(voucher_no)s") @@ -107,7 +105,7 @@ def get_data_with_opening_closing(filters, account_details, gl_entries): opening, total_debit, total_credit, gle_map = get_accountwise_gle(filters, gl_entries, gle_map) # Opening for filtered account - if filters.get("account"): + if filters.get("account") or filters.get("party"): data += [get_balance_row(_("Opening"), opening), {}] for acc, acc_dict in gle_map.items(): @@ -130,7 +128,7 @@ def get_data_with_opening_closing(filters, account_details, gl_entries): data.append({"account": "'" + _("Totals") + "'", "debit": total_debit, "credit": total_credit}) # Closing for filtered account - if filters.get("account"): + if filters.get("account") or filters.get("party"): data.append(get_balance_row(_("Closing (Opening + Totals)"), (opening + total_debit - total_credit))) @@ -153,9 +151,10 @@ def get_accountwise_gle(filters, gl_entries, gle_map): for gle in gl_entries: amount = flt(gle.debit, 3) - flt(gle.credit, 3) - if filters.get("account") and gle.posting_date < getdate(filters.from_date): + if gle.posting_date < getdate(filters.from_date): gle_map[gle.account].opening += amount - opening += amount + if filters.get("account") or filters.get("party"): + opening += amount elif gle.posting_date <= getdate(filters.to_date): gle_map[gle.account].entries.append(gle) gle_map[gle.account].total_debit += flt(gle.debit, 3) From 5b731ff73a5cd51b1b2fb539a81346e240adc99a Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 27 May 2015 13:02:40 +0530 Subject: [PATCH 2/3] Fix _idx property as per renamed fields --- ...lds_in_custom_scripts_and_print_formats.py | 20 +++++++++++++++++++ erpnext/patches/v5_0/set_footer_address.py | 1 + 2 files changed, 21 insertions(+) diff --git a/erpnext/patches/v5_0/replace_renamed_fields_in_custom_scripts_and_print_formats.py b/erpnext/patches/v5_0/replace_renamed_fields_in_custom_scripts_and_print_formats.py index 31747b86ec..1500690d63 100644 --- a/erpnext/patches/v5_0/replace_renamed_fields_in_custom_scripts_and_print_formats.py +++ b/erpnext/patches/v5_0/replace_renamed_fields_in_custom_scripts_and_print_formats.py @@ -16,6 +16,9 @@ def execute(): for name, script in frappe.db.sql("select name, {0} as script from `tab{1}` where ({2}) {3}".format(script_field, dt, cond1, cond2)): update_script(dt, name, script_field, script, renamed_fields) + + # update fieldnames in property setter for idx + update_idx_property(renamed_fields) def get_all_renamed_fields(): from erpnext.patches.v5_0.rename_table_fieldnames import rename_map @@ -63,3 +66,20 @@ def update_script(dt, name, script_field, script, renamed_fields): script = re.sub(r"\bentries\b", "items", script) frappe.db.set_value(dt, name, script_field, script) + +def update_idx_property(renamed_fields): + for ps, ordered_fields, dt in frappe.db.sql("select name, value, doc_type from `tabProperty Setter` where property = '_idx'"): + for from_field, to_field in renamed_fields: + if from_field in ordered_fields: + ordered_fields[ordered_fields.index(from_field)] = to_field + + # remove invalid fields + valid_fields = [f.fieldname for f in frappe.get_meta(dt).fields] + for fld in ordered_fields: + if fld not in valid_fields: + ordered_fields.pop(fld) + + frappe.db.set_value("Property Setter", ps, "value", ordered_fields) + + + frappe.db.sql("delete from `tabProperty Setter` where `property` = 'idx'") \ No newline at end of file diff --git a/erpnext/patches/v5_0/set_footer_address.py b/erpnext/patches/v5_0/set_footer_address.py index 2779e48c59..a3324a0455 100644 --- a/erpnext/patches/v5_0/set_footer_address.py +++ b/erpnext/patches/v5_0/set_footer_address.py @@ -4,4 +4,5 @@ def execute(): frappe.reload_doctype("System Settings") ss = frappe.get_doc("System Settings", "System Settings") ss.email_footer_address = frappe.db.get_default("company") + ss.flags.ignore_mandatory = True ss.save() From eb00cae86cc3e9f19ea7a7466e3dcba5c7333978 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 27 May 2015 13:18:09 +0530 Subject: [PATCH 3/3] Fiscal Year removed from Material Request --- .../production_planning_tool.py | 6 +--- erpnext/public/js/utils.js | 28 ++++++++++--------- .../material_request/material_request.json | 17 +---------- erpnext/stock/reorder_item.py | 11 -------- 4 files changed, 17 insertions(+), 45 deletions(-) diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py index 12987901d6..e11863a25f 100644 --- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py @@ -359,10 +359,7 @@ class ProductionPlanningTool(Document): def insert_purchase_request(self): items_to_be_requested = self.get_requested_items() - - from erpnext.accounts.utils import get_fiscal_year - fiscal_year = get_fiscal_year(nowdate())[0] - + purchase_request_list = [] if items_to_be_requested: for item in items_to_be_requested: @@ -372,7 +369,6 @@ class ProductionPlanningTool(Document): "transaction_date": nowdate(), "status": "Draft", "company": self.company, - "fiscal_year": fiscal_year, "requested_by": frappe.session.user, "material_request_type": "Purchase" }) diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js index 5476d147ab..3dfd7e1017 100644 --- a/erpnext/public/js/utils.js +++ b/erpnext/public/js/utils.js @@ -14,19 +14,21 @@ $.extend(erpnext, { }, get_fiscal_year: function(company, date, fn) { - frappe.call({ - type:"GET", - method: "erpnext.accounts.utils.get_fiscal_year", - args: { - "company": company, - "date": date, - "verbose": 0 - }, - callback: function(r) { - if (r.message) cur_frm.set_value("fiscal_year", r.message[0]); - if (fn) fn(); - } - }); + if(frappe.meta.get_docfield(cur_frm.doctype, "fiscal_year")) { + frappe.call({ + type:"GET", + method: "erpnext.accounts.utils.get_fiscal_year", + args: { + "company": company, + "date": date, + "verbose": 0 + }, + callback: function(r) { + if (r.message) cur_frm.set_value("fiscal_year", r.message[0]); + if (fn) fn(); + } + }); + } }, toggle_naming_series: function() { diff --git a/erpnext/stock/doctype/material_request/material_request.json b/erpnext/stock/doctype/material_request/material_request.json index 97345129ab..894b9e1343 100644 --- a/erpnext/stock/doctype/material_request/material_request.json +++ b/erpnext/stock/doctype/material_request/material_request.json @@ -131,21 +131,6 @@ "search_index": 1, "width": "100px" }, - { - "fieldname": "fiscal_year", - "fieldtype": "Link", - "in_filter": 1, - "label": "Fiscal Year", - "oldfieldname": "fiscal_year", - "oldfieldtype": "Select", - "options": "Fiscal Year", - "permlevel": 0, - "print_hide": 1, - "print_width": "150px", - "reqd": 1, - "search_index": 1, - "width": "150px" - }, { "fieldname": "column_break2", "fieldtype": "Column Break", @@ -236,7 +221,7 @@ "icon": "icon-ticket", "idx": 1, "is_submittable": 1, - "modified": "2015-02-20 05:07:33.215371", + "modified": "2015-05-27 15:36:06.818491", "modified_by": "Administrator", "module": "Stock", "name": "Material Request", diff --git a/erpnext/stock/reorder_item.py b/erpnext/stock/reorder_item.py index 30fe755bd4..cab419f3d3 100644 --- a/erpnext/stock/reorder_item.py +++ b/erpnext/stock/reorder_item.py @@ -3,7 +3,6 @@ import frappe from frappe.utils import flt, cstr, nowdate, add_days, cint -from erpnext.accounts.utils import get_fiscal_year, FiscalYearError def reorder_item(): """ Reorder item if stock reaches reorder level""" @@ -83,7 +82,6 @@ def get_item_warehouse_projected_qty(): def create_material_request(material_requests): """ Create indent on reaching reorder level """ mr_list = [] - defaults = frappe.defaults.get_defaults() exceptions_list = [] def _log_exception(): @@ -93,14 +91,6 @@ def create_material_request(material_requests): else: exceptions_list.append(frappe.get_traceback()) - try: - current_fiscal_year = get_fiscal_year(nowdate())[0] or defaults.fiscal_year - - except FiscalYearError: - _log_exception() - notify_errors(exceptions_list) - return - for request_type in material_requests: for company in material_requests[request_type]: try: @@ -111,7 +101,6 @@ def create_material_request(material_requests): mr = frappe.new_doc("Material Request") mr.update({ "company": company, - "fiscal_year": current_fiscal_year, "transaction_date": nowdate(), "material_request_type": request_type })