diff --git a/source/app/controllers/main.py b/source/app/controllers/main.py index e60462c..0238f9d 100644 --- a/source/app/controllers/main.py +++ b/source/app/controllers/main.py @@ -698,20 +698,20 @@ class AppInventoryEntries(object): resp.status = falcon.HTTP_200 -class AppWhareHouse(object): +class AppWareHouse(object): def __init__(self, db): self._db = db def on_get(self, req, resp): values = req.params - req.context['result'] = self._db.wharehouse_get(values) + req.context['result'] = self._db.warehouse_get(values) resp.status = falcon.HTTP_200 def on_post(self, req, resp): values = req.params user = req.env['beaker.session']['userobj'] - req.context['result'] = self._db.wharehouse_post(values, user) + req.context['result'] = self._db.warehouse_post(values, user) resp.status = falcon.HTTP_200 diff --git a/source/app/main.py b/source/app/main.py index 9206d5e..560e89c 100644 --- a/source/app/main.py +++ b/source/app/main.py @@ -20,7 +20,7 @@ from controllers.main import (AppEmpresas, AppSATFormaPago, AppSATLeyendaFiscales, AppCert, AppSucursales, AppPartnerProducts, AppInventoryEntries, - AppWhareHouse, + AppWareHouse, AppUsers, ) @@ -70,7 +70,7 @@ api.add_route('/cert', AppCert(db)) api.add_route('/sucursales', AppSucursales(db)) api.add_route('/partnerproducts', AppPartnerProducts(db)) api.add_route('/inventoryentries', AppInventoryEntries(db)) -api.add_route('/wharehouse', AppWhareHouse(db)) +api.add_route('/warehouse', AppWareHouse(db)) api.add_route('/users', AppUsers(db)) diff --git a/source/app/models/db.py b/source/app/models/db.py index 94b929e..52ab501 100644 --- a/source/app/models/db.py +++ b/source/app/models/db.py @@ -487,10 +487,10 @@ class StorageEngine(object): def inventory_entries_post(self, filters, user): return main.InventoryEntries.post(filters, user) - def wharehouse_get(self, filters): + def warehouse_get(self, filters): return main.Almacenes.get_data(filters) - def wharehouse_post(self, values, user): + def warehouse_post(self, values, user): return main.Almacenes.post(values, user) def users_get(self, filters, user): diff --git a/source/app/models/main.py b/source/app/models/main.py index 1d52e4c..0350d7d 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -3428,7 +3428,7 @@ class Almacenes(BaseModel): class Sucursales(BaseModel): - wharehouse = ForeignKeyField(Almacenes, null=True) + warehouse = ForeignKeyField(Almacenes, null=True) nombre = TextField(default='') direccion = TextField(default='') serie_facturas = TextField(default='') @@ -3945,15 +3945,15 @@ class Productos(BaseModel): return bool(q.execute()) -class WhareHouseProduct(BaseModel): - wharehouse = ForeignKeyField(Almacenes) +class WareHouseProduct(BaseModel): + warehouse = ForeignKeyField(Almacenes) product = ForeignKeyField(Productos) exists = DecimalField(default=0.0, max_digits=18, decimal_places=2, auto_round=True) class Meta: indexes = ( - (('wharehouse', 'product'), True), + (('warehouse', 'product'), True), ) @@ -9860,7 +9860,7 @@ def _crear_tablas(rfc): PartnerProducts, InventoryEntries, PartnerInvoices, - WhareHouseProduct, + WareHouseProduct, ] log.info('Creando tablas...') database_proxy.create_tables(tablas, True) @@ -9917,7 +9917,7 @@ def _migrate_tables(rfc=''): PartnerProducts, InventoryEntries, PartnerInvoices, - WhareHouseProduct, + WareHouseProduct, ] log.info('Creando tablas nuevas...') database_proxy.create_tables(tablas, True) @@ -10069,9 +10069,9 @@ def _migrate_tables(rfc=''): table = 'sucursales' columns = [c.name for c in database_proxy.get_columns(table)] - if not 'wharehouse_id' in columns: - wharehouse = ForeignKeyField(Almacenes, null=True, to_field=Almacenes.id) - migrations.append(migrator.add_column(table, 'wharehouse', wharehouse)) + if not 'warehouse_id' in columns: + warehouse = ForeignKeyField(Almacenes, null=True, to_field=Almacenes.id) + migrations.append(migrator.add_column(table, 'warehouse', warehouse)) if migrations: with database_proxy.atomic() as txn: diff --git a/source/static/js/controller/admin.js b/source/static/js/controller/admin.js index 48e2019..8b4fdee 100644 --- a/source/static/js/controller/admin.js +++ b/source/static/js/controller/admin.js @@ -96,7 +96,8 @@ var controllers = { $$('chk_config_precio_con_impuestos').attachEvent('onItemClick', chk_config_item_click) $$('chk_llevar_inventario').attachEvent('onItemClick', chk_config_item_click) $$('chk_multi_stock').attachEvent('onItemClick', chk_config_item_click) - $$('cmd_add_wharehouse').attachEvent('onItemClick', cmd_add_wharehouse_click) + $$('cmd_add_warehouse').attachEvent('onItemClick', cmd_add_warehouse_click) + $$('grid_warehouse').attachEvent('onItemClick', grid_warehouse_click) //~ $$('chk_use_packing').attachEvent('onItemClick', chk_config_item_click) //~ Complements @@ -2513,26 +2514,24 @@ function admin_config_other_options(id){ }else{ $$('chk_multi_stock').setValue(0) $$('chk_multi_stock').disable() - set_visible_wharehouse(false) + set_visible_warehouse(false) disable_config_option('chk_multi_stock') } }else if(id=='chk_multi_stock'){ - set_visible_wharehouse(value) + set_visible_warehouse(value) } } -function set_visible_wharehouse(value){ +function set_visible_warehouse(value){ if(value){ - //~ $$('template_add_wharehouse').show() - $$('txt_add_wharehouse').show() - $$('cmd_add_wharehouse').show() - $$('grid_warehouse').load('/wharehouse?opt=all') + $$('txt_add_warehouse').show() + $$('cmd_add_warehouse').show() + $$('grid_warehouse').load('/warehouse?opt=all') $$('grid_warehouse').show() }else{ - //~ $$('template_add_wharehouse').hide() - $$('txt_add_wharehouse').hide() - $$('cmd_add_wharehouse').hide() + $$('txt_add_warehouse').hide() + $$('cmd_add_warehouse').hide() $$('grid_warehouse').hide() } } @@ -2963,8 +2962,8 @@ function disable_config_option(id){ } -function cmd_add_wharehouse_click(){ - var value = $$('txt_add_wharehouse').getValue().trim() +function cmd_add_warehouse_click(){ + var value = $$('txt_add_warehouse').getValue().trim() if(!value){ msg = 'El nombre del almacen es requerido' @@ -2981,20 +2980,20 @@ function cmd_add_wharehouse_click(){ text: msg, callback:function(result){ if(result){ - add_wharehouse(value) + add_warehouse(value) } } }) } -function add_wharehouse(name){ +function add_warehouse(name){ var grid = $$('grid_warehouse') var data = { opt: 'create', values: {name: name}, } - webix.ajax().post('/wharehouse', data, { + webix.ajax().post('/warehouse', data, { error:function(text, data, XmlHttpRequest){ msg = 'Ocurrio un error, consulta a soporte técnico' msg_error(msg) @@ -3002,7 +3001,7 @@ function add_wharehouse(name){ success:function(text, data, XmlHttpRequest){ var values = data.json() if(values.ok){ - $$('txt_add_wharehouse').setValue('') + $$('txt_add_warehouse').setValue('') if(values.msg){ msg_ok(values.msg) }else{ @@ -3016,3 +3015,42 @@ function add_wharehouse(name){ }) } + +function grid_warehouse_click(id, e, node){ + if(id.column != 'delete'){ + return + } + + var data = { + opt: 'delete', + values: {id: id.row}, + } + + msg = '¿Estás seguro de borrar el almacen seleccionado?

ESTA ACCIÓN NO SE PUEDE DESHACER' + webix.confirm({ + title: 'Borrar Almacen', + ok: 'Si', + cancel: 'No', + type: 'confirm-error', + text: msg, + callback:function(result){ + if(result){ + webix.ajax().post('/warehouse', data, { + error:function(text, data, XmlHttpRequest){ + msg = 'Ocurrio un error, consulta a soporte técnico' + msg_error(msg) + }, + success:function(text, data, XmlHttpRequest){ + var values = data.json() + if(values.ok){ + $$('grid_warehouse').remove(id.row) + msg_ok('Almacen eliminado correctamente') + }else{ + msg_error(values.msg) + } + } + }) + } + } + }) +} diff --git a/source/static/js/ui/admin.js b/source/static/js/ui/admin.js index 3d949cd..c22dd6e 100644 --- a/source/static/js/ui/admin.js +++ b/source/static/js/ui/admin.js @@ -800,11 +800,11 @@ var options_admin_products = [ {cols: [{maxWidth: 30}, {view: 'checkbox', id: 'chk_multi_stock', labelWidth: 15, labelRight: 'Multialmacen', disabled: true}]}, {cols: [{maxWidth: 30}, {rows: [ - {template: 'Agregar Almacen', type: 'section', id: 'template_add_wharehouse'}, + {template: 'Agregar Almacen', type: 'section', id: 'template_add_warehouse'}, {cols: [ - {view: 'text', id: 'txt_add_wharehouse', label: 'Nombre: ', + {view: 'text', id: 'txt_add_warehouse', label: 'Nombre: ', labelPosition: 'left', required: true}, - {view: 'button', id: 'cmd_add_wharehouse', label: 'Agregar', + {view: 'button', id: 'cmd_add_warehouse', label: 'Agregar', autowidth: true, type: 'iconButton', icon: 'plus'}, ]}, {template: 'Almacenes', type: 'section'},