From 582e318dae6f05054e9ddd27e555973f259d13cc Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Sun, 12 Nov 2017 17:49:06 -0600 Subject: [PATCH] =?UTF-8?q?Administrar=20unidades=20en=20configuraci=C3=B3?= =?UTF-8?q?n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/app/models/db.py | 6 ++++ source/app/models/main.py | 27 +++++++++++++++++ source/static/js/controller/admin.js | 28 ++++++++++++++++++ source/static/js/controller/invoices.js | 3 -- source/static/js/ui/admin.js | 39 +++++++++++++++++++++++-- 5 files changed, 98 insertions(+), 5 deletions(-) diff --git a/source/app/models/db.py b/source/app/models/db.py index b196f3c..ea6fe5c 100644 --- a/source/app/models/db.py +++ b/source/app/models/db.py @@ -94,6 +94,9 @@ class StorageEngine(object): def _get_allbancos(self, values): return main.SATBancos.get_() + def _get_allunidades(self, values): + return main.SATUnidades.get_() + def _get_taxupdate(self, values): return main.SATImpuestos.actualizar(values) @@ -103,6 +106,9 @@ class StorageEngine(object): def _get_bancoupdate(self, values): return main.SATBancos.actualizar(values) + def _get_unidadupdate(self, values): + return main.SATUnidades.actualizar(values) + def _get_emisorcuentasbanco(self, values): return main.CuentasBanco.emisor() diff --git a/source/app/models/main.py b/source/app/models/main.py index c56a31c..4546800 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -574,6 +574,32 @@ class SATUnidades(BaseModel): (('key', 'name'), True), ) + @classmethod + def get_(self): + rows = SATUnidades.select().dicts() + return tuple(rows) + + @classmethod + def actualizar(self, values): + id = int(values['id']) + if values['field'] == 'activo': + v = {'0': False, '1': True} + q = (SATUnidades + .update(**{'activo': v[values['value']]}) + .where(SATUnidades.id==id)) + result = bool(q.execute()) + elif values['field'] == 'default': + q = SATUnidades.update(**{'default': False}) + q.execute() + + v = {'false': False, 'true': True} + q = (SATUnidades + .update(**{'default': v[values['value']]}) + .where(SATUnidades.id==id)) + result = bool(q.execute()) + + return {'ok': result} + @classmethod def get_activos(cls): rows = (SATUnidades @@ -1319,6 +1345,7 @@ class Facturas(BaseModel): fecha_cancelacion = DateTimeField(null=True) acuse = TextField(default='') donativo = BooleanField(default=False) + anticipo = BooleanField(default=False) tipo_relacion = TextField(default='') error = TextField(default='') diff --git a/source/static/js/controller/admin.js b/source/static/js/controller/admin.js index 664734f..187d6c9 100644 --- a/source/static/js/controller/admin.js +++ b/source/static/js/controller/admin.js @@ -29,6 +29,7 @@ var controllers = { $$('grid_admin_taxes').attachEvent('onCheck', grid_admin_taxes_on_check) $$('grid_admin_monedas').attachEvent('onCheck', grid_admin_monedas_on_check) $$('grid_admin_bancos').attachEvent('onCheck', grid_admin_bancos_on_check) + $$('grid_admin_unidades').attachEvent('onCheck', grid_admin_unidades_on_check) //~ Opciones tb_options = $$('tab_options').getTabbar() tb_options.attachEvent('onChange', tab_options_change) @@ -271,6 +272,15 @@ function get_admin_bancos(){ } +function get_admin_unidades(){ + webix.ajax().sync().get('/values/allunidades', function(text, data){ + var values = data.json() + $$('grid_admin_unidades').clearAll() + $$('grid_admin_unidades').parse(values, 'json') + }) +} + + function get_config_values(opt){ if(opt == undefined){ return @@ -804,6 +814,8 @@ function tab_sat_change(nv, ov){ get_admin_monedas() }else if(nv == 'Bancos'){ get_admin_bancos() + }else if(nv == 'Unidades'){ + get_admin_unidades() } } @@ -856,6 +868,22 @@ function grid_admin_bancos_on_check(row, column, state){ } +function grid_admin_unidades_on_check(row, column, state){ + + var values = { + id: row, + field: column, + value: state, + } + webix.ajax().get('/values/unidadupdate', values, { + error: function(text, data, xhr) { + }, + success: function(text, data, xhr) { + } + }) +} + + function emisor_cuenta_saldo_inicial_change(new_value, old_value){ if(!isFinite(new_value)){ this.config.value = old_value diff --git a/source/static/js/controller/invoices.js b/source/static/js/controller/invoices.js index f486f06..dea788e 100644 --- a/source/static/js/controller/invoices.js +++ b/source/static/js/controller/invoices.js @@ -1320,6 +1320,3 @@ function filter_cfdi_month_change(nv, ov){ cmd_filter_relacionados_click() } - - - diff --git a/source/static/js/ui/admin.js b/source/static/js/ui/admin.js index 2c7da08..758bba8 100644 --- a/source/static/js/ui/admin.js +++ b/source/static/js/ui/admin.js @@ -470,6 +470,17 @@ var grid_admin_bancos_cols = [ ] +var grid_admin_unidades_cols = [ + {id: 'id', header: 'ID', hidden: true}, + {id: 'key', header: 'Clave'}, + {id: 'name', header: 'Nombre', adjust: 'data'}, + {id: 'activo', header: 'Activa', template: '{common.checkbox()}', + editor: 'checkbox'}, + {id: 'default', header: 'Predeterminada', template: '{common.radio()}', + adjust: 'header'}, +] + + var grid_admin_taxes = { view: 'datatable', id: 'grid_admin_taxes', @@ -509,6 +520,20 @@ var grid_admin_bancos = { } +var grid_admin_unidades = { + view: 'datatable', + id: 'grid_admin_unidades', + select: 'cell', + multiselect: true, + adjust: true, + autowidth: true, + autoheight: true, + headermenu: true, + footer: true, + columns: grid_admin_unidades_cols +} + + var msg_tax = 'Activa los impuestos que uses. El predeterminado se muestra primero' var sat_impuestos = [ {maxHeight: 20}, @@ -527,7 +552,7 @@ var sat_monedas = [ {}] -var msg_bancos = 'Activa los bancos que uses.' +var msg_bancos = 'Activar los bancos necesarios' var sat_bancos = [ {maxHeight: 20}, {cols: [{maxWidth: 15}, {view: 'label', label: msg_bancos}, {}]}, @@ -537,6 +562,16 @@ var sat_bancos = [ ] +var msg_unidades = 'Activar las unidades necesarias' +var sat_unidades = [ + {maxHeight: 20}, + {cols: [{maxWidth: 15}, {view: 'label', label: msg_unidades}, {}]}, + {maxHeight: 20}, + {cols: [{maxWidth: 15}, grid_admin_unidades, {}]}, + {}, +] + + var tab_sat = { view: 'tabview', id: 'tab_sat', @@ -552,7 +587,7 @@ var tab_sat = { {id: 'Impuestos', rows: sat_impuestos}, {id: 'Monedas', rows: sat_monedas}, {id: 'Bancos', rows: sat_bancos}, - {id: 'Unidades', rows: [{}]}, + {id: 'Unidades', rows: sat_unidades}, ] }