comprobante.py
1.31 KB
# -*- coding: utf-8 -*-
from odoo import models, fields, api, exceptions
from odoo.exceptions import UserError, ValidationError, Warning, RedirectWarning
import base64
class asw_comprobante(models.Model):
_inherit = 'asw.comprobante'
_order = 'id desc'
tipo_comprobante_lappa = fields.Char(string='Tipo de comprobante',
readonly=True, compute="_tipo_comprobante_lappa")
@api.depends('tipo_comprobante_lappa')
def _tipo_comprobante_lappa(self):
adap = {"fac":"Factura","rec":"Recivo"}
for rec in self:
tal = rec.comp_talonario.tal_menu
if tal in ["fac","rec"]:
tipo = adap[tal]
else:
tipo = "otro"
rec.tipo_comprobante_lappa = tipo
def DescargarPDF(self,val):
if len(self) != 1:
raise Warning("Seleccione un regisrto")
print(val)
rec = self.sudo(8)# usuario que pueda imprimir bien
result = rec.imprimir()
report_action = rec.env[result['type']]._get_report_from_name(result['report_name'])
pdf = report_action.render_aeroo([rec.id], {'context': rec.env.context})
nombre_pdf = pdf[2].replace(' ', '').replace(".pdf.pdf",".pdf")
contenido = base64.b64encode(pdf[0])
return({"filename":nombre_pdf,"file":contenido})