From 5aaa6c1d20d537f79b96411345f86b1dbb5cec9b Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Sun, 14 Jan 2018 00:31:36 -0600 Subject: [PATCH] Administrar Usos del CFDI --- source/app/models/db.py | 6 +++ source/app/models/main.py | 16 +++++++ source/static/js/controller/admin.js | 27 +++++++++++ source/static/js/ui/admin.js | 67 +++++++++++++++++++++++----- 4 files changed, 105 insertions(+), 11 deletions(-) diff --git a/source/app/models/db.py b/source/app/models/db.py index f692540..7fc5c9e 100644 --- a/source/app/models/db.py +++ b/source/app/models/db.py @@ -143,6 +143,9 @@ class StorageEngine(object): def _get_allformasdepago(self, values): return main.SATFormaPago.get_() + def _get_allusoscfdi(self, values): + return main.SATUsoCfdi.get_all() + def _get_allusuarios(self, values, session): return main.Usuarios.get_(session['userobj']) @@ -164,6 +167,9 @@ class StorageEngine(object): def _get_formasdepagoupdate(self, values): return main.SATFormaPago.actualizar(values) + def _get_usocfdiupdate(self, values): + return main.SATUsoCfdi.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 86f6788..fdec255 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -1718,6 +1718,22 @@ class SATUsoCfdi(BaseModel): def __str__(self): return 'Uso del CFDI: {} ({})'.format(self.name, self.key) + @classmethod + def actualizar(self, values): + id = int(values['id']) + if values['field'] == 'activo': + v = {'0': False, '1': True} + q = (SATUsoCfdi + .update(**{'activo': v[values['value']]}) + .where(SATUsoCfdi.id==id)) + result = bool(q.execute()) + return {'ok': result} + + @classmethod + def get_all(self): + rows = SATUsoCfdi.select().dicts() + return tuple(rows) + @classmethod def get_id(self, key): if key is None: diff --git a/source/static/js/controller/admin.js b/source/static/js/controller/admin.js index daad7c2..7687d6e 100644 --- a/source/static/js/controller/admin.js +++ b/source/static/js/controller/admin.js @@ -33,6 +33,7 @@ var controllers = { $$('grid_admin_bancos').attachEvent('onCheck', grid_admin_bancos_on_check) $$('grid_admin_unidades').attachEvent('onCheck', grid_admin_unidades_on_check) $$('grid_admin_formasdepago').attachEvent('onCheck', grid_admin_formasdepago_on_check) + $$('grid_admin_usos_cfdi').attachEvent('onCheck', grid_admin_usos_cfdi_on_check) $$('grid_unidad_found').attachEvent('onValueSuggest', grid_unidad_found_click) $$('grid_admin_unidades').attachEvent('onItemClick', grid_admin_unidades_click) $$('grid_moneda_found').attachEvent('onValueSuggest', grid_moneda_found_click) @@ -329,6 +330,15 @@ function get_admin_formasdepago(){ } +function get_admin_usos_cfdi(){ + webix.ajax().sync().get('/values/allusoscfdi', function(text, data){ + var values = data.json() + $$('grid_admin_usos_cfdi').clearAll() + $$('grid_admin_usos_cfdi').parse(values, 'json') + }) +} + + function get_admin_usuarios(){ webix.ajax().sync().get('/values/allusuarios', function(text, data){ var values = data.json() @@ -1016,6 +1026,8 @@ function tab_sat_change(nv, ov){ get_admin_unidades() }else if(nv == 'Formas de Pago'){ get_admin_formasdepago() + }else if(nv == 'Usos de CFDI'){ + get_admin_usos_cfdi() } } @@ -1100,6 +1112,21 @@ function grid_admin_formasdepago_on_check(row, column, state){ } +function grid_admin_usos_cfdi_on_check(row, column, state){ + var values = { + id: row, + field: column, + value: state, + } + webix.ajax().get('/values/usocfdiupdate', 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/ui/admin.js b/source/static/js/ui/admin.js index 85fa332..22440dc 100644 --- a/source/static/js/ui/admin.js +++ b/source/static/js/ui/admin.js @@ -690,7 +690,6 @@ var grid_admin_unidades = { select: 'cell', adjust: true, autowidth: true, - autoheight: true, headermenu: true, columns: grid_admin_unidades_cols, on:{ @@ -714,20 +713,61 @@ var grid_admin_formasdepago_cols = [ ] +function format_bool_fisica(obj){ + if(obj.fisica){ + return 'Si' + }else{ + return 'No' + } +} + + +function format_bool_moral(obj){ + if(obj.moral){ + return 'Si' + }else{ + return 'No' + } +} + + +var grid_admin_usos_cfdi_cols = [ + {id: 'id', header: 'ID', hidden: true}, + {id: 'key', header: 'Clave'}, + {id: 'name', header: 'Nombre', width: 500}, + {id: 'fisica', header: 'FĂ­sicas', adjust: 'header', + template: format_bool_fisica}, + {id: 'moral', header: 'Morales', adjust: 'header', + template: format_bool_moral}, + {id: 'activo', header: 'Activa', template: '{common.checkbox()}', + editor: 'checkbox'}, +] + + var grid_admin_formasdepago = { view: 'datatable', id: 'grid_admin_formasdepago', select: 'cell', - //~ multiselect: true, adjust: true, autowidth: true, - //~ autoheight: true, headermenu: true, footer: true, columns: grid_admin_formasdepago_cols, } +var grid_admin_usos_cfdi = { + view: 'datatable', + id: 'grid_admin_usos_cfdi', + select: 'cell', + adjust: true, + autowidth: true, + headermenu: true, + footer: true, + columns: grid_admin_usos_cfdi_cols, +} + + var admin_sat_impuestos = {cols: [{maxWidth: 15}, {view: 'richselect', id: 'lst_admin_impuestos', label: 'Impuesto', options: ['ISR', 'IVA', 'IEPS', 'ISH', 'INSPECCION DE OBRA', 'ICIC', 'CEDULAR'], @@ -851,11 +891,11 @@ var sat_unidades = [ {cols: [{maxWidth: 15}, buscar_nueva_unidad, {}]}, {maxHeight: 20}, {cols: [{maxWidth: 15}, grid_admin_unidades, {}]}, - {}, + {maxHeight: 20}, ] -var msg_formasdepago = 'Activar las formas de pago.' +var msg_formasdepago = 'Administrar las formas de pago.' var sat_formasdepago = [ {maxHeight: 20}, {cols: [{maxWidth: 15}, {view: 'label', label: msg_formasdepago}, {}]}, @@ -865,16 +905,20 @@ var sat_formasdepago = [ ] +var msg_usos_cfdi = 'Administrar Usos del CFDI.' +var sat_usos_cfdi = [ + {maxHeight: 20}, + {cols: [{maxWidth: 15}, {view: 'label', label: msg_usos_cfdi}, {}]}, + {maxHeight: 20}, + {cols: [{maxWidth: 15}, grid_admin_usos_cfdi, {}]}, + {maxHeight: 20}, +] + + var tab_sat = { view: 'tabview', id: 'tab_sat', multiview: true, - //~ tabbar: {options: [ - //~ 'Impuestos', - //~ 'Monedas', - //~ 'Bancos', - //~ 'Unidades' - //~ ]}, animate: true, cells: [ {id: 'Impuestos', rows: sat_impuestos}, @@ -882,6 +926,7 @@ var tab_sat = { {id: 'Bancos', rows: sat_bancos}, {id: 'Unidades', rows: sat_unidades}, {id: 'Formas de Pago', rows: sat_formasdepago}, + {id: 'Usos de CFDI', rows: sat_usos_cfdi}, ], }