Merge branch 'feature/pricelist' into develop
This commit is contained in:
commit
c52eca58c5
|
@ -38,9 +38,11 @@ from geruecht.baruser.routes import baruser
|
||||||
from geruecht.finanzer.routes import finanzer
|
from geruecht.finanzer.routes import finanzer
|
||||||
from geruecht.user.routes import user
|
from geruecht.user.routes import user
|
||||||
from geruecht.vorstand.routes import vorstand
|
from geruecht.vorstand.routes import vorstand
|
||||||
|
from geruecht.gastro.routes import gastrouser
|
||||||
|
|
||||||
LOGGER.info("Registrate bluebrints")
|
LOGGER.info("Registrate bluebrints")
|
||||||
app.register_blueprint(baruser)
|
app.register_blueprint(baruser)
|
||||||
app.register_blueprint(finanzer)
|
app.register_blueprint(finanzer)
|
||||||
app.register_blueprint(user)
|
app.register_blueprint(user)
|
||||||
app.register_blueprint(vorstand)
|
app.register_blueprint(vorstand)
|
||||||
|
app.register_blueprint(gastrouser)
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
from flask import Blueprint, request, jsonify
|
from flask import Blueprint, request, jsonify
|
||||||
import geruecht.controller as gc
|
|
||||||
import geruecht.controller.ldapController as lc
|
import geruecht.controller.ldapController as lc
|
||||||
import geruecht.controller.userController as uc
|
import geruecht.controller.userController as uc
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
@ -8,7 +7,7 @@ from geruecht.decorator import login_required
|
||||||
|
|
||||||
baruser = Blueprint("baruser", __name__)
|
baruser = Blueprint("baruser", __name__)
|
||||||
|
|
||||||
ldap= lc.LDAPController(gc.ldapConfig['URL'], gc.ldapConfig['dn'])
|
ldap= lc.LDAPController()
|
||||||
userController = uc.UserController()
|
userController = uc.UserController()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -368,6 +368,128 @@ class DatabaseController(metaclass=Singleton):
|
||||||
self.db.connection.rollback()
|
self.db.connection.rollback()
|
||||||
raise DatabaseExecption("Something went wrong with Database: {}".format(err))
|
raise DatabaseExecption("Something went wrong with Database: {}".format(err))
|
||||||
|
|
||||||
|
def getPriceList(self):
|
||||||
|
try:
|
||||||
|
cursor = self.db.connection.cursor()
|
||||||
|
cursor.execute("select * from pricelist")
|
||||||
|
return cursor.fetchall()
|
||||||
|
except Exception as err:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.db.connection.rollback()
|
||||||
|
raise DatabaseExecption("Something went wrong with Database: {}".format(err))
|
||||||
|
|
||||||
|
def getDrinkPrice(self, name):
|
||||||
|
try:
|
||||||
|
cursor = self.db.connection.cursor()
|
||||||
|
if type(name) == str:
|
||||||
|
sql = "select * from pricelist where name='{}'".format(name)
|
||||||
|
elif type(name) == int:
|
||||||
|
sql = 'select * from pricelist where id={}'.format(name)
|
||||||
|
else:
|
||||||
|
raise DatabaseExecption("name as no type int or str. name={}, type={}".format(name, type(name)))
|
||||||
|
cursor.execute(sql)
|
||||||
|
return cursor.fetchone()
|
||||||
|
except Exception as err:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.db.connection.rollback()
|
||||||
|
raise DatabaseExecption("Something went wrong with Database: {}".format(err))
|
||||||
|
|
||||||
|
def setDrinkPrice(self, drink):
|
||||||
|
try:
|
||||||
|
cursor = self.db.connection.cursor()
|
||||||
|
cursor.execute(
|
||||||
|
"insert into pricelist (name, price, price_big, price_club, price_club_big, premium, premium_club, price_extern_club, type) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
|
||||||
|
(
|
||||||
|
drink['name'], drink['price'], drink['price_big'], drink['price_club'], drink['price_club_big'],
|
||||||
|
drink['premium'], drink['premium_club'], drink['price_extern_club'], drink['type']))
|
||||||
|
self.db.connection.commit()
|
||||||
|
return self.getDrinkPrice(str(drink['name']))
|
||||||
|
except Exception as err:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.db.connection.rollback()
|
||||||
|
raise DatabaseExecption("Something went wrong with Database: {}".format(err))
|
||||||
|
|
||||||
|
def updateDrinkPrice(self, drink):
|
||||||
|
try:
|
||||||
|
cursor = self.db.connection.cursor()
|
||||||
|
cursor.execute("update pricelist set name=%s, price=%s, price_big=%s, price_club=%s, price_club_big=%s, premium=%s, premium_club=%s, price_extern_club=%s, type=%s where id=%s",
|
||||||
|
(
|
||||||
|
drink['name'], drink['price'], drink['price_big'], drink['price_club'], drink['price_club_big'], drink['premium'], drink['premium_club'], drink['price_extern_club'], drink['type'], drink['id']
|
||||||
|
))
|
||||||
|
self.db.connection.commit()
|
||||||
|
return self.getDrinkPrice(drink['id'])
|
||||||
|
except Exception as err:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.db.connection.rollback()
|
||||||
|
raise DatabaseExecption("Something went wrong with Database: {}".format(err))
|
||||||
|
|
||||||
|
def deleteDrink(self, drink):
|
||||||
|
try:
|
||||||
|
cursor = self.db.connection.cursor()
|
||||||
|
cursor.execute("delete from pricelist where id={}".format(drink['id']))
|
||||||
|
self.db.connection.commit()
|
||||||
|
except Exception as err:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.db.connection.rollback()
|
||||||
|
raise DatabaseExecption("Something went worng with Database: {}".format(err))
|
||||||
|
|
||||||
|
def getDrinkType(self, name):
|
||||||
|
try:
|
||||||
|
cursor = self.db.connection.cursor()
|
||||||
|
if type(name) == str:
|
||||||
|
sql = "select * from drink_type where name='{}'".format(name)
|
||||||
|
elif type(name) == int:
|
||||||
|
sql = 'select * from drink_type where id={}'.format(name)
|
||||||
|
else:
|
||||||
|
raise DatabaseExecption("name as no type int or str. name={}, type={}".format(name, type(name)))
|
||||||
|
cursor.execute(sql)
|
||||||
|
return cursor.fetchone()
|
||||||
|
except Exception as err:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.db.connection.rollback()
|
||||||
|
raise DatabaseExecption("Something went wrong with Database: {}".format(err))
|
||||||
|
|
||||||
|
def setDrinkType(self, name):
|
||||||
|
try:
|
||||||
|
cursor = self.db.connection.cursor()
|
||||||
|
cursor.execute("insert into drink_type (name) values ('{}')".format(name))
|
||||||
|
self.db.connection.commit()
|
||||||
|
return self.getDrinkType(name)
|
||||||
|
except Exception as err:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.db.connection.rollback()
|
||||||
|
raise DatabaseExecption("Something went worng with Database: {}".format(err))
|
||||||
|
|
||||||
|
def updateDrinkType(self, type):
|
||||||
|
try:
|
||||||
|
cursor = self.db.connection.cursor()
|
||||||
|
cursor.execute("update drink_type set name='{}' where id={}".format(type['name'], type['id']))
|
||||||
|
self.db.connection.commit()
|
||||||
|
return self.getDrinkType(type['id'])
|
||||||
|
except Exception as err:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.db.connection.rollback()
|
||||||
|
raise DatabaseExecption("Something went worng with Database: {}".format(err))
|
||||||
|
|
||||||
|
def deleteDrinkType(self, type):
|
||||||
|
try:
|
||||||
|
cursor = self.db.connection.cursor()
|
||||||
|
cursor.execute("delete from drink_type where id={}".format(type['id']))
|
||||||
|
self.db.connection.commit()
|
||||||
|
except Exception as err:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.db.connection.rollback()
|
||||||
|
raise DatabaseExecption("Something went wrong with Database: {}".format(err))
|
||||||
|
|
||||||
|
def getAllDrinkTypes(self):
|
||||||
|
try:
|
||||||
|
cursor = self.db.connection.cursor()
|
||||||
|
cursor.execute('select * from drink_type')
|
||||||
|
return cursor.fetchall()
|
||||||
|
except Exception as err:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.db.connection.rollback()
|
||||||
|
raise DatabaseExecption("Something went worng with Database: {}".format(err))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
db = DatabaseController()
|
db = DatabaseController()
|
||||||
|
|
|
@ -5,6 +5,7 @@ from geruecht.model import MONEY, USER, GASTRO, BAR
|
||||||
from geruecht.exceptions import PermissionDenied
|
from geruecht.exceptions import PermissionDenied
|
||||||
from . import Singleton
|
from . import Singleton
|
||||||
from geruecht.exceptions import UsernameExistLDAP, LDAPExcetpion
|
from geruecht.exceptions import UsernameExistLDAP, LDAPExcetpion
|
||||||
|
from geruecht import ldapConfig
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
class LDAPController(metaclass=Singleton):
|
class LDAPController(metaclass=Singleton):
|
||||||
|
@ -12,8 +13,8 @@ class LDAPController(metaclass=Singleton):
|
||||||
Authentification over LDAP. Create Account on-the-fly
|
Authentification over LDAP. Create Account on-the-fly
|
||||||
'''
|
'''
|
||||||
|
|
||||||
def __init__(self, dn='dc=ldap,dc=example,dc=local'):
|
def __init__(self):
|
||||||
self.dn = dn
|
self.dn = ldapConfig['dn']
|
||||||
self.ldap = ldap
|
self.ldap = ldap
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ from datetime import datetime, timedelta
|
||||||
from geruecht.exceptions import UsernameExistLDAP, UsernameExistDB, DatabaseExecption, LDAPExcetpion, DayLocked, TansactJobIsAnswerdException
|
from geruecht.exceptions import UsernameExistLDAP, UsernameExistDB, DatabaseExecption, LDAPExcetpion, DayLocked, TansactJobIsAnswerdException
|
||||||
|
|
||||||
db = dc.DatabaseController()
|
db = dc.DatabaseController()
|
||||||
ldap = lc.LDAPController(ldapConfig['dn'])
|
ldap = lc.LDAPController()
|
||||||
emailController = ec.EmailController(mailConfig['URL'], mailConfig['user'], mailConfig['passwd'], mailConfig['crypt'], mailConfig['port'], mailConfig['email'])
|
emailController = ec.EmailController(mailConfig['URL'], mailConfig['user'], mailConfig['passwd'], mailConfig['crypt'], mailConfig['port'], mailConfig['email'])
|
||||||
|
|
||||||
class UserController(metaclass=Singleton):
|
class UserController(metaclass=Singleton):
|
||||||
|
@ -17,6 +17,33 @@ class UserController(metaclass=Singleton):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def deleteDrinkType(self, type):
|
||||||
|
db.deleteDrinkType(type)
|
||||||
|
|
||||||
|
def updateDrinkType(self, type):
|
||||||
|
return db.updateDrinkType(type)
|
||||||
|
|
||||||
|
def setDrinkType(self, type):
|
||||||
|
return db.setDrinkType(type)
|
||||||
|
|
||||||
|
def deletDrinkPrice(self, drink):
|
||||||
|
db.deleteDrink(drink)
|
||||||
|
|
||||||
|
def setDrinkPrice(self, drink):
|
||||||
|
retVal = db.setDrinkPrice(drink)
|
||||||
|
return retVal
|
||||||
|
|
||||||
|
def updateDrinkPrice(self, drink):
|
||||||
|
retVal = db.updateDrinkPrice(drink)
|
||||||
|
return retVal
|
||||||
|
|
||||||
|
def getAllDrinkTypes(self):
|
||||||
|
return db.getAllDrinkTypes()
|
||||||
|
|
||||||
|
def getPricelist(self):
|
||||||
|
list = db.getPriceList()
|
||||||
|
return list
|
||||||
|
|
||||||
def setTransactJob(self, from_user, to_user, date):
|
def setTransactJob(self, from_user, to_user, date):
|
||||||
jobtransact = db.setTransactJob(from_user, to_user, date.date())
|
jobtransact = db.setTransactJob(from_user, to_user, date.date())
|
||||||
emailController.sendMail(jobtransact['to_user'], 'jobtransact', jobtransact)
|
emailController.sendMail(jobtransact['to_user'], 'jobtransact', jobtransact)
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
from flask import request, jsonify, Blueprint
|
||||||
|
from geruecht.decorator import login_required
|
||||||
|
import geruecht.controller.userController as uc
|
||||||
|
from geruecht.model import GASTRO
|
||||||
|
|
||||||
|
gastrouser = Blueprint('gastrouser', __name__)
|
||||||
|
|
||||||
|
userController = uc.UserController()
|
||||||
|
|
||||||
|
@gastrouser.route('/gastro/setDrink', methods=['POST'])
|
||||||
|
@login_required(groups=[GASTRO])
|
||||||
|
def setDrink(**kwargs):
|
||||||
|
try:
|
||||||
|
data = request.get_json()
|
||||||
|
retVal = userController.setDrinkPrice(data)
|
||||||
|
return jsonify(retVal)
|
||||||
|
except Exception as err:
|
||||||
|
return jsonify({"error": str(err)}), 500
|
||||||
|
|
||||||
|
@gastrouser.route('/gastro/updateDrink', methods=['POST'])
|
||||||
|
@login_required(groups=[GASTRO])
|
||||||
|
def updateDrink(**kwargs):
|
||||||
|
try:
|
||||||
|
data = request.get_json()
|
||||||
|
retVal = userController.updateDrinkPrice(data)
|
||||||
|
return jsonify(retVal)
|
||||||
|
except Exception as err:
|
||||||
|
return jsonify({"error": str(err)}), 500
|
||||||
|
|
||||||
|
@gastrouser.route('/gastro/deleteDrink', methods=['POST'])
|
||||||
|
@login_required(groups=[GASTRO])
|
||||||
|
def deleteDrink(**kwargs):
|
||||||
|
try:
|
||||||
|
data = request.get_json()
|
||||||
|
id = data['id']
|
||||||
|
retVal = userController.deletDrinkPrice({"id": id})
|
||||||
|
return jsonify({"ok": "ok"})
|
||||||
|
except Exception as err:
|
||||||
|
return jsonify({"error": str(err)}), 500
|
||||||
|
|
||||||
|
@gastrouser.route('/gastro/setDrinkType', methods=['POST'])
|
||||||
|
@login_required(groups=[GASTRO])
|
||||||
|
def setType(**kwark):
|
||||||
|
try:
|
||||||
|
data = request.get_json()
|
||||||
|
name = data['name']
|
||||||
|
retVal = userController.setDrinkType(name)
|
||||||
|
return jsonify(retVal)
|
||||||
|
except Exception as err:
|
||||||
|
return jsonify({"error": str(err)}), 500
|
||||||
|
|
||||||
|
@gastrouser.route('/gastro/updateDrinkType', methods=['POST'])
|
||||||
|
@login_required(groups=[GASTRO])
|
||||||
|
def updateType(**kwargs):
|
||||||
|
try:
|
||||||
|
data = request.get_json()
|
||||||
|
retVal = userController.updateDrinkType(data)
|
||||||
|
return jsonify(retVal)
|
||||||
|
except Exception as err:
|
||||||
|
return jsonify({"error": str(err)}), 500
|
||||||
|
|
||||||
|
@gastrouser.route('/gastro/deleteDrinkType', methods=['POST'])
|
||||||
|
@login_required(groups=[GASTRO])
|
||||||
|
def deleteType(**kwargs):
|
||||||
|
try:
|
||||||
|
data = request.get_json()
|
||||||
|
userController.deleteDrinkType(data)
|
||||||
|
return jsonify({"ok": "ok"})
|
||||||
|
except Exception as err:
|
||||||
|
return jsonify({"error": str(err)}), 500
|
||||||
|
|
|
@ -29,6 +29,24 @@ def _valid():
|
||||||
return jsonify(accToken.user.toJSON())
|
return jsonify(accToken.user.toJSON())
|
||||||
return jsonify({"error": "permission denied"}), 401
|
return jsonify({"error": "permission denied"}), 401
|
||||||
|
|
||||||
|
@app.route("/pricelist", methods=['GET'])
|
||||||
|
def _getPricelist():
|
||||||
|
try:
|
||||||
|
retVal = userController.getPricelist()
|
||||||
|
print(retVal)
|
||||||
|
return jsonify(retVal)
|
||||||
|
except Exception as err:
|
||||||
|
return jsonify({"error": str(err)})
|
||||||
|
|
||||||
|
@app.route('/drinkTypes', methods=['GET'])
|
||||||
|
def getTypes():
|
||||||
|
try:
|
||||||
|
retVal = userController.getAllDrinkTypes()
|
||||||
|
return jsonify(retVal)
|
||||||
|
except Exception as err:
|
||||||
|
return jsonify({"error": str(err)}), 500
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@app.route("/login", methods=['POST'])
|
@app.route("/login", methods=['POST'])
|
||||||
def _login():
|
def _login():
|
||||||
|
|
Loading…
Reference in New Issue