Skip to content

Commit

Permalink
Merge branch 'uktechbr-10.0' into 10.0
Browse files Browse the repository at this point in the history
  • Loading branch information
danimaribeiro committed Jul 17, 2017
2 parents 8111e53 + f2c449f commit fa5a7a9
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 30 deletions.
48 changes: 33 additions & 15 deletions br_account_payment/models/account_journal.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# © 2016 Alessandro Fernandes Martini, Trustcode
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import fields, models
from odoo import api, fields, models


class AccountJournal(models.Model):
Expand All @@ -16,17 +16,35 @@ class AccountJournal(models.Model):
bank_currency_id = fields.Many2one('res.currency', string="Bank Account",
related='bank_account_id.currency_id')

def set_bank_account(self, acc_number, bank_id=None):
self.ensure_one()
vals = {
'acc_number': acc_number,
'acc_number_dig': self.acc_number_dig,
'bra_number': self.bank_agency_number,
'bra_number_dig': self.bank_agency_dig,
'bank_id': bank_id,
'company_id': self.company_id.id,
'currency_id': self.currency_id.id,
'partner_id': self.company_id.partner_id.id,
}
super(AccountJournal, self).set_bank_account(acc_number, bank_id)
self.bank_account_id.write(vals)
@api.multi
def write(self, vals):
result = super(AccountJournal, self).write(vals)
for journal in self.filtered(
lambda r: r.type == 'bank' and r.bank_account_id):
bank_account = journal.bank_account_id
if not bank_account.acc_number_dig or\
not bank_account.bra_number or\
not bank_account.bra_number_dig:
bank_account_vals = {
'acc_number_dig': vals.get('acc_number_dig'),
'bra_number': vals.get('bank_agency_number'),
'bra_number_dig': vals.get('bank_agency_dig'),
'currency_id': vals.get('bank_currency_id'),
'partner_id': vals.get('acc_partner_id'),
}
journal.bank_account_id.write(bank_account_vals)
return result

@api.model
def create(self, vals):
journal = super(AccountJournal, self).create(vals)
if journal.bank_account_id:
bank_account_vals = {
'acc_number_dig': vals.get('acc_number_dig'),
'bra_number': vals.get('bank_agency_number'),
'bra_number_dig': vals.get('bank_agency_dig'),
'currency_id': vals.get('bank_currency_id'),
'partner_id': vals.get('acc_partner_id'),
}
journal.bank_account_id.write(bank_account_vals)
return journal
32 changes: 17 additions & 15 deletions br_base/models/res_bank.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,19 +60,21 @@ class ResPartnerBank(models.Model):
bra_number = fields.Char(u'Agência', size=8)
bra_number_dig = fields.Char(u'Dígito Agência', size=8)

@api.depends('acc_number')
@api.depends('bank_id', 'acc_number', 'acc_number_dig',
'bra_number', 'bra_number_dig')
def _compute_sanitized_acc_number(self):
self.ensure_one()
if self.bank_id and self.bank_id.acc_number_format:
acc_number_format = self.bank_id.acc_number_format\
or '%(acc_number)s'
args = {
'bra_number': self.bra_number or '',
'bra_number_dig': self.bra_number_dig or '',
'acc_number': self.acc_number or '',
'acc_number_dig': self.acc_number_dig or ''
}
self.sanitized_acc_number = sanitize_account_number(
acc_number_format % args)
else:
super(ResPartnerBank, self)._compute_sanitized_acc_number()
for bank_account in self:
if bank_account.bank_id:
acc_number_format = bank_account.bank_id.acc_number_format \
or '%(acc_number)s'
args = {
'bra_number': bank_account.bra_number or '',
'bra_number_dig': bank_account.bra_number_dig or '',
'acc_number': bank_account.acc_number or '',
'acc_number_dig': bank_account.acc_number_dig or ''
}
self.sanitized_acc_number = sanitize_account_number(
acc_number_format % args)
else:
self.sanitized_acc_number = sanitize_account_number(
bank_account.acc_number)

0 comments on commit fa5a7a9

Please sign in to comment.