Merge pull request #20269 from rohitwaghchaure/fixed_delivery_date_not_able_to_change_after_submit
fix: allow on submit for the delivery date field
diff --git a/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
index c3f95fa..9552e60 100644
--- a/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
+++ b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
@@ -90,7 +90,6 @@
"fieldtype": "Column Break"
},
{
- "default": "Customer",
"fieldname": "party_type",
"fieldtype": "Link",
"in_list_view": 1,
@@ -272,7 +271,7 @@
],
"idx": 1,
"istable": 1,
- "modified": "2019-10-02 12:23:21.693443",
+ "modified": "2020-01-13 12:41:33.968025",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Journal Entry Account",
diff --git a/erpnext/assets/doctype/asset/asset.js b/erpnext/assets/doctype/asset/asset.js
index f6a7fa2..a53ff88 100644
--- a/erpnext/assets/doctype/asset/asset.js
+++ b/erpnext/assets/doctype/asset/asset.js
@@ -338,25 +338,12 @@
})
},
- purchase_receipt: function(frm) {
+ purchase_receipt: (frm) => {
frm.trigger('toggle_reference_doc');
-
if (frm.doc.purchase_receipt) {
if (frm.doc.item_code) {
frappe.db.get_doc('Purchase Receipt', frm.doc.purchase_receipt).then(pr_doc => {
- frm.set_value('company', pr_doc.company);
- frm.set_value('purchase_date', pr_doc.posting_date);
- const item = pr_doc.items.find(item => item.item_code === frm.doc.item_code);
- if (!item) {
- frm.set_value('purchase_receipt', '');
- frappe.msgprint({
- title: __('Invalid Purchase Receipt'),
- message: __("The selected Purchase Receipt doesn't contains selected Asset Item."),
- indicator: 'red'
- });
- }
- frm.set_value('gross_purchase_amount', item.base_net_rate);
- frm.set_value('location', item.asset_location);
+ frm.events.set_values_from_purchase_doc(frm, 'Purchase Receipt', pr_doc)
});
} else {
frm.set_value('purchase_receipt', '');
@@ -368,24 +355,12 @@
}
},
- purchase_invoice: function(frm) {
+ purchase_invoice: (frm) => {
frm.trigger('toggle_reference_doc');
if (frm.doc.purchase_invoice) {
if (frm.doc.item_code) {
frappe.db.get_doc('Purchase Invoice', frm.doc.purchase_invoice).then(pi_doc => {
- frm.set_value('company', pi_doc.company);
- frm.set_value('purchase_date', pi_doc.posting_date);
- const item = pi_doc.items.find(item => item.item_code === frm.doc.item_code);
- if (!item) {
- frm.set_value('purchase_invoice', '');
- frappe.msgprint({
- title: __('Invalid Purchase Invoice'),
- message: __("The selected Purchase Invoice doesn't contains selected Asset Item."),
- indicator: 'red'
- });
- }
- frm.set_value('gross_purchase_amount', item.base_net_rate);
- frm.set_value('location', item.asset_location);
+ frm.events.set_values_from_purchase_doc(frm, 'Purchase Invoice', pi_doc)
});
} else {
frm.set_value('purchase_invoice', '');
@@ -397,6 +372,24 @@
}
},
+ set_values_from_purchase_doc: function(frm, doctype, purchase_doc) {
+ frm.set_value('company', purchase_doc.company);
+ frm.set_value('purchase_date', purchase_doc.posting_date);
+ const item = purchase_doc.items.find(item => item.item_code === frm.doc.item_code);
+ if (!item) {
+ doctype_field = frappe.scrub(doctype)
+ frm.set_value(doctype_field, '');
+ frappe.msgprint({
+ title: __(`Invalid ${doctype}`),
+ message: __(`The selected ${doctype} doesn't contains selected Asset Item.`),
+ indicator: 'red'
+ });
+ }
+ frm.set_value('gross_purchase_amount', item.base_net_rate + item.item_tax_amount);
+ frm.set_value('purchase_receipt_amount', item.base_net_rate + item.item_tax_amount);
+ frm.set_value('location', item.asset_location);
+ },
+
set_depreciation_rate: function(frm, row) {
if (row.total_number_of_depreciations && row.frequency_of_depreciation
&& row.expected_value_after_useful_life) {
diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py
index 3e7f683..86b5a11 100644
--- a/erpnext/assets/doctype/asset/asset.py
+++ b/erpnext/assets/doctype/asset/asset.py
@@ -132,9 +132,10 @@
if len(movements) > 1:
frappe.throw(_('Asset has multiple Asset Movement Entries which has to be \
cancelled manually to cancel this asset.'))
- movement = frappe.get_doc('Asset Movement', movements[0].get('name'))
- movement.flags.ignore_validate = True
- movement.cancel()
+ if movements:
+ movement = frappe.get_doc('Asset Movement', movements[0].get('name'))
+ movement.flags.ignore_validate = True
+ movement.cancel()
def make_asset_movement(self):
reference_doctype = 'Purchase Receipt' if self.purchase_receipt else 'Purchase Invoice'
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index cea4662..1989f4d 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -645,7 +645,6 @@
erpnext.patches.v12_0.replace_accounting_with_accounts_in_home_settings
erpnext.patches.v12_0.set_payment_entry_status
erpnext.patches.v12_0.update_owner_fields_in_acc_dimension_custom_fields
-erpnext.patches.v12_0.set_default_for_add_taxes_from_item_tax_template
erpnext.patches.v12_0.add_export_type_field_in_party_master
erpnext.patches.v12_0.remove_denied_leaves_from_leave_ledger
erpnext.patches.v12_0.update_price_or_product_discount
diff --git a/erpnext/patches/v12_0/set_default_for_add_taxes_from_item_tax_template.py b/erpnext/patches/v12_0/set_default_for_add_taxes_from_item_tax_template.py
deleted file mode 100644
index 06ee798..0000000
--- a/erpnext/patches/v12_0/set_default_for_add_taxes_from_item_tax_template.py
+++ /dev/null
@@ -1,5 +0,0 @@
-import frappe
-
-def execute():
- frappe.db.set_value("Accounts Settings", None, "add_taxes_from_item_tax_template", 1)
- frappe.db.set_default("add_taxes_from_item_tax_template", 1)
\ No newline at end of file