Beispiel #1
0
    def __init__(self, move_line):
        '''
        Get bank class from bank code.
            '001': 'bancodobrasil.BoletoBB',
            '041': 'banrisul.BoletoBanrisul',
            '237': 'bradesco.BoletoBradesco',
            '104': 'caixa.BoletoCaixa',
            '399': 'hsbc.BoletoHsbc',
            '341': 'itau.BoletoItau',
            '356': 'real.BoletoReal',
            '033': 'santander.BoletoSantander',
        :param bank_code:
        :return:
        '''
        if move_line:
            bank_code = move_line.payment_mode_id.bank_id.bank.bic
            if bank_code in '001':
                self.boleto = bank.get_class_for_codigo(bank_code)(7, 2)
            elif bank_code in '104':
                from pyboleto.bank.caixa_sigcb import BoletoCaixaSigcb

                self.boleto = BoletoCaixaSigcb()
            else:
                self.boleto = bank.get_class_for_codigo(bank_code)
            self.create(move_line)
Beispiel #2
0
    def __init__(self, move_line):
        '''
        Get bank class from bank code.
            '001': 'bancodobrasil.BoletoBB',
            '041': 'banrisul.BoletoBanrisul',
            '237': 'bradesco.BoletoBradesco',
            '104': 'caixa.BoletoCaixa',
            '399': 'hsbc.BoletoHsbc',
            '341': 'itau.BoletoItau',
            '356': 'real.BoletoReal',
            '033': 'santander.BoletoSantander',
        :param bank_code:
        :return:
        '''
        if move_line:
            bank_code = move_line.payment_mode_id.bank_id.bank.bic
            if bank_code in '001':
                self.boleto = bank.get_class_for_codigo(bank_code)(7, 2)
            elif bank_code in '104':
                from pyboleto.bank.caixa_sigcb import BoletoCaixaSigcb

                self.boleto = BoletoCaixaSigcb()
            else:
                self.boleto = bank.get_class_for_codigo(bank_code)
            self.create(move_line)
Beispiel #3
0
    def write_brazilian_deposit_system(self, deposit):
        deposit_data = deposit.get('Data')
        if 'data_documento' in deposit_data and deposit_data['data_documento']:
            deposit_data['data_documento'] = datetime.datetime.strptime(
                deposit_data['data_documento'], "%Y-%m-%d").date()

        if 'data_vencimento' in deposit_data and deposit_data[
                'data_vencimento']:
            deposit_data['data_vencimento'] = datetime.datetime.strptime(
                deposit_data['data_vencimento'], "%Y-%m-%d").date()

        if 'data_processamento' in deposit_data and deposit_data[
                'data_processamento']:
            deposit_data['data_processamento'] = datetime.datetime.strptime(
                deposit_data['data_processamento'], "%Y-%m-%d").date()

        buffer = StringIO()
        from pyboleto.pdf import BoletoPDF
        boleto_pdf = BoletoPDF(buffer)

        from pyboleto import bank
        ClasseBanco = bank.get_class_for_codigo(deposit_data['codigo_banco'])
        deposit_dados = ClasseBanco()
        for field_name, field_value in deposit_data.iteritems():
            if field_value:
                setattr(deposit_dados, field_name, field_value)
        boleto_pdf.drawBoleto(deposit_dados)

        self.set_header("Content-Type", "application/pdf")

        boleto_pdf.save()
        pdf_file = buffer.getvalue()

        self.write(pdf_file)
Beispiel #4
0
  def write_brazilian_deposit_system(self,deposit):
    deposit_data = deposit.get('Data')
    if 'data_documento' in deposit_data and  deposit_data['data_documento']:
      deposit_data['data_documento'] = datetime.datetime.strptime( deposit_data['data_documento'] , "%Y-%m-%d").date()

    if 'data_vencimento' in deposit_data and deposit_data['data_vencimento']:
      deposit_data['data_vencimento'] = datetime.datetime.strptime( deposit_data['data_vencimento'] , "%Y-%m-%d").date()

    if 'data_processamento' in deposit_data and deposit_data['data_processamento']:
      deposit_data['data_processamento'] = datetime.datetime.strptime( deposit_data['data_processamento'] , "%Y-%m-%d").date()

    buffer = StringIO()
    from pyboleto.pdf import BoletoPDF
    boleto_pdf = BoletoPDF(buffer)

    from pyboleto import bank
    ClasseBanco = bank.get_class_for_codigo(deposit_data['codigo_banco'])
    deposit_dados = ClasseBanco()
    for field_name, field_value in deposit_data.iteritems():
      if field_value:
        setattr(deposit_dados, field_name, field_value)
    boleto_pdf.drawBoleto(deposit_dados)


    self.set_header("Content-Type", "application/pdf")


    boleto_pdf.save()
    pdf_file = buffer.getvalue()

    self.write( pdf_file )
Beispiel #5
0
    def print_pdf_pagina(self, pdf_file):
        from pyboleto import bank

        ClasseBanco = bank.get_class_for_codigo(self.codigo_banco)

        boleto_dados = ClasseBanco()

        for field in self._meta.get_all_field_names():
            if getattr(self, field):
                setattr(boleto_dados, field, getattr(self, field))

        setattr(boleto_dados, 'nosso_numero',
                getattr(self, 'numero_documento'))

        pdf_file.drawBoleto(boleto_dados)
Beispiel #6
0
    def print_pdf_pagina(self, pdf_file):
        from pyboleto import bank

        ClasseBanco = bank.get_class_for_codigo(self.codigo_banco)

        boleto_dados = ClasseBanco()

        for field in self._meta.get_all_field_names():
            if getattr(self, field):
                setattr(boleto_dados, field, getattr(self, field))

        setattr(boleto_dados, 'nosso_numero', getattr(self,
                                                      'numero_documento'))

        pdf_file.drawBoleto(boleto_dados)
Beispiel #7
0
  def print_pdf_pagina(self, pdf_file):
    from pyboleto import bank

    ClasseBanco = bank.get_class_for_codigo(self.codigo_banco)

    boleto_dados = ClasseBanco()

    for field in self.__table__.columns:
      val = getattr(self, field.name)
      if val:
        setattr(boleto_dados, field.name, val)

    setattr(boleto_dados, 'nosso_numero', getattr(self, 'numero_documento'))

    pdf_file.drawBoleto(boleto_dados)
Beispiel #8
0
    def print_pdf_pagina(self, pdf_file):
        from pyboleto import bank

        ClasseBanco = bank.get_class_for_codigo(self.codigo_banco)

        boleto_dados = ClasseBanco()
        for field in self._meta.get_fields():
            if getattr(self, field.name):
                # if field.name == 'instrucoes':
                #    print(self.instrucoes)
                setattr(boleto_dados, field.name, getattr(self, field.name))

        setattr(boleto_dados, 'nosso_numero',
                getattr(self, 'numero_documento'))
        valor_dia = '{:.2f}'.format(self.valor*self.juros_mora_taxa/100).replace('.', ',')
        setattr(boleto_dados, 'instrucoes', self.instrucoes.format(valor_dia))

        pdf_file.drawBoleto(boleto_dados)
 def getBoletoClass(order_line):
     bank_code = order_line.src_bank_account_id.bank_id.bic
     return bank.get_class_for_codigo(bank_code)
 def getBoletoClass(move_line):
     bank_code = move_line.payment_mode_id.bank_account_id.bank_id.bic
     return bank.get_class_for_codigo(bank_code)
Beispiel #11
0
 def get_class_for_codigo(banco_codigo):
     return bank.get_class_for_codigo(banco_codigo)