From 143973166fb9fa1f2a74f6755ba8081e5cbf196a Mon Sep 17 00:00:00 2001 From: Rohan Bansal Date: Thu, 21 Feb 2019 15:32:52 +0530 Subject: [PATCH 01/11] fix(payments): Only check for Draft or Submitted paymentswhile cancelling payment requests --- .../accounts/doctype/payment_request/payment_request.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 014efd948c..1fbde753d4 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -214,9 +214,11 @@ class PaymentRequest(Document): def check_if_payment_entry_exists(self): if self.status == "Paid": - payment_entry = frappe.db.sql_list("""select parent from `tabPayment Entry Reference` - where reference_name=%s""", self.reference_name) - if payment_entry: + payment_entry = frappe.get_all("Payment Entry Reference", + filters={"reference_name": self.reference_name, "docstatus": ["<", 2]}, + fields=["distinct(parent)"]) + + if any(payment_entry): frappe.throw(_("Payment Entry already exists"), title=_('Error')) def make_communication_entry(self): From 6635583103840dbdcca52e2552417fc3d2ca0bae Mon Sep 17 00:00:00 2001 From: "FinByz Tech Pvt. Ltd" Date: Fri, 1 Mar 2019 11:57:06 +0530 Subject: [PATCH 02/11] fix: Rounding adjustment in Rounded Total In Purchase Receipt and GST Purchase Receipt report, the Rounded Total column doesn't display rounding adjustment of Base Grand Total. So, we have created a fix for that rounding adjustment. --- .../accounts/report/purchase_register/purchase_register.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/report/purchase_register/purchase_register.py b/erpnext/accounts/report/purchase_register/purchase_register.py index e33b90d019..3f8abb76e2 100644 --- a/erpnext/accounts/report/purchase_register/purchase_register.py +++ b/erpnext/accounts/report/purchase_register/purchase_register.py @@ -66,8 +66,8 @@ def _execute(filters=None, additional_table_columns=None, additional_query_colum total_tax += tax_amount row.append(tax_amount) - # total tax, grand total, outstanding amount & rounded total - row += [total_tax, inv.base_grand_total, flt(inv.base_grand_total, 2), inv.outstanding_amount] + # total tax, grand total, rounded total & outstanding amount + row += [total_tax, inv.base_grand_total, flt(inv.base_grand_total, 0), inv.outstanding_amount] data.append(row) return columns, data From 33d0a9f6841cc1c239d79753ba86d5daebada14b Mon Sep 17 00:00:00 2001 From: Raffael Meyer Date: Tue, 5 Mar 2019 21:57:11 +0100 Subject: [PATCH 03/11] fix(projects): change fieldtype of billing amounts to Currency --- erpnext/projects/doctype/timesheet/timesheet.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/erpnext/projects/doctype/timesheet/timesheet.json b/erpnext/projects/doctype/timesheet/timesheet.json index 5ad2ab3a37..c29c11b746 100644 --- a/erpnext/projects/doctype/timesheet/timesheet.json +++ b/erpnext/projects/doctype/timesheet/timesheet.json @@ -739,7 +739,7 @@ "collapsible": 0, "columns": 0, "fieldname": "total_costing_amount", - "fieldtype": "Float", + "fieldtype": "Currency", "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, @@ -805,7 +805,7 @@ "depends_on": "", "description": "", "fieldname": "total_billable_amount", - "fieldtype": "Float", + "fieldtype": "Currency", "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, @@ -837,7 +837,7 @@ "collapsible": 0, "columns": 0, "fieldname": "total_billed_amount", - "fieldtype": "Float", + "fieldtype": "Currency", "hidden": 0, "ignore_user_permissions": 0, "ignore_xss_filter": 0, @@ -1000,7 +1000,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2019-01-30 11:28:18.518590", + "modified": "2019-03-05 21:54:02.654690", "modified_by": "Administrator", "module": "Projects", "name": "Timesheet", From 1b0f5fd4304e8d2cd9c24de659c3cf8678b893aa Mon Sep 17 00:00:00 2001 From: Anurag Mishra Date: Thu, 7 Mar 2019 16:17:00 +0530 Subject: [PATCH 04/11] fix: pass correct argument to method get_deprication_amount --- erpnext/assets/doctype/asset/asset.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py index a38b40bc60..3cab3b348f 100644 --- a/erpnext/assets/doctype/asset/asset.py +++ b/erpnext/assets/doctype/asset/asset.py @@ -255,7 +255,7 @@ class Asset(AccountsController): def get_depreciation_amount(self, depreciable_value, total_number_of_depreciations, row): percentage_value = 100.0 if row.depreciation_method == 'Written Down Value' else 200.0 - factor = percentage_value / total_number_of_depreciations + factor = percentage_value / cint(total_number_of_depreciations) depreciation_amount = flt(depreciable_value * factor / 100, 0) value_after_depreciation = flt(depreciable_value) - depreciation_amount @@ -275,7 +275,7 @@ class Asset(AccountsController): flt(row.expected_value_after_useful_life)) / (cint(row.total_number_of_depreciations) - cint(self.number_of_depreciations_booked)) * prorata_temporis else: - depreciation_amount = self.get_depreciation_amount(depreciable_value, row) + depreciation_amount = self.get_depreciation_amount(depreciable_value, row.total_number_of_depreciations, row) return depreciation_amount From 6b33c9b9342ed39cc059cf89432345b58b400976 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Fri, 8 Mar 2019 11:13:35 +0530 Subject: [PATCH 05/11] fix: purchase receipt not able to submit because default inventory account has not selected in another company --- .../doctype/purchase_invoice/purchase_invoice.py | 7 ++++--- .../accounts/doctype/sales_invoice/sales_invoice.py | 3 ++- erpnext/accounts/utils.py | 4 ++-- erpnext/controllers/stock_controller.py | 13 +++++++------ .../v7_0/repost_future_gle_for_purchase_invoice.py | 11 ++++++----- erpnext/stock/__init__.py | 11 ++++++++--- 6 files changed, 29 insertions(+), 20 deletions(-) diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py index c0d0d837fe..df1f29aa22 100644 --- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -222,7 +222,7 @@ class PurchaseInvoice(BuyingController): self.validate_item_code() self.validate_warehouse() if auto_accounting_for_stock: - warehouse_account = get_warehouse_account_map() + warehouse_account = get_warehouse_account_map(self.company) for item in self.get("items"): # in case of auto inventory accounting, @@ -366,7 +366,8 @@ class PurchaseInvoice(BuyingController): if repost_future_gle and cint(self.update_stock) and self.auto_accounting_for_stock: from erpnext.controllers.stock_controller import update_gl_entries_after items, warehouses = self.get_items_and_warehouses() - update_gl_entries_after(self.posting_date, self.posting_time, warehouses, items) + update_gl_entries_after(self.posting_date, self.posting_time, + warehouses, items, company = self.company) elif self.docstatus == 2 and cint(self.update_stock) and self.auto_accounting_for_stock: delete_gl_entries(voucher_type=self.doctype, voucher_no=self.name) @@ -423,7 +424,7 @@ class PurchaseInvoice(BuyingController): stock_items = self.get_stock_items() expenses_included_in_valuation = self.get_company_default("expenses_included_in_valuation") if self.update_stock and self.auto_accounting_for_stock: - warehouse_account = get_warehouse_account_map() + warehouse_account = get_warehouse_account_map(self.company) voucher_wise_stock_value = {} if self.update_stock: diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 62d8ffd897..926e2b8c52 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -695,7 +695,8 @@ class SalesInvoice(SellingController): if repost_future_gle and cint(self.update_stock) \ and cint(auto_accounting_for_stock): items, warehouses = self.get_items_and_warehouses() - update_gl_entries_after(self.posting_date, self.posting_time, warehouses, items) + update_gl_entries_after(self.posting_date, self.posting_time, + warehouses, items, company = self.company) elif self.docstatus == 2 and cint(self.update_stock) \ and cint(auto_accounting_for_stock): from erpnext.accounts.general_ledger import delete_gl_entries diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py index d4e1840eb9..2de5104183 100644 --- a/erpnext/accounts/utils.py +++ b/erpnext/accounts/utils.py @@ -544,14 +544,14 @@ def fix_total_debit_credit(): (dr_or_cr, dr_or_cr, '%s', '%s', '%s', dr_or_cr), (d.diff, d.voucher_type, d.voucher_no)) -def get_stock_and_account_difference(account_list=None, posting_date=None): +def get_stock_and_account_difference(account_list=None, posting_date=None, company=None): from erpnext.stock.utils import get_stock_value_on from erpnext.stock import get_warehouse_account_map if not posting_date: posting_date = nowdate() difference = {} - warehouse_account = get_warehouse_account_map() + warehouse_account = get_warehouse_account_map(company) for warehouse, account_data in iteritems(warehouse_account): if account_data.get('account') in account_list: diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py index 0a3cd3499b..d1ffd7db66 100644 --- a/erpnext/controllers/stock_controller.py +++ b/erpnext/controllers/stock_controller.py @@ -26,7 +26,7 @@ class StockController(AccountsController): delete_gl_entries(voucher_type=self.doctype, voucher_no=self.name) if cint(erpnext.is_perpetual_inventory_enabled(self.company)): - warehouse_account = get_warehouse_account_map() + warehouse_account = get_warehouse_account_map(self.company) if self.docstatus==1: if not gl_entries: @@ -36,7 +36,7 @@ class StockController(AccountsController): if repost_future_gle: items, warehouses = self.get_items_and_warehouses() update_gl_entries_after(self.posting_date, self.posting_time, warehouses, items, - warehouse_account) + warehouse_account, company=self.company) elif self.doctype in ['Purchase Receipt', 'Purchase Invoice'] and self.docstatus == 1: gl_entries = [] gl_entries = self.get_asset_gl_entry(gl_entries) @@ -46,7 +46,7 @@ class StockController(AccountsController): default_cost_center=None): if not warehouse_account: - warehouse_account = get_warehouse_account_map() + warehouse_account = get_warehouse_account_map(self.company) sle_map = self.get_stock_ledger_details() voucher_details = self.get_voucher_details(default_expense_account, default_cost_center, sle_map) @@ -199,7 +199,8 @@ class StockController(AccountsController): def make_adjustment_entry(self, expected_gle, voucher_obj): from erpnext.accounts.utils import get_stock_and_account_difference account_list = [d.account for d in expected_gle] - acc_diff = get_stock_and_account_difference(account_list, expected_gle[0].posting_date) + acc_diff = get_stock_and_account_difference(account_list, + expected_gle[0].posting_date, self.company) cost_center = self.get_company_default("cost_center") stock_adjustment_account = self.get_company_default("stock_adjustment_account") @@ -361,13 +362,13 @@ class StockController(AccountsController): frappe.get_doc("Blanket Order", blanket_order).update_ordered_qty() def update_gl_entries_after(posting_date, posting_time, for_warehouses=None, for_items=None, - warehouse_account=None): + warehouse_account=None, company=None): def _delete_gl_entries(voucher_type, voucher_no): frappe.db.sql("""delete from `tabGL Entry` where voucher_type=%s and voucher_no=%s""", (voucher_type, voucher_no)) if not warehouse_account: - warehouse_account = get_warehouse_account_map() + warehouse_account = get_warehouse_account_map(company) future_stock_vouchers = get_future_stock_vouchers(posting_date, posting_time, for_warehouses, for_items) gle = get_voucherwise_gl_entries(future_stock_vouchers, posting_date) diff --git a/erpnext/patches/v7_0/repost_future_gle_for_purchase_invoice.py b/erpnext/patches/v7_0/repost_future_gle_for_purchase_invoice.py index 22f9db6b2b..9e21fb699b 100644 --- a/erpnext/patches/v7_0/repost_future_gle_for_purchase_invoice.py +++ b/erpnext/patches/v7_0/repost_future_gle_for_purchase_invoice.py @@ -10,14 +10,15 @@ from erpnext.controllers.stock_controller import update_gl_entries_after def execute(): company_list = frappe.db.sql_list("""Select name from tabCompany where enable_perpetual_inventory = 1""") frappe.reload_doc('accounts', 'doctype', 'sales_invoice') - - frappe.reload_doctype("Purchase Invoice") + + frappe.reload_doctype("Purchase Invoice") wh_account = get_warehouse_account_map() - + for pi in frappe.get_all("Purchase Invoice", fields=["name", "company"], filters={"docstatus": 1, "update_stock": 1}): if pi.company in company_list: pi_doc = frappe.get_doc("Purchase Invoice", pi.name) items, warehouses = pi_doc.get_items_and_warehouses() - update_gl_entries_after(pi_doc.posting_date, pi_doc.posting_time, warehouses, items, wh_account) - + update_gl_entries_after(pi_doc.posting_date, pi_doc.posting_time, + warehouses, items, wh_account, company = pi.company) + frappe.db.commit() \ No newline at end of file diff --git a/erpnext/stock/__init__.py b/erpnext/stock/__init__.py index ea3d1036d2..32a03e7373 100644 --- a/erpnext/stock/__init__.py +++ b/erpnext/stock/__init__.py @@ -8,16 +8,21 @@ install_docs = [ {"doctype":"Role", "role_name":"Stock User", "name":"Stock User"}, {"doctype":"Role", "role_name":"Quality Manager", "name":"Quality Manager"}, {"doctype":"Item Group", "item_group_name":"All Item Groups", "is_group": 1}, - {"doctype":"Item Group", "item_group_name":"Default", + {"doctype":"Item Group", "item_group_name":"Default", "parent_item_group":"All Item Groups", "is_group": 0}, ] -def get_warehouse_account_map(): +def get_warehouse_account_map(company=None): if not frappe.flags.warehouse_account_map or frappe.flags.in_test: warehouse_account = frappe._dict() + filters = {} + if company: + filters['company'] = company + for d in frappe.get_all('Warehouse', fields = ["name", "account", "parent_warehouse", "company"], + filters = filters, order_by="lft, rgt"): if not d.account: d.account = get_warehouse_account(d, warehouse_account) @@ -57,6 +62,6 @@ def get_warehouse_account(warehouse, warehouse_account=None): frappe.throw(_("Please set Account in Warehouse {0} or Default Inventory Account in Company {1}") .format(warehouse.name, warehouse.company)) return account - + def get_company_default_inventory_account(company): return frappe.get_cached_value('Company', company, 'default_inventory_account') From 59a3012a5ce3b9e0229ed54d64f421da9cf60df7 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Fri, 15 Mar 2019 08:57:49 +0530 Subject: [PATCH 06/11] Update payment_request.py --- .../accounts/doctype/payment_request/payment_request.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py index 1fbde753d4..64c4124da6 100644 --- a/erpnext/accounts/doctype/payment_request/payment_request.py +++ b/erpnext/accounts/doctype/payment_request/payment_request.py @@ -214,11 +214,10 @@ class PaymentRequest(Document): def check_if_payment_entry_exists(self): if self.status == "Paid": - payment_entry = frappe.get_all("Payment Entry Reference", + if frappe.get_all("Payment Entry Reference", filters={"reference_name": self.reference_name, "docstatus": ["<", 2]}, - fields=["distinct(parent)"]) - - if any(payment_entry): + fields=["parent"], + limit=1): frappe.throw(_("Payment Entry already exists"), title=_('Error')) def make_communication_entry(self): From a7cf7fbccc73c47e03152aeb20e66ad4d0017db4 Mon Sep 17 00:00:00 2001 From: Charles-Henri Decultot Date: Thu, 21 Mar 2019 13:28:14 +0000 Subject: [PATCH 07/11] Fix: Mapping issue in sql query --- .../fichier_des_ecritures_comptables_[fec].py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/regional/report/fichier_des_ecritures_comptables_[fec]/fichier_des_ecritures_comptables_[fec].py b/erpnext/regional/report/fichier_des_ecritures_comptables_[fec]/fichier_des_ecritures_comptables_[fec].py index 5fbf7007f4..6b8d3f0139 100644 --- a/erpnext/regional/report/fichier_des_ecritures_comptables_[fec]/fichier_des_ecritures_comptables_[fec].py +++ b/erpnext/regional/report/fichier_des_ecritures_comptables_[fec]/fichier_des_ecritures_comptables_[fec].py @@ -87,8 +87,8 @@ def get_gl_entries(filters): left join `tabPurchase Invoice` pur on gl.voucher_no = pur.name left join `tabJournal Entry` jnl on gl.voucher_no = jnl.name left join `tabPayment Entry` pay on gl.voucher_no = pay.name - left join `tabCustomer` cus on gl.party = cus.customer_name - left join `tabSupplier` sup on gl.party = sup.supplier_name + left join `tabCustomer` cus on gl.party = cus.name + left join `tabSupplier` sup on gl.party = sup.name where gl.company=%(company)s and gl.fiscal_year=%(fiscal_year)s {group_by_condition} order by GlPostDate, voucher_no"""\ From 9c214b6129c6665d740bfbb889be36d1d505eb53 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Fri, 22 Mar 2019 12:08:09 +0530 Subject: [PATCH 08/11] feat: enabled allow on submit for action fields in the Budget --- erpnext/accounts/doctype/budget/budget.json | 43 ++++++++++++++++----- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/erpnext/accounts/doctype/budget/budget.json b/erpnext/accounts/doctype/budget/budget.json index a803b65583..50ad2e5ebc 100644 --- a/erpnext/accounts/doctype/budget/budget.json +++ b/erpnext/accounts/doctype/budget/budget.json @@ -1,5 +1,6 @@ { "allow_copy": 0, + "allow_events_in_timeline": 0, "allow_guest_to_view": 0, "allow_import": 1, "allow_rename": 0, @@ -19,6 +20,7 @@ "collapsible": 0, "columns": 0, "default": "Cost Center", + "fetch_if_empty": 0, "fieldname": "budget_against", "fieldtype": "Select", "hidden": 0, @@ -52,6 +54,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "company", "fieldtype": "Link", "hidden": 0, @@ -86,6 +89,7 @@ "collapsible": 0, "columns": 0, "depends_on": "eval:doc.budget_against == 'Cost Center'", + "fetch_if_empty": 0, "fieldname": "cost_center", "fieldtype": "Link", "hidden": 0, @@ -120,6 +124,7 @@ "collapsible": 0, "columns": 0, "depends_on": "eval:doc.budget_against == 'Project'", + "fetch_if_empty": 0, "fieldname": "project", "fieldtype": "Link", "hidden": 0, @@ -153,6 +158,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "fiscal_year", "fieldtype": "Link", "hidden": 0, @@ -186,6 +192,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "column_break_3", "fieldtype": "Column Break", "hidden": 0, @@ -218,6 +225,7 @@ "collapsible": 0, "columns": 0, "depends_on": "eval:in_list([\"Stop\", \"Warn\"], doc.action_if_accumulated_monthly_budget_exceeded_on_po || doc.action_if_accumulated_monthly_budget_exceeded_on_mr || doc.action_if_accumulated_monthly_budget_exceeded_on_actual)", + "fetch_if_empty": 0, "fieldname": "monthly_distribution", "fieldtype": "Link", "hidden": 0, @@ -251,6 +259,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "amended_from", "fieldtype": "Link", "hidden": 0, @@ -283,6 +292,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "section_break_6", "fieldtype": "Section Break", "hidden": 0, @@ -315,6 +325,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "applicable_on_material_request", "fieldtype": "Check", "hidden": 0, @@ -343,12 +354,13 @@ { "allow_bulk_edit": 0, "allow_in_quick_entry": 0, - "allow_on_submit": 0, + "allow_on_submit": 1, "bold": 0, "collapsible": 0, "columns": 0, "default": "Stop", "depends_on": "eval:doc.applicable_on_material_request == 1", + "fetch_if_empty": 0, "fieldname": "action_if_annual_budget_exceeded_on_mr", "fieldtype": "Select", "hidden": 0, @@ -378,12 +390,13 @@ { "allow_bulk_edit": 0, "allow_in_quick_entry": 0, - "allow_on_submit": 0, + "allow_on_submit": 1, "bold": 0, "collapsible": 0, "columns": 0, "default": "Warn", "depends_on": "eval:doc.applicable_on_material_request == 1", + "fetch_if_empty": 0, "fieldname": "action_if_accumulated_monthly_budget_exceeded_on_mr", "fieldtype": "Select", "hidden": 0, @@ -417,6 +430,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "column_break_13", "fieldtype": "Column Break", "hidden": 0, @@ -448,6 +462,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "applicable_on_purchase_order", "fieldtype": "Check", "hidden": 0, @@ -476,12 +491,13 @@ { "allow_bulk_edit": 0, "allow_in_quick_entry": 0, - "allow_on_submit": 0, + "allow_on_submit": 1, "bold": 0, "collapsible": 0, "columns": 0, "default": "Stop", "depends_on": "eval:doc.applicable_on_purchase_order == 1", + "fetch_if_empty": 0, "fieldname": "action_if_annual_budget_exceeded_on_po", "fieldtype": "Select", "hidden": 0, @@ -511,12 +527,13 @@ { "allow_bulk_edit": 0, "allow_in_quick_entry": 0, - "allow_on_submit": 0, + "allow_on_submit": 1, "bold": 0, "collapsible": 0, "columns": 0, "default": "Warn", "depends_on": "eval:doc.applicable_on_purchase_order == 1", + "fetch_if_empty": 0, "fieldname": "action_if_accumulated_monthly_budget_exceeded_on_po", "fieldtype": "Select", "hidden": 0, @@ -550,6 +567,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "section_break_16", "fieldtype": "Section Break", "hidden": 0, @@ -581,6 +599,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "applicable_on_booking_actual_expenses", "fieldtype": "Check", "hidden": 0, @@ -609,12 +628,13 @@ { "allow_bulk_edit": 0, "allow_in_quick_entry": 0, - "allow_on_submit": 0, + "allow_on_submit": 1, "bold": 0, "collapsible": 0, "columns": 0, "default": "Stop", "depends_on": "eval:doc.applicable_on_booking_actual_expenses == 1", + "fetch_if_empty": 0, "fieldname": "action_if_annual_budget_exceeded", "fieldtype": "Select", "hidden": 0, @@ -644,12 +664,13 @@ { "allow_bulk_edit": 0, "allow_in_quick_entry": 0, - "allow_on_submit": 0, + "allow_on_submit": 1, "bold": 0, "collapsible": 0, "columns": 0, "default": "Warn", "depends_on": "eval:doc.applicable_on_booking_actual_expenses == 1", + "fetch_if_empty": 0, "fieldname": "action_if_accumulated_monthly_budget_exceeded", "fieldtype": "Select", "hidden": 0, @@ -683,6 +704,7 @@ "bold": 0, "collapsible": 0, "columns": 0, + "fetch_if_empty": 0, "fieldname": "section_break_21", "fieldtype": "Section Break", "hidden": 0, @@ -715,6 +737,7 @@ "collapsible": 0, "columns": 0, "depends_on": "", + "fetch_if_empty": 0, "fieldname": "accounts", "fieldtype": "Table", "hidden": 0, @@ -735,7 +758,7 @@ "read_only": 0, "remember_last_selected_value": 0, "report_hide": 0, - "reqd": 1, + "reqd": 1, "search_index": 0, "set_only_once": 0, "translatable": 0, @@ -752,7 +775,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2018-09-12 11:02:41.825923", + "modified": "2019-03-22 12:06:02.323099", "modified_by": "Administrator", "module": "Accounts", "name": "Budget", @@ -785,7 +808,7 @@ "show_name_in_global_search": 0, "sort_field": "modified", "sort_order": "DESC", - "track_changes": 1, - "track_seen": 0, + "track_changes": 1, + "track_seen": 0, "track_views": 0 } \ No newline at end of file From c0de5b741e116b1fbeb46ae1eda3628da0266b86 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Fri, 22 Mar 2019 14:32:00 +0530 Subject: [PATCH 09/11] fix: remove gitter chat --- README.md | 1 - erpnext/public/js/conf.js | 2 -- 2 files changed, 3 deletions(-) diff --git a/README.md b/README.md index 8c13e1ed88..b1979d0045 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,6 @@

[![Build Status](https://travis-ci.com/frappe/erpnext.png)](https://travis-ci.com/frappe/erpnext) -[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/frappe/erpnext?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Open Source Helpers](https://www.codetriage.com/frappe/erpnext/badges/users.svg)](https://www.codetriage.com/frappe/erpnext) [![Coverage Status](https://coveralls.io/repos/github/frappe/erpnext/badge.svg?branch=develop)](https://coveralls.io/github/frappe/erpnext?branch=develop) diff --git a/erpnext/public/js/conf.js b/erpnext/public/js/conf.js index 56e6bdb8db..477781bc80 100644 --- a/erpnext/public/js/conf.js +++ b/erpnext/public/js/conf.js @@ -27,8 +27,6 @@ $(document).bind('toolbar_setup', function() { target="_blank">'+__('Documentation')+'').insertBefore($help_menu); $('
  • '+__('User Forum')+'
  • ').insertBefore($help_menu); - $('').insertBefore($help_menu); $('
  • '+__('Report an Issue')+'
  • ').insertBefore($help_menu); From d562e9530eed62c13e297c061a7ce22f6c364c7e Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Fri, 22 Mar 2019 14:46:12 +0530 Subject: [PATCH 10/11] fix(link): help link in selling --- erpnext/config/selling.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/config/selling.py b/erpnext/config/selling.py index 94f3102831..99b8ce0e5e 100644 --- a/erpnext/config/selling.py +++ b/erpnext/config/selling.py @@ -325,7 +325,7 @@ def get_data(): { "type": "help", "label": _("Sales Order to Payment"), - "youtube_id": "7AMq4lqkN4A" + "youtube_id": "1eP90MWoDQM" }, { "type": "help", From 021ccf572ad97db83c91a4b81c6685400c35b4f0 Mon Sep 17 00:00:00 2001 From: Frappe Bot Date: Sat, 23 Mar 2019 07:25:02 +0000 Subject: [PATCH 11/11] bumped to version 11.1.16 --- erpnext/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 8ac608ebce..8fbdb54234 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -5,7 +5,7 @@ import frappe from erpnext.hooks import regional_overrides from frappe.utils import getdate -__version__ = '11.1.15' +__version__ = '11.1.16' def get_default_company(user=None): '''Get default company for user'''