From 6a32760b057cd159a9eecd80399d2edce05c7a96 Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Sat, 20 Jan 2018 01:33:02 -0600 Subject: [PATCH] Abrir PDFs grandes --- source/app/controllers/util.py | 19 +++--- source/app/main.ini.example | 3 +- source/app/main_debug.ini | 1 + source/app/models/db.py | 3 + source/app/models/main.py | 78 ++++++++++++++++++++++++ source/static/js/controller/invoices.js | 37 ++++++----- source/templates/plantilla_factura.ods | Bin 27491 -> 27582 bytes 7 files changed, 110 insertions(+), 31 deletions(-) diff --git a/source/app/controllers/util.py b/source/app/controllers/util.py index ffb2b7c..a203455 100644 --- a/source/app/controllers/util.py +++ b/source/app/controllers/util.py @@ -740,6 +740,7 @@ class LIBO(object): def _conceptos(self, data): first = True + copy = False for concepto in data: key = concepto.get('noidentificacion', '') description = concepto['descripcion'] @@ -757,18 +758,14 @@ class LIBO(object): cell_6 = self._set_cell('{importe}', importe, value=True) else: row = cell_2.getCellAddress().Row + 1 - self._sheet.getRows().insertByIndex(row, 1) - if cell_1: - self._copy_cell(cell_1) - cell_1 = self._set_cell(v=key, cell=cell_1) - if cell_3: - self._copy_cell(cell_3) - cell_3 = self._set_cell(v=unidad, cell=cell_3) - self._copy_cell(cell_2) - self._copy_cell(cell_4) - self._copy_cell(cell_5) - self._copy_cell(cell_6) + if not copy: + self._sheet.getRows().insertByIndex(row, len(data)-1) + copy = True + source = self._sheet.getRows().getByIndex(row - 1) + cell_1 = self._set_cell(v=key, cell=cell_1) + self._sheet.copyRange(cell_1.getCellAddress(), source.getRangeAddress()) cell_2 = self._set_cell(v=description, cell=cell_2) + cell_3 = self._set_cell(v=unidad, cell=cell_3) cell_4 = self._set_cell(v=cantidad, cell=cell_4, value=True) cell_5 = self._set_cell(v=valor_unitario, cell=cell_5, value=True) cell_6 = self._set_cell(v=importe, cell=cell_6, value=True) diff --git a/source/app/main.ini.example b/source/app/main.ini.example index 77a5d54..9f37e02 100644 --- a/source/app/main.ini.example +++ b/source/app/main.ini.example @@ -15,4 +15,5 @@ thunder-lock = true #~ stats = 127.0.0.1:9191 #~ Establece una ruta accesible para el servidor web logger = file:/srv/log/empresalibre-uwsgi.log -log-maxsize = 1000000 \ No newline at end of file +log-maxsize = 1000000 +http-timeout = 180 \ No newline at end of file diff --git a/source/app/main_debug.ini b/source/app/main_debug.ini index 043ea43..94481fe 100644 --- a/source/app/main_debug.ini +++ b/source/app/main_debug.ini @@ -8,3 +8,4 @@ threads = 4 py-autoreload = 1 thunder-lock = true static-map = /static=../static +http-timeout = 120 \ No newline at end of file diff --git a/source/app/models/db.py b/source/app/models/db.py index cf12c63..302db1a 100644 --- a/source/app/models/db.py +++ b/source/app/models/db.py @@ -25,6 +25,9 @@ class StorageEngine(object): return getattr(self, '_get_{}'.format(table))(values, session) return getattr(self, '_get_{}'.format(table))(values) + def _get_canopenpre(self, values): + return main.PreFacturasDetalle.can_open(values['id']) + def _get_importinvoice(self, values): return main.import_invoice() diff --git a/source/app/models/main.py b/source/app/models/main.py index cc064b1..c439a45 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -3534,6 +3534,44 @@ class PreFacturas(BaseModel): class Meta: order_by = ('fecha',) + @util.run_in_thread + def _send_in_thread(self, id, obj, values): + log.info('Generando PDF...') + files = (self.get_pdf(id),) + log.info('PDF Generado...') + + invoice = PreFacturas.select().where(PreFacturas.id==id).dicts()[0] + fields = { + 'receptor_nombre': obj.cliente.nombre, + 'receptor_rfc': obj.cliente.rfc, + } + fields.update(invoice) + + asunto = 'Enviamos la prefactura: PRE-{}'.format(obj.folio) + server = { + 'servidor': values['correo_servidor'], + 'puerto': values['correo_puerto'], + 'ssl': bool(int(values['correo_ssl'])), + 'usuario': values['correo_usuario'], + 'contra': values['correo_contra'], + } + options = { + 'para': obj.cliente.correo_facturas, + 'copia': values['correo_copia'], + 'confirmar': util.get_bool(values.get('correo_confirmacion', '0')), + 'asunto': asunto, + 'mensaje': util.make_info_mail(values['correo_mensaje'], fields), + 'files': files, + } + data= { + 'server': server, + 'options': options, + } + log.info('Enviando prefactura...') + result = util.send_mail(data) + log.info('Prefactura enviada...') + return + @classmethod def enviar(cls, id): values = Configuracion.get_({'fields': 'correo'}) @@ -3546,6 +3584,12 @@ class PreFacturas(BaseModel): msg = 'El cliente no tiene configurado el correo para facturas' return {'ok': False, 'msg': msg} + rows = PreFacturasDetalle.count(id) + if rows > 300: + cls._send_in_thread(cls, id, obj, values) + msg = 'Enviando correo...' + return {'ok': True, 'msg': msg} + files = (cls.get_pdf(id),) invoice = PreFacturas.select().where(PreFacturas.id==id).dicts()[0] @@ -3661,6 +3705,25 @@ class PreFacturas(BaseModel): return data + @util.run_in_thread + def _get_pdf_in_thread(self, id): + obj = PreFacturas.get(PreFacturas.id==id) + name = '{}{}_{}.pdf'.format(obj.serie, obj.folio, obj.cliente.rfc) + data = self._get_info_to_pdf(self, id) + doc = util.to_pdf(data, data['emisor']['rfc']) + + emisor = Emisor.select()[0] + target = emisor.rfc + '/Prefacturas/' + files = ( + (doc, name, target), + ) + util.sync_cfdi({'REPO': False}, files) + return + + @classmethod + def get_pdf_in_thread(cls, id): + return cls._get_pdf_in_thread(cls, id) + @classmethod def get_pdf(cls, id): obj = PreFacturas.get(PreFacturas.id==id) @@ -4008,6 +4071,21 @@ class PreFacturasDetalle(BaseModel): return {'rows': data, 'receptor': receptor} + @classmethod + def count(cls, id): + c = PreFacturasDetalle.select().where( + PreFacturasDetalle.factura==id).count() + return c + + @classmethod + def can_open(cls, id): + c = cls.count(id) + # ~ result = c < 300 + # ~ if result: + # ~ return True + PreFacturas.get_pdf_in_thread(id) + return c < 300 + @classmethod def get_(cls, id): data = [] diff --git a/source/static/js/controller/invoices.js b/source/static/js/controller/invoices.js index 4bc2f6f..db54fe8 100644 --- a/source/static/js/controller/invoices.js +++ b/source/static/js/controller/invoices.js @@ -1543,12 +1543,26 @@ function enviar_prefactura(id){ } -function grid_preinvoices_click(id, e, node){ - //~ var row = this.getItem(id) +function generate_pdf(id){ + webix.ajax().get('/values/canopenpre', {id: id}, { + error: function(text, data, xhr) { + }, + success: function(text, data, xhr) { + var value = data.json(); + //~ if(value){ + window.open('/doc/pre/' + id, '_blank') + //~ }else{ + //~ msg_ok('Generando prefactura...') + //~ } + } + }) +} + + +function grid_preinvoices_click(id, e, node){ if(id.column == 'pdf'){ - //~ location = '/doc/pre/' + row.id - window.open('/doc/pre/' + id, '_blank') + generate_pdf(id.row) }else if(id.column == 'email'){ enviar_prefactura(id) } @@ -1895,21 +1909,6 @@ function cmd_upload_invoice_click(){ function add_import_product_taxes(taxes){ - //~ var taxes = values.taxes - //~ var row = grid.getItem(values.id) - - //~ values['delete'] = '-' - //~ if (row == undefined){ - //~ grid.add(values) - //~ } else { - //~ values['cantidad'] = parseFloat(row.cantidad) + parseFloat(values['cantidad']) - //~ values['valor_unitario'] = parseFloat(row.valor_unitario) - //~ values['descuento'] = parseFloat(row.descuento) - //~ var precio_final = values['valor_unitario'] - values['descuento'] - //~ values['importe'] = (precio_final * values['cantidad']).round(DECIMALES) - //~ grid.updateItem(row.id, values) - //~ } - for(var v of taxes){ var pt = table_pt.findOne(v) if(pt === null){ diff --git a/source/templates/plantilla_factura.ods b/source/templates/plantilla_factura.ods index e4397928696016a7a3a9309d06b381b7ed7c33e0..3e50e6b705143b2199293abfcaca33863c022c54 100644 GIT binary patch delta 19018 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

|EaKSQvJunxv{WEsg`H4 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 b-xDFYo^FAS54x$0;2QzbLs8(WAR+i4OMYOZ