79 lines
1.9 KiB
Python
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
|