empresa-libre/source/app/controllers/main.py

342 lines
9.3 KiB
Python
Raw Normal View History

2017-06-28 23:55:53 -05:00
#!/usr/bin/env python3
import falcon
from middleware import get_template
class AppLogin(object):
template = 'login.html'
def __init__(self, db):
self._db = db
@falcon.after(get_template)
def on_get(self, req, resp):
resp.status = falcon.HTTP_200
def on_post(self, req, resp):
session = req.env['beaker.session']
values = req.params
2017-10-12 12:40:05 -05:00
values['rfc'] = values['rfc'].upper()
2017-11-22 00:46:23 -06:00
result, user = self._db.authenticate(values)
2017-06-28 23:55:53 -05:00
if result['login']:
session.save()
2017-11-22 00:46:23 -06:00
session['userobj'] = user
2017-06-28 23:55:53 -05:00
session['user'] = result['user']
2017-09-30 23:14:44 -05:00
session['rfc'] = values['rfc']
2017-09-21 23:24:18 -05:00
req.context['result'] = result
2017-06-28 23:55:53 -05:00
resp.status = falcon.HTTP_200
class AppLogout(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp):
session = req.env['beaker.session']
session.delete()
resp.status = falcon.HTTP_200
raise falcon.HTTPTemporaryRedirect('/')
2017-09-21 23:24:18 -05:00
class AppAdmin(object):
template = 'admin.html'
def __init__(self, db):
self._db = db
@falcon.after(get_template)
def on_get(self, req, resp):
resp.status = falcon.HTTP_200
2017-06-28 23:55:53 -05:00
class AppMain(object):
template = 'main.html'
def __init__(self, db):
self._db = db
@falcon.after(get_template)
def on_get(self, req, resp):
resp.status = falcon.HTTP_200
2017-10-02 00:12:22 -05:00
class AppValues(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp, table):
values = req.params
2017-11-22 00:46:23 -06:00
if table == 'admin':
session = req.env['beaker.session']
req.context['result'] = session['userobj'].es_admin
else:
req.context['result'] = self._db.get_values(table, values)
2017-10-02 00:12:22 -05:00
resp.status = falcon.HTTP_200
2017-11-15 00:12:55 -06:00
def on_delete(self, req, resp, table):
values = req.params
if self._db.delete(table, values['id']):
resp.status = falcon.HTTP_200
else:
resp.status = falcon.HTTP_204
2017-10-08 22:01:19 -05:00
def on_post(self, req, resp, table):
file_object = req.get_param('upload')
if file_object is None:
session = req.env['beaker.session']
values = req.params
2017-10-16 00:02:51 -05:00
if table == 'correo':
req.context['result'] = self._db.validate_email(values)
elif table == 'sendmail':
req.context['result'] = self._db.send_email(values, session)
2017-11-05 19:53:27 -06:00
elif table == 'enviarprefac':
req.context['result'] = self._db.enviar_prefac(values)
2017-11-14 20:04:01 -06:00
elif table == 'addunidad':
req.context['result'] = self._db.add_unidad(values)
2017-11-15 00:12:55 -06:00
elif table == 'addimpuesto':
req.context['result'] = self._db.add_impuesto(values)
2017-10-16 00:02:51 -05:00
else:
req.context['result'] = self._db.validate_cert(values, session)
2017-10-08 22:01:19 -05:00
else:
req.context['result'] = self._db.add_cert(file_object)
resp.status = falcon.HTTP_200
2017-11-03 14:09:34 -06:00
class AppFiles(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp, table):
values = req.params
resp.status = falcon.HTTP_200
def on_post(self, req, resp, table):
session = req.env['beaker.session']
file_object = req.get_param('upload')
req.context['result'] = self._db.upload_file(session, table, file_object)
resp.status = falcon.HTTP_200
2017-10-16 00:02:51 -05:00
class AppConfig(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp):
values = req.params
req.context['result'] = self._db.get_config(values)
resp.status = falcon.HTTP_200
def on_post(self, req, resp):
values = req.params
req.context['result'] = self._db.add_config(values)
resp.status = falcon.HTTP_200
2017-10-02 00:12:22 -05:00
2017-06-28 23:55:53 -05:00
class AppPartners(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp):
values = req.params
req.context['result'] = self._db.get_partners(values)
resp.status = falcon.HTTP_200
def on_post(self, req, resp):
values = req.params
req.context['result'] = self._db.partner(values)
2017-06-28 23:55:53 -05:00
resp.status = falcon.HTTP_200
def on_delete(self, req, resp):
values = req.params
if self._db.delete('partner', values['id']):
2017-06-28 23:55:53 -05:00
resp.status = falcon.HTTP_200
else:
resp.status = falcon.HTTP_204
2017-10-04 00:11:49 -05:00
class AppProducts(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp):
values = req.params
req.context['result'] = self._db.get_products(values)
resp.status = falcon.HTTP_200
def on_post(self, req, resp):
values = req.params
req.context['result'] = self._db.product(values)
resp.status = falcon.HTTP_200
def on_delete(self, req, resp):
values = req.params
if self._db.delete('product', values['id']):
resp.status = falcon.HTTP_200
else:
resp.status = falcon.HTTP_204
2017-10-06 00:10:27 -05:00
class AppInvoices(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp):
values = req.params
req.context['result'] = self._db.get_invoices(values)
resp.status = falcon.HTTP_200
def on_post(self, req, resp):
values = req.params
req.context['result'] = self._db.invoice(values)
resp.status = falcon.HTTP_200
def on_delete(self, req, resp):
values = req.params
if self._db.delete('invoice', values['id']):
resp.status = falcon.HTTP_200
else:
resp.status = falcon.HTTP_204
2017-10-07 23:52:11 -05:00
2017-11-05 00:13:48 -06:00
class AppPreInvoices(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp):
values = req.params
req.context['result'] = self._db.get_preinvoices(values)
resp.status = falcon.HTTP_200
def on_post(self, req, resp):
values = req.params
req.context['result'] = self._db.preinvoice(values)
resp.status = falcon.HTTP_200
def on_delete(self, req, resp):
values = req.params
if self._db.delete('preinvoice', values['id']):
resp.status = falcon.HTTP_200
else:
resp.status = falcon.HTTP_204
2017-10-07 23:52:11 -05:00
class AppEmisor(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp):
values = req.params
session = req.env['beaker.session']
req.context['result'] = self._db.get_emisor(session['rfc'])
resp.status = falcon.HTTP_200
def on_post(self, req, resp):
values = req.params
req.context['result'] = self._db.emisor(values)
resp.status = falcon.HTTP_200
def on_delete(self, req, resp):
values = req.params
if self._db.delete('invoice', values['id']):
resp.status = falcon.HTTP_200
else:
resp.status = falcon.HTTP_204
2017-10-09 23:34:16 -05:00
2017-11-11 23:58:11 -06:00
class AppCuentasBanco(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp):
values = req.params
session = req.env['beaker.session']
2017-11-16 22:49:17 -06:00
req.context['result'] = self._db.get_cuentasbanco(values)
2017-11-11 23:58:11 -06:00
resp.status = falcon.HTTP_200
def on_post(self, req, resp):
values = req.params
req.context['result'] = self._db.cuentasbanco(values)
resp.status = falcon.HTTP_200
2017-11-17 14:13:39 -06:00
def on_delete(self, req, resp):
values = req.params
if self._db.delete('cuentasbanco', values['id']):
resp.status = falcon.HTTP_200
else:
resp.status = falcon.HTTP_204
2017-11-11 23:58:11 -06:00
2017-11-17 00:38:06 -06:00
class AppMovimientosBanco(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp):
values = req.params
session = req.env['beaker.session']
req.context['result'] = self._db.get_movimientosbanco(values)
resp.status = falcon.HTTP_200
def on_post(self, req, resp):
values = req.params
2017-11-21 00:48:51 -06:00
req.context['result'] = self._db.add_movbanco(values)
2017-11-17 00:38:06 -06:00
resp.status = falcon.HTTP_200
2017-11-23 23:56:03 -06:00
def on_delete(self, req, resp):
values = req.params
if self._db.delete('movbanco', values['id']):
resp.status = falcon.HTTP_200
else:
resp.status = falcon.HTTP_204
2017-11-17 00:38:06 -06:00
2017-10-09 23:34:16 -05:00
class AppFolios(object):
def __init__(self, db):
self._db = db
def on_get(self, req, resp):
values = req.params
req.context['result'] = self._db.get_folios()
resp.status = falcon.HTTP_200
def on_post(self, req, resp):
values = req.params
req.context['result'] = self._db.add_folios(values)
resp.status = falcon.HTTP_200
def on_delete(self, req, resp):
values = req.params
if self._db.delete('folios', values['id']):
resp.status = falcon.HTTP_200
else:
resp.status = falcon.HTTP_204
2017-10-10 22:42:11 -05:00
class AppDocumentos(object):
def __init__(self, db):
self._db = db
#~ self._not_json = True
def on_get(self, req, resp, type_doc, id_doc):
2017-10-15 02:30:55 -05:00
session = req.env['beaker.session']
2017-10-10 22:42:11 -05:00
req.context['result'], file_name, content_type = \
2017-10-15 02:30:55 -05:00
self._db.get_doc(type_doc, id_doc, session['rfc'])
2017-10-10 22:42:11 -05:00
resp.append_header('Content-Disposition',
'attachment; filename={}'.format(file_name))
resp.content_type = content_type
resp.status = falcon.HTTP_200