From 00cbe4d557e27911558117ba98a91a58b519ded8 Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Sun, 3 Oct 2021 22:12:05 -0500 Subject: [PATCH] Save warehouse in product details --- source/app/models/main.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/source/app/models/main.py b/source/app/models/main.py index a6cb2e6..0caabbf 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -4960,7 +4960,7 @@ class Facturas(BaseModel): return result - def _calculate_totals(self, invoice, products, tipo_comprobante): + def _calculate_totals(self, invoice, products, tipo_comprobante, user): tax_locales = Configuracion.get_bool('chk_config_tax_locales') tax_locales_truncate = Configuracion.get_bool('chk_config_tax_locales_truncate') tax_decimals = Configuracion.get_bool('chk_config_tax_decimals') @@ -4974,6 +4974,12 @@ class Facturas(BaseModel): locales_traslados = 0 locales_retenciones = 0 + warehouse = None + try: + warehouse = user.sucursal.warehouse + except: + pass + for product in products: id_product = product.pop('id_product') id_student = product.pop('id_student', 0) @@ -5013,6 +5019,8 @@ class Facturas(BaseModel): product['nivel'] = student.grupo.nivel.nombre product['autorizacion'] = student.grupo.nivel.autorizacion.strip() + product['warehouse'] = warehouse + FacturasDetalle.create(**product) if tipo_comprobante == 'T': @@ -5151,7 +5159,8 @@ class Facturas(BaseModel): with database_proxy.atomic() as txn: # ~ print('VALUES\n\n', values) obj = Facturas.create(**values) - totals = cls._calculate_totals(cls, obj, productos, tipo_comprobante) + totals = cls._calculate_totals( + cls, obj, productos, tipo_comprobante, user) cls._guardar_relacionados(cls, obj, relacionados) cls._guardar_ine(cls, obj, ine) cls._save_leyendas_fiscales(cls, obj, leyendas_fiscales) @@ -5887,9 +5896,6 @@ class Facturas(BaseModel): if warehouse is None: continue - p.warehouse = warehouse - p.save() - fields = ( WareHouseProduct.warehouse==warehouse, WareHouseProduct.product==p.producto, @@ -10293,7 +10299,7 @@ def _migrate_tables(rfc=''): columns = [c.name for c in database_proxy.get_columns(table)] if not 'warehouse_id' in columns: warehouse = ForeignKeyField(Almacenes, null=True, to_field=Almacenes.id) - migrations.append(migrator.add_column(table, 'warehouse', warehouse)) + migrations.append(migrator.add_column(table, 'warehouse_id', warehouse)) table = 'facturasdetalle' columns = [c.name for c in database_proxy.get_columns(table)]