forked from elmau/empresa-libre
Save warehouse in product details
This commit is contained in:
parent
a95a6842f9
commit
00cbe4d557
|
@ -4960,7 +4960,7 @@ class Facturas(BaseModel):
|
||||||
return result
|
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 = Configuracion.get_bool('chk_config_tax_locales')
|
||||||
tax_locales_truncate = Configuracion.get_bool('chk_config_tax_locales_truncate')
|
tax_locales_truncate = Configuracion.get_bool('chk_config_tax_locales_truncate')
|
||||||
tax_decimals = Configuracion.get_bool('chk_config_tax_decimals')
|
tax_decimals = Configuracion.get_bool('chk_config_tax_decimals')
|
||||||
|
@ -4974,6 +4974,12 @@ class Facturas(BaseModel):
|
||||||
locales_traslados = 0
|
locales_traslados = 0
|
||||||
locales_retenciones = 0
|
locales_retenciones = 0
|
||||||
|
|
||||||
|
warehouse = None
|
||||||
|
try:
|
||||||
|
warehouse = user.sucursal.warehouse
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
for product in products:
|
for product in products:
|
||||||
id_product = product.pop('id_product')
|
id_product = product.pop('id_product')
|
||||||
id_student = product.pop('id_student', 0)
|
id_student = product.pop('id_student', 0)
|
||||||
|
@ -5013,6 +5019,8 @@ class Facturas(BaseModel):
|
||||||
product['nivel'] = student.grupo.nivel.nombre
|
product['nivel'] = student.grupo.nivel.nombre
|
||||||
product['autorizacion'] = student.grupo.nivel.autorizacion.strip()
|
product['autorizacion'] = student.grupo.nivel.autorizacion.strip()
|
||||||
|
|
||||||
|
product['warehouse'] = warehouse
|
||||||
|
|
||||||
FacturasDetalle.create(**product)
|
FacturasDetalle.create(**product)
|
||||||
|
|
||||||
if tipo_comprobante == 'T':
|
if tipo_comprobante == 'T':
|
||||||
|
@ -5151,7 +5159,8 @@ class Facturas(BaseModel):
|
||||||
with database_proxy.atomic() as txn:
|
with database_proxy.atomic() as txn:
|
||||||
# ~ print('VALUES\n\n', values)
|
# ~ print('VALUES\n\n', values)
|
||||||
obj = Facturas.create(**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_relacionados(cls, obj, relacionados)
|
||||||
cls._guardar_ine(cls, obj, ine)
|
cls._guardar_ine(cls, obj, ine)
|
||||||
cls._save_leyendas_fiscales(cls, obj, leyendas_fiscales)
|
cls._save_leyendas_fiscales(cls, obj, leyendas_fiscales)
|
||||||
|
@ -5887,9 +5896,6 @@ class Facturas(BaseModel):
|
||||||
if warehouse is None:
|
if warehouse is None:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
p.warehouse = warehouse
|
|
||||||
p.save()
|
|
||||||
|
|
||||||
fields = (
|
fields = (
|
||||||
WareHouseProduct.warehouse==warehouse,
|
WareHouseProduct.warehouse==warehouse,
|
||||||
WareHouseProduct.product==p.producto,
|
WareHouseProduct.product==p.producto,
|
||||||
|
@ -10293,7 +10299,7 @@ def _migrate_tables(rfc=''):
|
||||||
columns = [c.name for c in database_proxy.get_columns(table)]
|
columns = [c.name for c in database_proxy.get_columns(table)]
|
||||||
if not 'warehouse_id' in columns:
|
if not 'warehouse_id' in columns:
|
||||||
warehouse = ForeignKeyField(Almacenes, null=True, to_field=Almacenes.id)
|
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'
|
table = 'facturasdetalle'
|
||||||
columns = [c.name for c in database_proxy.get_columns(table)]
|
columns = [c.name for c in database_proxy.get_columns(table)]
|
||||||
|
|
Loading…
Reference in New Issue