Skip to content

Commit 3fabc0d

Browse files
fix: item issue in purchase receipt
1 parent b3a727b commit 3fabc0d

File tree

2 files changed

+36
-84
lines changed

2 files changed

+36
-84
lines changed

d2h/overrides.py

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

1616
def validate_purchase_receipt(doc, method):
17-
user_roles = frappe.get_roles(frappe.session.user)
18-
19-
if "Store Dept" in user_roles and "Administrator" not in user_roles:
20-
doc.items = []
21-
for item in doc.custom_item_duplicate:
22-
new_item = doc.append("items", {})
23-
new_item.item_code = item.item_code
24-
new_item.item_name = item.item_code
25-
new_item.qty = item.qty
26-
new_item.uom = item.uom
27-
new_item.base_rate = item.base_rate
28-
new_item.stock_uom = item.stock_uom
29-
new_item.conversion_factor = item.conversion_factor
30-
new_item.received_qty = item.received_qty
31-
new_item.serial_no = item.serial_no
32-
new_item.rejected_qty = item.rejected_qty
33-
new_item.purchase_order = item.purchase_order
34-
new_item.serial_and_batch_bundle = item.serial_and_batch_bundle
35-
new_item.rejected_serial_and_batch_bundle = item.rejected_serial_and_batch_bundle
36-
new_item.use_serial_batch_fields = item.use_serial_batch_fields
37-
else:
38-
doc.custom_item_duplicate = []
39-
for item in doc.items:
40-
new_item = doc.append("custom_item_duplicate", {})
41-
new_item.item_code = item.item_code
42-
new_item.qty = item.qty
43-
new_item.uom = item.uom
44-
new_item.base_rate = item.base_rate
45-
new_item.stock_uom = item.stock_uom
46-
new_item.conversion_factor = item.conversion_factor
47-
new_item.received_qty = item.received_qty
48-
new_item.serial_no = item.serial_no
49-
new_item.rejected_qty = item.rejected_qty
50-
new_item.purchase_order = item.purchase_order
51-
new_item.serial_and_batch_bundle = item.serial_and_batch_bundle
52-
new_item.rejected_serial_and_batch_bundle = item.rejected_serial_and_batch_bundle
53-
new_item.use_serial_batch_fields = item.use_serial_batch_fields
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
5433

5534
def on_delete_purchase_receipt(doc, method):
5635
on_submit_purchase_receipt(doc, method)

d2h/public/js/purchase_receipt.js

Lines changed: 20 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -21,52 +21,25 @@ frappe.ui.form.on("Purchase Receipt", {
2121
}
2222
},
2323
validate(frm) {
24-
if (
25-
frappe.user_roles.includes("Store Dept") &&
26-
!frappe.user_roles.includes("Administrator")
27-
) {
28-
frm.doc.items = [];
29-
frm.refresh_field("items");
30-
frm.doc.custom_item_duplicate.map((item) => {
31-
const new_item = frm.add_child("items");
32-
new_item.item_code = item.item_code;
33-
new_item.item_name = item.item_code;
34-
new_item.qty = item.qty;
35-
new_item.uom = item.uom;
36-
new_item.base_rate = item.base_rate;
37-
new_item.stock_uom = item.stock_uom;
38-
new_item.conversion_factor = item.conversion_factor;
39-
new_item.received_qty = item.received_qty;
40-
new_item.serial_no = item.serial_no;
41-
new_item.rejected_qty = item.rejected_qty;
42-
new_item.purchase_order = item.purchase_order;
43-
new_item.serial_and_batch_bundle = item.serial_and_batch_bundle;
44-
new_item.rejected_serial_and_batch_bundle =
45-
item.rejected_serial_and_batch_bundle;
46-
new_item.use_serial_batch_fields = item.use_serial_batch_fields;
47-
});
48-
frm.refresh_field("items");
49-
} else {
50-
frm.doc.custom_item_duplicate = [];
51-
frm.refresh_field("custom_item_duplicate");
52-
frm.doc.items.map((item) => {
53-
const new_item = frm.add_child("custom_item_duplicate");
54-
new_item.item_code = item.item_code;
55-
new_item.qty = item.qty;
56-
new_item.uom = item.uom;
57-
new_item.base_rate = item.base_rate;
58-
new_item.stock_uom = item.stock_uom;
59-
new_item.conversion_factor = item.conversion_factor;
60-
new_item.received_qty = item.received_qty;
61-
new_item.serial_no = item.serial_no;
62-
new_item.rejected_qty = item.rejected_qty;
63-
new_item.purchase_order = item.purchase_order;
64-
new_item.serial_and_batch_bundle = item.serial_and_batch_bundle;
65-
new_item.rejected_serial_and_batch_bundle =
66-
item.rejected_serial_and_batch_bundle;
67-
new_item.use_serial_batch_fields = item.use_serial_batch_fields;
68-
});
69-
frm.refresh_field("custom_item_duplicate");
70-
}
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");
7144
},
7245
});

0 commit comments

Comments
 (0)