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

79 lines
1.9 KiB
Python

#!/usr/bin/env python3
import falcon
from . import util
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
result = self._db.authenticate(values['user'], values['pass'])
resp.body = util.dumps(result)
if result['login']:
session.save()
session['user'] = result['user']
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('/')
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
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
print ('VALUES', values)
if values['id'] == '0':
del values['id']
req.context['result'] = self._db.new_partner(values)
else:
req.context['result'] = self._db.update_partner(values)
resp.status = falcon.HTTP_200
def on_delete(self, req, resp):
values = req.params
if self._db.delete_partner(values['id']):
resp.status = falcon.HTTP_200
else:
resp.status = falcon.HTTP_204