From f85682972a689a87cc6373c23cd688a60023aa5b Mon Sep 17 00:00:00 2001 From: rgarnau Date: Wed, 7 Feb 2018 14:20:29 +0100 Subject: [PATCH] [FIX] minor fix --- .../models/account_banking_mandate.py | 10 +++++++++- .../models/res_partner_bank.py | 9 ++++----- .../views/account_banking_mandate_view.xml | 17 ++++++++++++++--- .../views/res_partner_bank_view.xml | 2 +- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/account_banking_mandate/models/account_banking_mandate.py b/account_banking_mandate/models/account_banking_mandate.py index 2c4550036..65b14a04d 100644 --- a/account_banking_mandate/models/account_banking_mandate.py +++ b/account_banking_mandate/models/account_banking_mandate.py @@ -18,6 +18,13 @@ class AccountBankingMandate(models.Model): _inherit = ['mail.thread'] _order = 'signature_date desc' + def _get_default_partner_bank_id_domain(self): + if 'default_partner_id' in self.env.context: + return [('partner_id', '=', self.env.context.get( + 'default_partner_id'))] + else: + return [] + format = fields.Selection( [('basic', 'Basic Mandate')], default='basic', required=True, string='Mandate Format', track_visibility='onchange') @@ -28,7 +35,8 @@ class AccountBankingMandate(models.Model): ) partner_bank_id = fields.Many2one( comodel_name='res.partner.bank', string='Bank Account', - track_visibility='onchange') + track_visibility='onchange', + domain=lambda self: self._get_default_partner_bank_id_domain(),) partner_id = fields.Many2one( comodel_name='res.partner', related='partner_bank_id.partner_id', string='Partner', store=True) diff --git a/account_banking_mandate/models/res_partner_bank.py b/account_banking_mandate/models/res_partner_bank.py index b1b662e33..66a2442ca 100644 --- a/account_banking_mandate/models/res_partner_bank.py +++ b/account_banking_mandate/models/res_partner_bank.py @@ -15,14 +15,13 @@ class ResPartnerBank(models.Model): help='Banking mandates represent an authorization that the bank ' 'account owner gives to a company for a specific operation.') - @api.constrains('company_id', 'mandate_ids') + @api.constrains('company_id') def _company_constrains(self): for rpb in self: - if self.env['account.banking.mandate'].search( + if self.env['account.banking.mandate'].sudo().search( [('partner_bank_id', '=', rpb.id), - ('company_id', '=', rpb.company_id.id)], limit=1): + ('company_id', '!=', rpb.company_id.id)], limit=1): raise ValidationError( _("You cannot change the company of Partner Bank %s, " "as there exists mandates referencing it that " - "belong to another company.") % - (rpb.name,)) + "belong to another company.") % (rpb.display_name,)) diff --git a/account_banking_mandate/views/account_banking_mandate_view.xml b/account_banking_mandate/views/account_banking_mandate_view.xml index 2e1a4ea6c..a68179564 100644 --- a/account_banking_mandate/views/account_banking_mandate_view.xml +++ b/account_banking_mandate/views/account_banking_mandate_view.xml @@ -12,11 +12,14 @@
-
@@ -58,12 +61,20 @@ account.banking.mandate + +