Add Our bank account
This commit is contained in:
@@ -263,10 +263,17 @@ class Purchase(metaclass=PoolMeta):
|
||||
bank_accounts = fields.Function(
|
||||
fields.Many2Many('bank.account', None, None, "Bank Accounts"),
|
||||
'on_change_with_bank_accounts')
|
||||
bank_account = fields.Many2One(
|
||||
'bank.account', "Bank Account",
|
||||
domain=[('id', 'in', Eval('bank_accounts', []))],
|
||||
depends=['bank_accounts'])
|
||||
bank_account = fields.Many2One(
|
||||
'bank.account', "Bank Account",
|
||||
domain=[('id', 'in', Eval('bank_accounts', []))],
|
||||
depends=['bank_accounts'])
|
||||
our_bank_accounts = fields.Function(
|
||||
fields.Many2Many('bank.account', None, None, "Our Bank Accounts"),
|
||||
'on_change_with_our_bank_accounts')
|
||||
our_bank_account = fields.Many2One(
|
||||
'bank.account', "Our Bank Account",
|
||||
domain=[('id', 'in', Eval('our_bank_accounts', []))],
|
||||
depends=['our_bank_accounts'])
|
||||
from_location = fields.Many2One('stock.location', 'From location', required=True,domain=[('type', "!=", 'customer')])
|
||||
to_location = fields.Many2One('stock.location', 'To location', required=True,domain=[('type', "!=", 'supplier')])
|
||||
shipment_in = fields.Many2One('stock.shipment.in','Purchases')
|
||||
@@ -324,22 +331,52 @@ class Purchase(metaclass=PoolMeta):
|
||||
return account
|
||||
return party_bank_accounts[0]
|
||||
|
||||
def _get_default_our_bank_account(self):
|
||||
if (not self.company or not self.company.party
|
||||
or not self.company.party.bank_accounts):
|
||||
return None
|
||||
company_bank_accounts = list(self.company.party.bank_accounts)
|
||||
if self.currency:
|
||||
for account in company_bank_accounts:
|
||||
if account.currency == self.currency:
|
||||
return account
|
||||
return company_bank_accounts[0]
|
||||
|
||||
@fields.depends('party', '_parent_party.bank_accounts')
|
||||
def on_change_with_bank_accounts(self, name=None):
|
||||
if self.party and self.party.bank_accounts:
|
||||
return [account.id for account in self.party.bank_accounts]
|
||||
return []
|
||||
|
||||
@fields.depends(
|
||||
'company', 'party', 'invoice_party', 'payment_term', 'lines',
|
||||
'bank_account', '_parent_party.bank_accounts')
|
||||
|
||||
@fields.depends('company', '_parent_company.party',
|
||||
'_parent_company.party.bank_accounts')
|
||||
def on_change_with_our_bank_accounts(self, name=None):
|
||||
if (self.company and self.company.party
|
||||
and self.company.party.bank_accounts):
|
||||
return [account.id for account in self.company.party.bank_accounts]
|
||||
return []
|
||||
|
||||
@fields.depends(
|
||||
'company', 'party', 'invoice_party', 'payment_term', 'lines',
|
||||
'bank_account', 'our_bank_account', '_parent_party.bank_accounts',
|
||||
'_parent_company.party', '_parent_company.party.bank_accounts')
|
||||
def on_change_party(self):
|
||||
super().on_change_party()
|
||||
self.bank_account = self._get_default_bank_account()
|
||||
self.our_bank_account = self._get_default_our_bank_account()
|
||||
|
||||
@fields.depends('party', 'currency', '_parent_party.bank_accounts')
|
||||
@fields.depends(
|
||||
'party', 'company', 'currency', '_parent_party.bank_accounts',
|
||||
'_parent_company.party', '_parent_company.party.bank_accounts')
|
||||
def on_change_currency(self):
|
||||
self.bank_account = self._get_default_bank_account()
|
||||
self.our_bank_account = self._get_default_our_bank_account()
|
||||
|
||||
@fields.depends('company', 'currency', 'our_bank_account',
|
||||
'_parent_company.party', '_parent_company.party.bank_accounts')
|
||||
def on_change_company(self):
|
||||
super().on_change_company()
|
||||
self.our_bank_account = self._get_default_our_bank_account()
|
||||
|
||||
@classmethod
|
||||
def default_wb(cls):
|
||||
|
||||
Reference in New Issue
Block a user