flaschengeist/geruecht/vorstand/routes.py

107 lines
2.9 KiB
Python
Raw Normal View History

2020-01-18 22:31:49 +00:00
from flask import Blueprint, request, jsonify
from datetime import datetime
import geruecht.controller.userController as uc
from geruecht.decorator import login_required
2020-01-18 22:31:49 +00:00
from geruecht.model import MONEY, GASTRO
2020-01-23 22:27:26 +00:00
import time
2020-01-18 22:31:49 +00:00
vorstand = Blueprint("vorstand", __name__)
userController = uc.UserController()
2020-01-18 22:31:49 +00:00
@vorstand.route("/sm/addUser", methods=['POST', 'GET'])
@login_required(groups=[MONEY, GASTRO])
def _addUser(**kwargs):
2020-01-18 22:31:49 +00:00
if request.method == 'GET':
return "<h1>HEllo World</h1>"
data = request.get_json()
user = data['user']
day = data['day']
month = data['month']
year = data['year']
date = datetime(year,month,day,12)
retVal = userController.addWorker(user['username'], date)
print(retVal)
return jsonify(retVal)
@vorstand.route("/sm/getUser", methods=['POST'])
@login_required(groups=[MONEY, GASTRO])
def _getUser(**kwargs):
data = request.get_json()
day = data['day']
month = data['month']
year = data['year']
date = datetime(year, month, day, 12)
2020-02-23 21:31:22 +00:00
lockedDay = userController.getLockedDay(date)
if not lockedDay:
lockedDay = {
'date': {
'year': year,
'month': month,
'day': day
},
'locked': False
}
else:
lockedDay = {
'date': {
'year': year,
'month': month,
'day': day
},
'locked': lockedDay['locked']
}
retVal = {
'worker': userController.getWorker(date),
2020-02-23 21:31:22 +00:00
'day': lockedDay
}
print(retVal)
return jsonify(retVal)
2020-01-18 22:31:49 +00:00
@vorstand.route("/sm/deleteUser", methods=['POST'])
@login_required(groups=[MONEY, GASTRO])
def _deletUser(**kwargs):
data = request.get_json()
user = data['user']
day = data['day']
month = data['month']
year = data['year']
date = datetime(year, month, day, 12)
userController.deleteWorker(user['username'], date)
2020-02-24 11:19:52 +00:00
return jsonify({"ok": "ok"})
@vorstand.route("/sm/lockDay", methods=['POST'])
@login_required(groups=[MONEY, GASTRO])
def _lockDay(**kwargs):
try:
data = request.get_json()
year = data['year']
month = data['month']
day = data['day']
locked = data['locked']
date = datetime(year, month, day, 12)
lockedDay = userController.setLockedDay(date, locked, True)
if not lockedDay:
retVal = {
'date': {
'year': year,
'month': month,
'day': day
},
'locked': False
}
else:
retVal = {
'date': {
'year': year,
'month': month,
'day': day
},
'locked': lockedDay['locked']
}
print(retVal)
return jsonify(retVal)
except Exception as err:
return jsonify({'error': err}), 409