Skip to content

Commit 9e28d2e

Browse files
fix: submit error issue
1 parent 5ad0635 commit 9e28d2e

File tree

2 files changed

+27
-38
lines changed

2 files changed

+27
-38
lines changed

d2h/overrides.py

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,33 @@ def on_submit_purchase_receipt(doc, method):
1414
item_order.save()
1515

1616
def validate_purchase_receipt(doc, method):
17-
doc.custom_item_duplicate = []
18-
for item in doc.items:
19-
new_item = doc.append("custom_item_duplicate", {})
20-
new_item.item_code = item.item_code
21-
new_item.qty = item.qty
22-
new_item.uom = item.uom
23-
new_item.base_rate = item.base_rate
24-
new_item.stock_uom = item.stock_uom
25-
new_item.conversion_factor = item.conversion_factor
26-
new_item.received_qty = item.received_qty
27-
new_item.serial_no = item.serial_no
28-
new_item.rejected_qty = item.rejected_qty
29-
new_item.purchase_order = item.purchase_order
30-
new_item.serial_and_batch_bundle = item.serial_and_batch_bundle
31-
new_item.rejected_serial_and_batch_bundle = item.rejected_serial_and_batch_bundle
32-
new_item.use_serial_batch_fields = item.use_serial_batch_fields
17+
user_roles = frappe.get_roles(frappe.session.user)
18+
if "Store Dept" in user_roles and "Administrator" not in user_roles:
19+
for ind in range(len(doc.custom_item_duplicate)):
20+
duplicate_item = doc.custom_item_duplicate[ind]
21+
item = doc.items[ind]
22+
if duplicate_item.item_code == item.item_code:
23+
item.qty = duplicate_item.qty
24+
item.serial_and_batch_bundle = duplicate_item.serial_and_batch_bundle
25+
item.rejected_serial_and_batch_bundle = duplicate_item.rejected_serial_and_batch_bundle
26+
item.use_serial_batch_fields = duplicate_item.use_serial_batch_fields
27+
else:
28+
doc.custom_item_duplicate = []
29+
for item in doc.items:
30+
new_item = doc.append("custom_item_duplicate", {})
31+
new_item.item_code = item.item_code
32+
new_item.qty = item.qty
33+
new_item.uom = item.uom
34+
new_item.base_rate = item.base_rate
35+
new_item.stock_uom = item.stock_uom
36+
new_item.conversion_factor = item.conversion_factor
37+
new_item.received_qty = item.received_qty
38+
new_item.serial_no = item.serial_no
39+
new_item.rejected_qty = item.rejected_qty
40+
new_item.purchase_order = item.purchase_order
41+
new_item.serial_and_batch_bundle = item.serial_and_batch_bundle
42+
new_item.rejected_serial_and_batch_bundle = item.rejected_serial_and_batch_bundle
43+
new_item.use_serial_batch_fields = item.use_serial_batch_fields
3344

3445
def on_delete_purchase_receipt(doc, method):
3546
on_submit_purchase_receipt(doc, method)

d2h/public/js/purchase_receipt.js

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,26 +20,4 @@ frappe.ui.form.on("Purchase Receipt", {
2020
frm.set_df_property("custom_section_break_fmgux", "hidden", false);
2121
}
2222
},
23-
validate(frm) {
24-
frm.doc.custom_item_duplicate = [];
25-
frm.refresh_field("custom_item_duplicate");
26-
frm.doc.items.map((item) => {
27-
const new_item = frm.add_child("custom_item_duplicate");
28-
new_item.item_code = item.item_code;
29-
new_item.qty = item.qty;
30-
new_item.uom = item.uom;
31-
new_item.base_rate = item.base_rate;
32-
new_item.stock_uom = item.stock_uom;
33-
new_item.conversion_factor = item.conversion_factor;
34-
new_item.received_qty = item.received_qty;
35-
new_item.serial_no = item.serial_no;
36-
new_item.rejected_qty = item.rejected_qty;
37-
new_item.purchase_order = item.purchase_order;
38-
new_item.serial_and_batch_bundle = item.serial_and_batch_bundle;
39-
new_item.rejected_serial_and_batch_bundle =
40-
item.rejected_serial_and_batch_bundle;
41-
new_item.use_serial_batch_fields = item.use_serial_batch_fields;
42-
});
43-
frm.refresh_field("custom_item_duplicate");
44-
},
4523
});

0 commit comments

Comments
 (0)