refactor: get project from basic transactions

- sales order, sales invoice, purchase order and purchase order
- if project not found in transaction, get from items

(cherry picked from commit 8026f86548)
This commit is contained in:
ruthra
2022-01-10 12:58:58 +05:30
committed by mergify-bot
parent ea9756da8f
commit 7f5415177e

View File

@@ -1524,8 +1524,10 @@ def get_payment_entry(dt, dn, party_amount=None, bank_account=None, bank_amount=
pe.paid_amount = paid_amount
pe.received_amount = received_amount
pe.letter_head = doc.get("letter_head")
if dt == 'Purchase Order':
pe.project = reduce(lambda prev,cur: prev or cur, [x.project for x in doc.get('items')], None) # get first non-empty project from items
if dt in ['Purchase Order', 'Sales Order', 'Sales Invoice', 'Purchase Invoice']:
pe.project = (doc.get('project') or
reduce(lambda prev,cur: prev or cur, [x.get('project') for x in doc.get('items')], None)) # get first non-empty project from items
if pe.party_type in ["Customer", "Supplier"]:
bank_account = get_party_bank_account(pe.party_type, pe.party)