mirror of
https://gitlab.com/datalifeit/trytond-account_bank
synced 2023-12-14 06:23:07 +01:00
Refactor default value for bank account
This commit is contained in:
parent
22171fa4d4
commit
01348bfa4a
1 changed files with 18 additions and 12 deletions
30
account.py
30
account.py
|
@ -185,23 +185,29 @@ class Invoice(BankMixin):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(cls, vlist):
|
def compute_default_bank_account(cls, values):
|
||||||
pool = Pool()
|
pool = Pool()
|
||||||
PaymentType = pool.get('account.payment.type')
|
PaymentType = pool.get('account.payment.type')
|
||||||
Party = pool.get('party.party')
|
Party = pool.get('party.party')
|
||||||
|
changes = {}
|
||||||
|
if (not 'bank_account' in values and 'payment_type' in values
|
||||||
|
and 'party' in values):
|
||||||
|
party = Party(values['party'])
|
||||||
|
company = values.get('company',
|
||||||
|
Transaction().context.get('company'))
|
||||||
|
if values.get('payment_type'):
|
||||||
|
payment_type = PaymentType(values['payment_type'])
|
||||||
|
bank_account = cls._get_bank_account(payment_type, party,
|
||||||
|
company)
|
||||||
|
changes['bank_account'] = (bank_account and bank_account.id
|
||||||
|
or None)
|
||||||
|
return changes
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def create(cls, vlist):
|
||||||
vlist = [x.copy() for x in vlist]
|
vlist = [x.copy() for x in vlist]
|
||||||
for values in vlist:
|
for values in vlist:
|
||||||
if (not 'bank_account' in values and 'payment_type' in values
|
values.update(cls.compute_default_bank_account(values))
|
||||||
and 'party' in values):
|
|
||||||
party = Party(values['party'])
|
|
||||||
company = values.get('company',
|
|
||||||
Transaction().context.get('company'))
|
|
||||||
if values.get('payment_type'):
|
|
||||||
payment_type = PaymentType(values['payment_type'])
|
|
||||||
bank_account = cls._get_bank_account(payment_type, party,
|
|
||||||
company)
|
|
||||||
values['bank_account'] = (bank_account and bank_account.id
|
|
||||||
or None)
|
|
||||||
return super(Invoice, cls).create(vlist)
|
return super(Invoice, cls).create(vlist)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
Loading…
Reference in a new issue