@@ -14,22 +14,33 @@ def on_submit_purchase_receipt(doc, method):
14
14
item_order .save ()
15
15
16
16
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
33
44
34
45
def on_delete_purchase_receipt (doc , method ):
35
46
on_submit_purchase_receipt (doc , method )
0 commit comments