This commit is contained in:
2026-03-25 20:17:57 +01:00
parent b90d65d245
commit 10848ed533
2 changed files with 44 additions and 28 deletions

View File

@@ -296,30 +296,38 @@ class Purchase(metaclass=PoolMeta):
lc_date = fields.Date("LC date")
product_origin = fields.Char("Origin")
def get_company_info(self,name):
return (self.company.party.name == 'MELYA')
@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 []
def get_company_info(self,name):
return (self.company.party.name == 'MELYA')
def _get_default_bank_account(self):
if not self.party or not self.party.bank_accounts:
return None
party_bank_accounts = list(self.party.bank_accounts)
if self.currency:
for account in party_bank_accounts:
if account.currency == self.currency:
return account
return party_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')
def on_change_party(self):
super().on_change_party()
if self.party and self.party.bank_accounts:
party_bank_accounts = list(self.party.bank_accounts)
if (not self.bank_account
or self.bank_account not in party_bank_accounts):
self.bank_account = party_bank_accounts[0]
else:
self.bank_account = None
@classmethod
def default_wb(cls):
'bank_account', '_parent_party.bank_accounts')
def on_change_party(self):
super().on_change_party()
self.bank_account = self._get_default_bank_account()
@fields.depends('party', 'currency', '_parent_party.bank_accounts')
def on_change_currency(self):
self.bank_account = self._get_default_bank_account()
@classmethod
def default_wb(cls):
WB = Pool().get('purchase.weight.basis')
wb = WB.search(['id','>',0])
if wb:

View File

@@ -263,6 +263,16 @@ class Sale(metaclass=PoolMeta):
def get_company_info(self,name):
return (self.company.party.name == 'MELYA')
def _get_default_bank_account(self):
if not self.party or not self.party.bank_accounts:
return None
party_bank_accounts = list(self.party.bank_accounts)
if self.currency:
for account in party_bank_accounts:
if account.currency == self.currency:
return account
return party_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:
@@ -274,13 +284,11 @@ class Sale(metaclass=PoolMeta):
'payment_term', 'lines', 'bank_account', '_parent_party.bank_accounts')
def on_change_party(self):
super().on_change_party()
if self.party and self.party.bank_accounts:
party_bank_accounts = list(self.party.bank_accounts)
if (not self.bank_account
or self.bank_account not in party_bank_accounts):
self.bank_account = party_bank_accounts[0]
else:
self.bank_account = None
self.bank_account = self._get_default_bank_account()
@fields.depends('party', 'currency', '_parent_party.bank_accounts')
def on_change_currency(self):
self.bank_account = self._get_default_bank_account()
@classmethod
def default_wb(cls):