mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
[account_banking_mandate] fixes to support multicompany
This commit is contained in:
@@ -157,11 +157,27 @@ class AccountBankingMandate(models.Model):
|
||||
'account.banking.mandate') or 'New'
|
||||
return super(AccountBankingMandate, self).create(vals)
|
||||
|
||||
@api.multi
|
||||
@api.onchange('company_id')
|
||||
def _onchange_company_id(self):
|
||||
res = {}
|
||||
partner_domain = self._get_default_partner_bank_id_domain()
|
||||
if self.company_id:
|
||||
if self.partner_bank_id and \
|
||||
self.company_id and \
|
||||
self.partner_bank_id.company_id and \
|
||||
self.partner_bank_id.company_id != self.company_id:
|
||||
self.partner_bank_id = False
|
||||
partner_domain.append(('company_id', '=', self.company_id.id))
|
||||
domain = {'partner_bank_id': partner_domain}
|
||||
else:
|
||||
domain = {
|
||||
'partner_bank_id': partner_domain}
|
||||
res['domain'] = domain
|
||||
return res
|
||||
|
||||
@api.onchange('partner_bank_id')
|
||||
def mandate_partner_bank_change(self):
|
||||
for mandate in self:
|
||||
mandate.partner_id = mandate.partner_bank_id.partner_id
|
||||
self.partner_id = self.partner_bank_id.partner_id
|
||||
|
||||
@api.multi
|
||||
def validate(self):
|
||||
|
||||
@@ -66,7 +66,8 @@ class AccountInvoice(models.Model):
|
||||
|
||||
def set_mandate(self):
|
||||
if self.payment_mode_id.payment_method_id.mandate_required:
|
||||
self.mandate_id = self.partner_id.valid_mandate_id
|
||||
self.mandate_id = self.partner_id.with_context(
|
||||
force_company=self.company_id.id).valid_mandate_id
|
||||
else:
|
||||
self.mandate_id = False
|
||||
|
||||
|
||||
@@ -72,6 +72,9 @@ class TestMandate(TransactionCase):
|
||||
mandate.partner_bank_id = bank_account_2
|
||||
mandate.mandate_partner_bank_change()
|
||||
self.assertEquals(mandate.partner_id, bank_account_2.partner_id)
|
||||
mandate.company_id = self.company_2
|
||||
mandate._onchange_company_id()
|
||||
self.assertFalse(mandate.partner_bank_id)
|
||||
|
||||
def test_constrains_01(self):
|
||||
bank_account = self.env.ref('account_payment_mode.res_partner_12_iban')
|
||||
|
||||
Reference in New Issue
Block a user