~akretion-team/openerp.pt-br-localiz/new-zip-search

« back to all changes in this revision

Viewing changes to l10n_br_account/l10n_br_account.py

  • Committer: Renato Lima
  • Date: 2013-02-12 01:43:55 UTC
  • Revision ID: renatonlima@gmail.com-20130212014355-9joyrjfuty556mpd
[MIGR] mudança do métodos de validação do res_partner para ser reaproveitado, corrigida rotina de exportação em txt, renomeado arquivo partner_view.xml para res_partner_view.xml

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
#along with this program.  If not, see <http://www.gnu.org/licenses/>.        #
18
18
###############################################################################
19
19
 
 
20
import re
 
21
from l10n_br_base import res_partner
20
22
from osv import osv, fields
21
23
 
22
24
 
389
391
        'cpfcpnj_type': 'cnpj',
390
392
    }
391
393
 
 
394
    def _check_cnpj_cpf(self, cr, uid, ids):
 
395
 
 
396
        for inv_related in self.browse(cr, uid, ids):
 
397
            if not inv_related.cnpj_cpf:
 
398
                continue
 
399
 
 
400
            if inv_related.cpfcpnj_type == 'cnpj':
 
401
                if not res_partner.validate_cnpj(inv_related.cnpj_cpf):
 
402
                    return False
 
403
            elif not res_partner.validate_cpf(inv_related.cnpj_cpf):
 
404
                    return False
 
405
 
 
406
        return True
 
407
 
 
408
    _constraints = [
 
409
        (_check_cnpj_cpf, u'CNPJ/CPF do documento relacionado é invalido!',
 
410
            ['cnpj_cpf']),
 
411
    ]
 
412
 
392
413
    def onchange_invoice_related_id(self, cr, uid, ids,
393
414
                                    invoice_related_id=False, context=None):
394
415
        result = {'value': {}}
456
477
            inv_related.partner_id.inscr_est or False
457
478
 
458
479
        return result
 
480
 
 
481
    def onchange_mask_cnpj_cpf(self, cr, uid, ids, cpfcpnj_type, cnpj_cpf,
 
482
                            context=None):
 
483
        result = {'value': {}}
 
484
        if cnpj_cpf:
 
485
            val = re.sub('[^0-9]', '', cnpj_cpf)
 
486
            if cpfcpnj_type == 'cnpj' and len(val) == 14:
 
487
                cnpj_cpf = "%s.%s.%s/%s-%s"\
 
488
                % (val[0:2], val[2:5], val[5:8], val[8:12], val[12:14])
 
489
            elif cpfcpnj_type == 'cpf' and len(val) == 11:
 
490
                cnpj_cpf = "%s.%s.%s-%s"\
 
491
                % (val[0:3], val[3:6], val[6:9], val[9:11])
 
492
            result['value'].update({'cnpj_cpf': cnpj_cpf})
 
493
        return result