diff --git a/source/app/controllers/main.py b/source/app/controllers/main.py index 5c25183..1981b6e 100644 --- a/source/app/controllers/main.py +++ b/source/app/controllers/main.py @@ -809,3 +809,15 @@ class AppSATRegimenes(object): user = req.env['beaker.session']['userobj'] req.context['result'] = self._db.sat_regimenes_get(values, user) resp.status = falcon.HTTP_200 + + +class AppSociosRegimenes(object): + + def __init__(self, db): + self._db = db + + def on_get(self, req, resp): + values = req.params + user = req.env['beaker.session']['userobj'] + req.context['result'] = self._db.socios_regimenes_get(values, user) + resp.status = falcon.HTTP_200 diff --git a/source/app/main.py b/source/app/main.py index 9eddc7a..05fcb02 100644 --- a/source/app/main.py +++ b/source/app/main.py @@ -26,6 +26,7 @@ from controllers.main import (AppEmpresas, AppWareHouseProduct, AppSATUnidadesPeso, AppSATRegimenes, + AppSociosRegimenes, ) @@ -80,6 +81,7 @@ api.add_route('/ticketsdetails', AppTicketsDetails(db)) api.add_route('/users', AppUsers(db)) api.add_route('/satunidadespeso', AppSATUnidadesPeso(db)) api.add_route('/satregimenes', AppSATRegimenes(db)) +api.add_route('/sociosregimenes', AppSociosRegimenes(db)) session_options = { diff --git a/source/app/models/db.py b/source/app/models/db.py index 80a0ba3..e410cd2 100644 --- a/source/app/models/db.py +++ b/source/app/models/db.py @@ -529,6 +529,9 @@ class StorageEngine(object): def sat_regimenes_get(self, filters, user): return main.SATRegimenes.get_data(filters, user) + def socios_regimenes_get(self, filters, user): + return main.SociosRegimenes.get_data(filters, user) + # Companies only in MV def _get_empresas(self, values): return main.companies_get() diff --git a/source/app/models/main.py b/source/app/models/main.py index 8a9f14d..b223ae1 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -3100,7 +3100,7 @@ class SociosRegimenes(BaseModel): ) @classmethod - def get_by_key(self, socio): + def get_by_key(cls, socio, user=None): fields = (SATRegimenes.key.alias('id'), SATRegimenes.name.alias('value')) where = (SociosRegimenes.socio == socio) regimenes = (SociosRegimenes @@ -3112,7 +3112,7 @@ class SociosRegimenes(BaseModel): return tuple(regimenes) @classmethod - def get_by_socio(self, socio): + def get_by_socio(cls, socio, user=None): fields = (SATRegimenes.id,) where = (SociosRegimenes.socio == socio) regimenes = (SociosRegimenes @@ -3124,6 +3124,17 @@ class SociosRegimenes(BaseModel): regimenes = [r[0] for r in regimenes] return regimenes + @classmethod + def _get_by_id(cls, filters, user): + id = int(filters['id']) + return cls.get_by_key(id) + + @classmethod + def get_data(cls, filters, user): + # ~ print('FILERS', filters) + opt = filters['opt'] + return getattr(cls, f'_get_{opt}')(filters, user) + class Contactos(BaseModel): socio = ForeignKeyField(Socios) diff --git a/source/static/js/controller/invoices.js b/source/static/js/controller/invoices.js index 93bd0ba..6005efc 100644 --- a/source/static/js/controller/invoices.js +++ b/source/static/js/controller/invoices.js @@ -935,7 +935,11 @@ function set_client(row){ var lst = $$('lst_invoice_client_regimen') lst.getList().clearAll() if(row.regimenes==undefined){ - msg_ok('traer regimenes') + var options = {opt: 'by_id', id: row.id} + webix.ajax().sync().get('/sociosregimenes', options, function(text, data){ + var values = data.json() + lst.getList().parse(values) + }) }else{ lst.getList().parse(row.regimenes) }