Move fields mandate_required and export_ascii from payment mode to payment method

Display chatter on payment orders
Several small usability improvements
This commit is contained in:
Alexis de Lattre
2016-05-10 23:16:31 +02:00
committed by Enric Tobella
parent 218c2d2be6
commit 1e4588b5b1
5 changed files with 22 additions and 7 deletions

View File

@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<data noupdate="1">
<record id="sepa_direct_debit" model="account.payment.method">
<field name="name">SEPA Direct Debit for customers</field>
<field name="code">sepa_direct_debit</field>
<field name="payment_type">inbound</field>
<field name="mandate_required" eval="True"/>
<field name="pain_version">pain.008.001.02</field>
</record>

View File

@@ -9,7 +9,6 @@
<field name="bank_account_link">variable</field>
<field name="payment_method_id" ref="sepa_direct_debit"/>
<field name="default_journal_ids" search="[('type', 'in', ('sale', 'sale_refund'))]"/>
<field name="mandate_required" eval="True"/>
</record>
<record id="base.main_company" model="res.company">

View File

@@ -16,6 +16,7 @@ logger = logging.getLogger(__name__)
class AccountBankingMandate(models.Model):
"""SEPA Direct Debit Mandate"""
_inherit = 'account.banking.mandate'
_rec_name = 'display_name'
format = fields.Selection(
selection_add=[('sepa', 'Sepa Mandate')], default='sepa')
@@ -35,6 +36,7 @@ class AccountBankingMandate(models.Model):
('B2B', 'Enterprise (B2B)')],
string='Scheme', default="CORE", track_visibility='onchange')
unique_mandate_reference = fields.Char(size=35) # cf ISO 20022
display_name = fields.Char(compute='compute_display_name', store=True)
@api.multi
@api.constrains('type', 'recurrent_sequence_type')
@@ -46,6 +48,18 @@ class AccountBankingMandate(models.Model):
_("The recurrent mandate '%s' must have a sequence type.")
% mandate.unique_mandate_reference)
@api.multi
@api.depends('unique_mandate_reference', 'recurrent_sequence_type')
def compute_display_name(self):
for mandate in self:
if mandate.format == 'sepa':
name = '%s (%s)' % (
mandate.unique_mandate_reference,
mandate.recurrent_sequence_type)
else:
name = mandate.unique_mandate_reference
mandate.display_name = name
@api.multi
@api.onchange('partner_bank_id')
def mandate_partner_bank_change(self):

View File

@@ -62,11 +62,12 @@ class AccountPaymentOrder(models.Model):
"Payment Type Code supported for SEPA Direct Debit are "
"'pain.008.001.02', 'pain.008.001.03' and "
"'pain.008.001.04'.") % pain_flavor)
xsd_file = self.payment_mode_id.payment_method_id.get_xsd_file_path()
pay_method = self.payment_mode_id.payment_method_id
xsd_file = pay_method.get_xsd_file_path()
gen_args = {
'bic_xml_tag': bic_xml_tag,
'name_maxsize': name_maxsize,
'convert_to_ascii': self.payment_mode_id.convert_to_ascii,
'convert_to_ascii': pay_method.convert_to_ascii,
'payment_method': 'DD',
'file_prefix': 'sdd_',
'pain_flavor': pain_flavor,

View File

@@ -17,13 +17,13 @@
<field name="inherit_id" ref="account_banking_mandate.view_mandate_form"/>
<field name="arch" type="xml">
<field name="partner_id" position="after">
<field name="scheme" attrs="{'invisible': [('format', '!=', 'sepa')],
'required': [('format', '=', 'sepa')]}"/>
<field name="type" attrs="{'invisible': [('format', '!=', 'sepa')],
'required': [('format', '=', 'sepa')]}"/>
<field name="recurrent_sequence_type"
attrs="{'invisible': ['|', ('type', '=', 'oneoff'), ('format', '!=', 'sepa')],
'required': [('type', '=', 'recurrent')]}"/>
<field name="scheme" attrs="{'invisible': [('format', '!=', 'sepa')],
'required': [('format', '=', 'sepa')]}"/>
</field>
</field>
</record>
@@ -34,8 +34,8 @@
<field name="inherit_id" ref="account_banking_mandate.view_mandate_tree"/>
<field name="arch" type="xml">
<field name="unique_mandate_reference" position="after">
<field name="type" string="Type"/>
<field name="scheme"/>
<field name="type" string="Type"/>
<field name="recurrent_sequence_type" string="Sequence Type"/>
</field>
</field>