main #7

Merged
admin merged 620 commits from main into dev 2026-03-29 13:03:25 +00:00
2 changed files with 44 additions and 28 deletions
Showing only changes of commit 10848ed533 - Show all commits

View File

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

View File

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