[FIX] minor fix

This commit is contained in:
rgarnau
2018-02-07 14:20:29 +01:00
parent 6571c7a953
commit f85682972a
4 changed files with 28 additions and 10 deletions

View File

@@ -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)

View File

@@ -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,))

View File

@@ -12,11 +12,14 @@
<field name="arch" type="xml">
<form string="Banking Mandate">
<header>
<button name="validate" type="object" string="Validate" states="draft" class="oe_highlight"/>
<button name="cancel" type="object" string="Cancel" states="draft,valid"/>
<button name="validate" type="object" string="Validate" states="draft" class="oe_highlight"
invisible="context.get('mandate_bank_partner_view')"/>
<button name="cancel" type="object" string="Cancel" states="draft,valid"
invisible="context.get('mandate_bank_partner_view')"/>
<button name="back2draft" type="object" string="Back to Draft"
states="cancel" groups="account.group_account_manager"
confirm="You should set a mandate back to draft only if you cancelled it by mistake. Do you want to continue?"/>
confirm="You should set a mandate back to draft only if you cancelled it by mistake. Do you want to continue?"
invisible="context.get('mandate_bank_partner_view')"/>
<field name="state" widget="statusbar"/>
</header>
<sheet>
@@ -58,12 +61,20 @@
<field name="model">account.banking.mandate</field>
<field name="arch" type="xml">
<tree string="Banking Mandate" colors="blue:state=='draft';black:state in ('expired', 'cancel')">
<field name="id" invisible="1"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="partner_id" invisible="context.get('mandate_bank_partner_view')"/>
<field name="format" string="Format"/>
<field name="unique_mandate_reference" string="Reference"/>
<field name="signature_date" string="Signature Date"/>
<field name="last_debit_date"/>
<button name="validate" type="object" icon="fa-check"
attrs="{'invisible': ['|', ('id', '=', False), ('state', '!=', 'draft')]}"/>
<button name="cancel" type="object" icon="fa-times"
attrs="{'invisible': ['|', ('id', '=', False), ('state', '=', 'cancel')]}"/>
<button name="back2draft" type="object" icon="fa-undo"
groups="account.group_account_manager"
attrs="{'invisible': ['|', ('id', '=', False), ('state', '!=', 'cancel')]}"/>
<field name="state"/>
</tree>
</field>

View File

@@ -13,7 +13,7 @@
<field name="arch" type="xml">
<group col="4" position="after">
<group name="mandates" string="Direct Debit Mandates">
<field name="mandate_ids" context="{'default_partner_bank_id': active_id, 'mandate_bank_partner_view': True}" nolabel="1"/>
<field name="mandate_ids" context="{'mandate_bank_partner_view': True}" nolabel="1"/>
</group>
</group>
</field>