Add filter by sucursal

This commit is contained in:
Mauricio Baeza 2020-02-24 22:35:24 -06:00
commit a202f12a17
7 changed files with 39 additions and 18 deletions

View File

@ -1,4 +1,9 @@
v 1.35.0 [24-feb-2020]
----------------------
- Mejora: Filtrado de documentos por sucursal
v 1.34.1 [09-feb-2020]
----------------------
- Error: Al timbrar nómina de asimilados

View File

@ -1 +1 @@
1.34.0
1.35.0

View File

@ -38,7 +38,7 @@ try:
from .conf import DEBUG, AUTH
except ImportError:
DEBUG = False
log.error('Need make conf.py')
log.debug('Need make conf.py')
TIMEOUT = 10

View File

@ -302,7 +302,8 @@ class AppInvoices(object):
def on_get(self, req, resp):
values = req.params
req.context['result'] = self._db.get_invoices(values)
session = req.env['beaker.session']
req.context['result'] = self._db.get_invoices(values, session['userobj'])
resp.status = falcon.HTTP_200
def on_post(self, req, resp):
@ -356,7 +357,8 @@ class AppTickets(object):
def on_get(self, req, resp):
values = req.params
req.context['result'] = self._db.get_tickets(values)
session = req.env['beaker.session']
req.context['result'] = self._db.get_tickets(values, session['userobj'])
resp.status = falcon.HTTP_200
def on_post(self, req, resp):

View File

@ -378,12 +378,12 @@ class StorageEngine(object):
if opt == 'print':
return main.Tickets.printer(values)
def get_tickets(self, values):
return main.Tickets.get_by(values)
def get_tickets(self, values, user):
return main.Tickets.get_by(values, user)
def get_invoices(self, filters):
def get_invoices(self, filters, user):
if filters.get('by', ''):
return main.Facturas.get_by(filters)
return main.Facturas.get_by(filters, user)
return main.Facturas.get_(filters)
def get_preinvoices(self, values):

View File

@ -2640,7 +2640,7 @@ class Socios(BaseModel):
SATUsoCfdi.key.alias('uso_cfdi'))
.join(SATFormaPago, JOIN.LEFT_OUTER).switch(Socios)
.join(SATUsoCfdi, JOIN.LEFT_OUTER).switch(Socios)
.where((Socios.es_cliente==True) &
.where((Socios.es_cliente==True & Socios.es_activo==True) &
(Socios.rfc.contains(name) |
Socios.nombre.contains(name)))
.dicts())
@ -3788,7 +3788,14 @@ class Facturas(BaseModel):
return filters
def _get_invoices(self, filters):
def _get_invoices(self, filters, user):
filter_serie = False
if not user.sucursal is None and not user.sucursal.serie_facturas is None:
filter_serie = (Facturas.serie==user.sucursal.serie_facturas)
if filter_serie:
filters &= filter_serie
rows = tuple(Facturas.select(
Facturas.id,
Facturas.serie,
@ -3811,19 +3818,19 @@ class Facturas(BaseModel):
)
return {'ok': True, 'rows': rows}
def _get_by_dates(self, filters):
def _get_by_dates(self, filters, user):
filters = self._get_filters(self, filters)
return self._get_invoices(self, filters)
return self._get_invoices(self, filters, user)
def _get_by_notes(self, filters):
def _get_by_notes(self, filters, user):
notes = filters['notes']
filters = self._get_filters(self, filters)
filters &= (Facturas.notas.contains(notes))
return self._get_invoices(self, filters)
return self._get_invoices(self, filters, user)
@classmethod
def get_by(cls, filters):
return getattr(cls, f"_get_by_{filters['by']}")(cls, filters)
def get_by(cls, filters, user):
return getattr(cls, f"_get_by_{filters['by']}")(cls, filters, user)
@classmethod
def filter_years(cls):
@ -7220,9 +7227,16 @@ class Tickets(BaseModel):
return
@classmethod
def get_by(cls, values):
def get_by(cls, values, user):
filter_serie = False
if not user.sucursal is None and not user.sucursal.serie_tickets is None:
filter_serie = (Tickets.serie==user.sucursal.serie_tickets)
filters = cls._get_filters(cls, values)
if filter_serie:
filters = filters & filter_serie
rows = tuple(Tickets
.select(
Tickets.id,

View File

@ -47,7 +47,7 @@ except ImportError:
DEBUG = DEBUG
VERSION = '1.34.1'
VERSION = '1.35.0'
EMAIL_SUPPORT = ('soporte@empresalibre.mx',)
TITLE_APP = '{} v{}'.format(TITLE_APP, VERSION)