Commit dee82066 authored by agb80's avatar agb80

refactor(res.partner.bank): actualiza a la nueva api

Actualiza todo el código a la nueva api
parent ee4af210
......@@ -2,5 +2,6 @@
* Isaac Lopez <isaac@vauxoo.com>
* Nhomar Hernandez <nhomar@vauxoo.com>
* Juan Carlos Funes <juan@vauxoo.com>
* Luis Torres <luis_t@vauxoo.com>
* Federico Cruz <federico.cruz@openpyme.mx>
* Agustín Cruz <agustin.cruz@openpyme.mx>
# -*- encoding: utf-8 -*-
###########################################################################
# Module Writen to OpenERP, Open Source Management Solution
#
# Copyright (c) 2012 Vauxoo - http://www.vauxoo.com
# All Rights Reserved.
# info@vauxoo.com
############################################################################
# Coded by: Juan Carlos Funes (juan@vauxoo.com)
# Coded by: Luis Torres (luis_t@vauxoo.com)
# Coded by: moylop260 (moylop260@vauxoo.com)
# Coded by: isaac (isaac@vauxoo.com)
############################################################################
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
# -*- coding: utf-8 -*-
import res_bank
from . import models
# -*- coding: utf-8 -*-
{
'name': 'Clabe Interbancaria',
'version': '1.0.0',
'author': 'OpenPyme',
'category': 'Localization/Mexico',
'website': 'http://openpyme.mx',
'license': 'AGPL-3',
'depends': [
'account',
"name": "Clabe Interbancaria",
"version": "1.0.0",
"author": "OpenPyme",
"category": "Localization/Mexico",
"website": "http://openpyme.mx",
"license": "AGPL-3",
"depends": ["account"],
"data": [
"views/res_partner_bank.xml",
],
'data': [
'res_bank_view.xml',
],
'installable': True,
"installable": True,
}
# -*- coding: utf-8 -*-
from . import res_partner_bank
# -*- coding: utf-8 -*-
import re
from openerp import api, fields, models
from openerp.exceptions import ValidationError
from openerp.tools.translate import _
class ResPartnerBank(models.Model):
_inherit = "res.partner.bank"
clabe = fields.Char("Clabe Interbancaria", size=64)
last_acc_number = fields.Char(
compute="_compute_last_acc_number",
string="Ultimos 4 digitos",
size=4,
store=True,
)
currency2_id = fields.Many2one("res.currency", "Currency")
reference = fields.Char("Reference", size=64, help="Reference used in this bank")
@api.multi
@api.depends("acc_number")
def _compute_last_acc_number(self):
""" Get last 4 digits from account number"""
for res_bank in self.filtered(lambda r: r.acc_number):
res_bank.last_acc_number = res_bank.acc_number[-4:]
@api.constrains("clabe")
def _check_clabe(self):
"""Ensure field Clabe is valid"""
regex = re.compile(r"[0-9]{18}")
for res_bank in self.filtered(lambda r: r.clabe):
if not regex.match(res_bank.clabe):
raise ValidationError(_("Invalid Clabe"))
if res_bank.acc_number and res_bank.acc_number not in res_bank.clabe:
raise ValidationError(_("Clabe does not correspond to given account"))
# -*- coding: utf-8 -*-
from openerp.osv import fields, osv
class res_partner_bank(osv.Model):
_inherit = 'res.partner.bank'
def _get_take_digits(self, cr, uid, ids, field, args, context=None):
if context is None:
context = {}
result = {}
res = ''
for last in self.browse(cr, uid, ids, context=context):
for digit in last.acc_number[::-1]:
if(digit.isdigit() is True) and len(res) < 4:
res = digit + res
result[last.id] = res
return result
_columns = {
'clabe': fields.char(
'Clabe Interbancaria', size=64, required=False,
),
'last_acc_number': fields.function(
_get_take_digits, method=True,
type='char', string='Ultimos 4 digitos', size=4, store=True,
),
'currency2_id': fields.many2one('res.currency', 'Currency',),
'reference': fields.char(
'Reference', size=64, help='Reference used in this bank',
),
}
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="view_partner_bank_clabe_form_inh_xml">
<field name="name">view.partner.bank.clabe.form.inh.xml</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_form"/>
<field name="arch" type="xml">
<xpath expr="/form[@string='Bank account']/group/group[@name='bank']/field[@name='bank']" position="after">
<field name="clabe" colspan="2"/>
<field name="currency2_id" colspan="2"/>
<field name="reference" colspan="2"/>
</xpath>
<xpath expr="//field[@name='acc_number']" position="after">
<field name="last_acc_number" colspan="2"/>
</xpath>
</field>
</record>
<record model="ir.ui.view" id="view_partner_bank_clabe_tree_inh_xml">
<field name="name">view.partner.bank.clabe.form.inh.xml</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_tree"/>
<field name="arch" type="xml">
<xpath expr="/tree[@string='Bank Accounts']/field[@name='bank_name']" position="after">
<field name="clabe" colspan="2"/>
</xpath>
</field>
</record>
<record model="ir.ui.view" id="view_partner_clabe_tree_inh_xml22">
<field name="name">view.partner.clabe.tree.inh.xml22</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="account.view_partner_property_form"/>
<field name="sequence">20</field>
<field name="arch" type="xml">
<xpath expr="//field[@name='bank_name']" position="after">
<field name="clabe" colspan="2"/>
<field name="currency2_id" colspan="2"/>
</xpath>
<xpath expr="//field[@name='acc_number']" position="after">
<field name="last_acc_number" colspan="2"/>
</xpath>
</field>
</record>
</data>
</openerp>
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="view_partner_bank_clabe_form_inh_xml">
<field name="name">view.partner.bank.clabe.form.inh.xml</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_form"/>
<field name="arch" type="xml">
<xpath expr="/form[@string='Bank account']/group/group[@name='bank']/field[@name='bank']" position="after">
<field name="clabe" colspan="2"/>
<field name="currency2_id" colspan="2"/>
<field name="reference" colspan="2"/>
</xpath>
<xpath expr="//field[@name='acc_number']" position="after">
<field name="last_acc_number" colspan="2"/>
</xpath>
</field>
</record>
<record model="ir.ui.view" id="view_partner_bank_clabe_tree_inh_xml">
<field name="name">view.partner.bank.clabe.form.inh.xml</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_tree"/>
<field name="arch" type="xml">
<xpath expr="/tree[@string='Bank Accounts']/field[@name='bank_name']" position="after">
<field name="clabe" colspan="2"/>
</xpath>
</field>
</record>
<record model="ir.ui.view" id="view_partner_clabe_tree_inh_xml22">
<field name="name">view.partner.clabe.tree.inh.xml22</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="account.view_partner_property_form"/>
<field name="sequence">20</field>
<field name="arch" type="xml">
<xpath expr="//field[@name='bank_name']" position="after">
<field name="clabe" colspan="2"/>
<field name="currency2_id" colspan="2"/>
</xpath>
<xpath expr="//field[@name='acc_number']" position="after">
<field name="last_acc_number" colspan="2"/>
</xpath>
</field>
</record>
</data>
</openerp>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment