parent
e8fc6c64b9
commit
33333561f3
|
@ -117,3 +117,6 @@ dmypy.json
|
||||||
|
|
||||||
#ide
|
#ide
|
||||||
.idea
|
.idea
|
||||||
|
|
||||||
|
.vscode/
|
||||||
|
*.log
|
|
@ -40,15 +40,28 @@ class Singleton(type):
|
||||||
if cls not in cls._instances:
|
if cls not in cls._instances:
|
||||||
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
|
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
|
||||||
return cls._instances[cls]
|
return cls._instances[cls]
|
||||||
|
|
||||||
from .controller.databaseController import DatabaseController
|
from .controller.databaseController import DatabaseController
|
||||||
db = DatabaseController()
|
db = DatabaseController()
|
||||||
from .controller.ldapController import LDAPController
|
from .controller.ldapController import LDAPController
|
||||||
ldapController = LDAPController()
|
ldapController = LDAPController()
|
||||||
|
|
||||||
|
def getDatabesController():
|
||||||
|
if db is not None:
|
||||||
|
return db
|
||||||
|
else:
|
||||||
|
return DatabaseController()
|
||||||
|
def getLDAPController():
|
||||||
|
if ldapController is not None:
|
||||||
|
return ldapController
|
||||||
|
else:
|
||||||
|
return LDAPController()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
from flask import Flask
|
from flask import Flask
|
||||||
from flask_sqlalchemy import SQLAlchemy
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
from flask_bcrypt import Bcrypt
|
|
||||||
from flask_cors import CORS
|
from flask_cors import CORS
|
||||||
from .controller.accesTokenController import AccesTokenController
|
from .controller.accesTokenController import AccesTokenController
|
||||||
|
|
||||||
|
@ -59,7 +72,6 @@ CORS(app)
|
||||||
# app.config['SECRET_KEY'] = '0a657b97ef546da90b2db91862ad4e29'
|
# app.config['SECRET_KEY'] = '0a657b97ef546da90b2db91862ad4e29'
|
||||||
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
|
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
|
||||||
#db = SQLAlchemy(app)
|
#db = SQLAlchemy(app)
|
||||||
bcrypt = Bcrypt(app)
|
|
||||||
accesTokenController = AccesTokenController("GERUECHT")
|
accesTokenController = AccesTokenController("GERUECHT")
|
||||||
accesTokenController.start()
|
accesTokenController.start()
|
||||||
# login_manager = LoginManager(app)
|
# login_manager = LoginManager(app)
|
||||||
|
@ -71,8 +83,8 @@ accesTokenController.start()
|
||||||
|
|
||||||
from geruecht import routes
|
from geruecht import routes
|
||||||
#from geruecht.baruser.routes import baruser
|
#from geruecht.baruser.routes import baruser
|
||||||
#from geruecht.finanzer.routes import finanzer
|
from geruecht.finanzer.routes import finanzer
|
||||||
|
|
||||||
#LOGGER.info("Registrate bluebrints")
|
LOGGER.info("Registrate bluebrints")
|
||||||
#app.register_blueprint(baruser)
|
#app.register_blueprint(baruser)
|
||||||
#app.register_blueprint(finanzer)
|
app.register_blueprint(finanzer)
|
||||||
|
|
|
@ -106,7 +106,7 @@ class AccesTokenController(Thread, metaclass=Singleton):
|
||||||
|
|
||||||
Verify that the AccesToken are not out of date. If one AccessToken out of date it will be deletet from tokenList.
|
Verify that the AccesToken are not out of date. If one AccessToken out of date it will be deletet from tokenList.
|
||||||
"""
|
"""
|
||||||
valid_time=120
|
valid_time=7200
|
||||||
LOGGER.info("Start Thread for verification that the AccessToken are not out of date.")
|
LOGGER.info("Start Thread for verification that the AccessToken are not out of date.")
|
||||||
while True:
|
while True:
|
||||||
self.LOGGER.debug("Name: {}".format(self.getName()))
|
self.LOGGER.debug("Name: {}".format(self.getName()))
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
import pymysql
|
import pymysql
|
||||||
from geruecht import Singleton
|
from geruecht import Singleton
|
||||||
from geruecht.model.user import User
|
from geruecht.model.user import User
|
||||||
|
from geruecht.model.creditList import CreditList
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
class DatabaseController(metaclass=Singleton):
|
class DatabaseController(metaclass=Singleton):
|
||||||
'''
|
'''
|
||||||
|
@ -24,17 +26,31 @@ class DatabaseController(metaclass=Singleton):
|
||||||
raise err
|
raise err
|
||||||
|
|
||||||
def getAllUser(self):
|
def getAllUser(self):
|
||||||
|
self.connect()
|
||||||
cursor = self.db.cursor()
|
cursor = self.db.cursor()
|
||||||
|
try:
|
||||||
|
cursor.execute("select * from user")
|
||||||
|
data = cursor.fetchall()
|
||||||
|
self.db.close()
|
||||||
|
except Exception as err:
|
||||||
|
raise err
|
||||||
|
|
||||||
|
if data:
|
||||||
|
return [User(value) for value in data]
|
||||||
|
|
||||||
def getUser(self, username):
|
def getUser(self, username):
|
||||||
self.connect()
|
self.connect()
|
||||||
retVal = None
|
retVal = None
|
||||||
cursor = self.db.cursor()
|
cursor = self.db.cursor()
|
||||||
|
try:
|
||||||
cursor.execute("select * from user where cn='{}'".format(username))
|
cursor.execute("select * from user where cn='{}'".format(username))
|
||||||
data = cursor.fetchone()
|
data = cursor.fetchone()
|
||||||
|
self.db.close()
|
||||||
|
except Exception as err:
|
||||||
|
raise err
|
||||||
if data:
|
if data:
|
||||||
retVal = User(data)
|
retVal = User(data)
|
||||||
self.db.close()
|
|
||||||
return retVal
|
return retVal
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,7 +58,7 @@ class DatabaseController(metaclass=Singleton):
|
||||||
self.connect()
|
self.connect()
|
||||||
cursor = self.db.cursor()
|
cursor = self.db.cursor()
|
||||||
try:
|
try:
|
||||||
cursor.execute("insert into user (cn, dn, firstname, lastname, `group`) VALUES ('{}','{}','{}','{}','{}')".format(
|
cursor.execute("insert into user (cn, dn, firstname, lastname, gruppe) VALUES ('{}','{}','{}','{}','{}')".format(
|
||||||
data['cn'], data['dn'], data['givenName'], data['sn'], data['group']))
|
data['cn'], data['dn'], data['givenName'], data['sn'], data['group']))
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
|
@ -55,7 +71,7 @@ class DatabaseController(metaclass=Singleton):
|
||||||
self.connect()
|
self.connect()
|
||||||
cursor = self.db.cursor()
|
cursor = self.db.cursor()
|
||||||
try:
|
try:
|
||||||
cursor.execute("update user dn='{}', firstname='{}', lastname='{}', group='{}' where cn='{}'".format(
|
cursor.execute("update user set dn='{}', firstname='{}', lastname='{}', gruppe='{}' where cn='{}'".format(
|
||||||
data['dn'], data['givenName'], data['sn'], data['group'], data['cn']))
|
data['dn'], data['givenName'], data['sn'], data['group'], data['cn']))
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
|
@ -64,5 +80,67 @@ class DatabaseController(metaclass=Singleton):
|
||||||
raise err
|
raise err
|
||||||
self.db.close()
|
self.db.close()
|
||||||
|
|
||||||
|
def getCreditListFromUser(self, user, **kwargs):
|
||||||
|
self.connect()
|
||||||
|
cursor = self.db.cursor()
|
||||||
|
try:
|
||||||
|
if 'year' in kwargs:
|
||||||
|
sql = "select * from creditList where user_id={} and year_date={}".format(user.id, kwargs['year'])
|
||||||
|
else:
|
||||||
|
sql = "select * from creditList where user_id={}".format(user.id)
|
||||||
|
cursor.execute(sql)
|
||||||
|
data = cursor.fetchall()
|
||||||
|
self.db.close()
|
||||||
|
except Exception as err:
|
||||||
|
self.db.close()
|
||||||
|
raise err
|
||||||
|
if len(data) == 1:
|
||||||
|
return CreditList(data[0])
|
||||||
|
else:
|
||||||
|
return [CreditList(value) for value in data]
|
||||||
|
|
||||||
|
def createCreditList(self, user_id, year=datetime.now().year):
|
||||||
|
self.connect()
|
||||||
|
cursor = self.db.cursor()
|
||||||
|
try:
|
||||||
|
cursor.execute("insert into creditList (year_date, user_id) values ({},{})".format(year, user_id))
|
||||||
|
self.db.close()
|
||||||
|
except Exception as err:
|
||||||
|
self.db.close()
|
||||||
|
raise err
|
||||||
|
|
||||||
|
def updateCreditList(self, creditlist):
|
||||||
|
self.connect()
|
||||||
|
cursor = self.db.cursor()
|
||||||
|
try:
|
||||||
|
cursor.execute("select * from creditList where user_id={} and year_date={}".format(creditlist.user_id, creditlist.year))
|
||||||
|
data = cursor.fetchall()
|
||||||
|
self.db.close()
|
||||||
|
if len(data) == 0:
|
||||||
|
self.createCreditList(creditlist.user_id, creditlist.year)
|
||||||
|
self.connect()
|
||||||
|
cursor = self.db.cursor()
|
||||||
|
cursor.execute("update creditList set jan_guthaben={}, jan_schulden={},feb_guthaben={}, feb_schulden={}, maer_guthaben={}, maer_schulden={}, apr_guthaben={}, apr_schulden={}, mai_guthaben={}, mai_schulden={}, jun_guthaben={}, jun_schulden={}, jul_guthaben={}, jul_schulden={}, aug_guthaben={}, aug_schulden={},sep_guthaben={}, sep_schulden={},okt_guthaben={}, okt_schulden={}, nov_guthaben={}, nov_schulden={}, dez_guthaben={}, dez_schulden={}, last_schulden={} where year_date={} and user_id={}".format(creditlist.jan_guthaben, creditlist.jan_schulden,
|
||||||
|
creditlist.feb_guthaben, creditlist.feb_schulden,
|
||||||
|
creditlist.maer_guthaben, creditlist.maer_schulden,
|
||||||
|
creditlist.apr_guthaben, creditlist.apr_schulden,
|
||||||
|
creditlist.mai_guthaben, creditlist.mai_schulden,
|
||||||
|
creditlist.jun_guthaben, creditlist.jun_schulden,
|
||||||
|
creditlist.jul_guthaben, creditlist.jul_schulden,
|
||||||
|
creditlist.aug_guthaben, creditlist.aug_schulden,
|
||||||
|
creditlist.sep_guthaben, creditlist.sep_schulden,
|
||||||
|
creditlist.okt_guthaben, creditlist.okt_schulden,
|
||||||
|
creditlist.nov_guthaben, creditlist.nov_schulden,
|
||||||
|
creditlist.dez_guthaben, creditlist.dez_schulden,
|
||||||
|
creditlist.last_schulden, creditlist.year, creditlist.user_id))
|
||||||
|
self.db.close()
|
||||||
|
except Exception as err:
|
||||||
|
self.db.rollback()
|
||||||
|
self.db.close()
|
||||||
|
raise err
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
db = DatabaseController(user='tim')
|
db = DatabaseController()
|
||||||
|
user = db.getUser('jhille')
|
||||||
|
db.getCreditListFromUser(user, year=2018)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from flask import Blueprint, request, jsonify
|
from flask import Blueprint, request, jsonify
|
||||||
from geruecht.finanzer import LOGGER
|
from geruecht.finanzer import LOGGER
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from geruecht import MONEY
|
from geruecht import MONEY, db
|
||||||
from geruecht.routes import verifyAccessToken
|
from geruecht.routes import verifyAccessToken
|
||||||
from geruecht.model.user import User
|
from geruecht.model.user import User
|
||||||
|
|
||||||
|
@ -24,11 +24,11 @@ def _getFinanzer():
|
||||||
accToken = verifyAccessToken(token, MONEY)
|
accToken = verifyAccessToken(token, MONEY)
|
||||||
if accToken is not None:
|
if accToken is not None:
|
||||||
LOGGER.debug("Get all Useres")
|
LOGGER.debug("Get all Useres")
|
||||||
users = User.query.all()
|
users = db.getAllUser()
|
||||||
dic = {}
|
dic = {}
|
||||||
for user in users:
|
for user in users:
|
||||||
LOGGER.debug("Add User {} to ReturnValue".format(user))
|
LOGGER.debug("Add User {} to ReturnValue".format(user))
|
||||||
dic[user.userID] = user.toJSON()
|
dic[user.cn] = user.toJSON()
|
||||||
LOGGER.debug("ReturnValue is {}".format(dic))
|
LOGGER.debug("ReturnValue is {}".format(dic))
|
||||||
LOGGER.info("Send main for Finanzer")
|
LOGGER.info("Send main for Finanzer")
|
||||||
return jsonify(dic)
|
return jsonify(dic)
|
||||||
|
@ -56,13 +56,13 @@ def _getFinanzerYear():
|
||||||
LOGGER.debug("Get data {}".format(data))
|
LOGGER.debug("Get data {}".format(data))
|
||||||
userID = data['userId']
|
userID = data['userId']
|
||||||
LOGGER.debug("UserID is {}".format(userID))
|
LOGGER.debug("UserID is {}".format(userID))
|
||||||
user = User.query.filter_by(userID=userID).first()
|
user = db.getUser(userID)
|
||||||
LOGGER.debug("User is {}".format(user))
|
LOGGER.debug("User is {}".format(user))
|
||||||
dic[user.userID] = {}
|
dic[user.cn] = {}
|
||||||
LOGGER.debug("Build ReturnValue")
|
LOGGER.debug("Build ReturnValue")
|
||||||
for geruecht in user.geruechte:
|
for geruecht in user.geruechte:
|
||||||
LOGGER.debug("Add Geruecht {} to ReturnValue".format(geruecht))
|
LOGGER.debug("Add Geruecht {} to ReturnValue".format(geruecht))
|
||||||
dic[user.userID][geruecht.year] = geruecht.toJSON()
|
dic[user.cn][geruecht.year] = geruecht.toJSON()
|
||||||
LOGGER.debug("ReturnValue is {}".format(dic))
|
LOGGER.debug("ReturnValue is {}".format(dic))
|
||||||
LOGGER.info("Send Geruechte from User {}".format(user))
|
LOGGER.info("Send Geruechte from User {}".format(user))
|
||||||
return jsonify(dic)
|
return jsonify(dic)
|
||||||
|
@ -103,7 +103,7 @@ def _addAmount():
|
||||||
LOGGER.error("KeyError in month. Month is set to default.")
|
LOGGER.error("KeyError in month. Month is set to default.")
|
||||||
month = datetime.now().month
|
month = datetime.now().month
|
||||||
LOGGER.debug("Year is {} and Month is {}".format(year, month))
|
LOGGER.debug("Year is {} and Month is {}".format(year, month))
|
||||||
user = User.query.filter_by(userID=userID).first()
|
user = db.getUser(userID)
|
||||||
LOGGER.debug("User is {}".format(user))
|
LOGGER.debug("User is {}".format(user))
|
||||||
LOGGER.debug("Add amount to User {} in year {} and month {}".format(user, year, month))
|
LOGGER.debug("Add amount to User {} in year {} and month {}".format(user, year, month))
|
||||||
user.addAmount(amount, year=year, month=month)
|
user.addAmount(amount, year=year, month=month)
|
||||||
|
@ -149,7 +149,7 @@ def _addCredit():
|
||||||
month = datetime.now().month
|
month = datetime.now().month
|
||||||
|
|
||||||
LOGGER.debug("Year is {} and Month is {}".format(year, month))
|
LOGGER.debug("Year is {} and Month is {}".format(year, month))
|
||||||
user = User.query.filter_by(userID=userID).first()
|
user = db.getUser(userID)
|
||||||
LOGGER.debug("User is {}".format(user))
|
LOGGER.debug("User is {}".format(user))
|
||||||
LOGGER.debug("Add credit to User {} in year {} and month {}".format(user, year, month))
|
LOGGER.debug("Add credit to User {} in year {} and month {}".format(user, year, month))
|
||||||
user.addCredit(credit, year=year, month=month)
|
user.addCredit(credit, year=year, month=month)
|
||||||
|
|
|
@ -1,7 +1,38 @@
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from geruecht import getLogger
|
from geruecht import getLogger
|
||||||
|
import geruecht
|
||||||
|
|
||||||
LOGGER = getLogger(__name__)
|
LOGGER = getLogger(__name__)
|
||||||
|
def create_empty_data():
|
||||||
|
empty_data = {'id': 0,
|
||||||
|
'jan_guthaben': 0,
|
||||||
|
'jan_schulden': 0,
|
||||||
|
'feb_guthaben': 0,
|
||||||
|
'feb_schulden': 0,
|
||||||
|
'maer_guthaben': 0,
|
||||||
|
'maer_schulden': 0,
|
||||||
|
'apr_guthaben': 0,
|
||||||
|
'apr_schulden': 0,
|
||||||
|
'mai_guthaben': 0,
|
||||||
|
'mai_schulden': 0,
|
||||||
|
'jun_guthaben': 0,
|
||||||
|
'jun_schulden': 0,
|
||||||
|
'jul_guthaben': 0,
|
||||||
|
'jul_schulden': 0,
|
||||||
|
'aug_guthaben': 0,
|
||||||
|
'aug_schulden': 0,
|
||||||
|
'sep_guthaben': 0,
|
||||||
|
'sep_schulden': 0,
|
||||||
|
'okt_guthaben': 0,
|
||||||
|
'okt_schulden': 0,
|
||||||
|
'nov_guthaben': 0,
|
||||||
|
'nov_schulden': 0,
|
||||||
|
'dez_guthaben': 0,
|
||||||
|
'dez_schulden': 0,
|
||||||
|
'last_schulden': 0,
|
||||||
|
'year_date': datetime.now().year,
|
||||||
|
'user_id': 0}
|
||||||
|
return empty_data
|
||||||
|
|
||||||
class CreditList():
|
class CreditList():
|
||||||
""" DataBase Object Credit List:
|
""" DataBase Object Credit List:
|
||||||
|
@ -15,50 +46,53 @@ class CreditList():
|
||||||
year: Year of all Credits and Debts.
|
year: Year of all Credits and Debts.
|
||||||
user_id: id from the User.
|
user_id: id from the User.
|
||||||
"""
|
"""
|
||||||
|
def __init__(self, data):
|
||||||
LOGGER.debug("Initialize Geruecht")
|
LOGGER.debug("Initialize Geruecht")
|
||||||
id = db.Colum(db.Integer, primary_key=True)
|
self.id = int(data['id'])
|
||||||
|
|
||||||
jan_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.jan_guthaben = int(data['jan_guthaben'])
|
||||||
jan_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.jan_schulden = int(data['jan_schulden'])
|
||||||
|
|
||||||
feb_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.feb_guthaben = int(data['feb_guthaben'])
|
||||||
feb_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.feb_schulden = int(data['feb_schulden'])
|
||||||
|
|
||||||
maer_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.maer_guthaben = int(data['maer_guthaben'])
|
||||||
maer_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.maer_schulden = int(data['maer_schulden'])
|
||||||
|
|
||||||
apr_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.apr_guthaben = int(data['apr_guthaben'])
|
||||||
apr_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.apr_schulden = int(data['apr_schulden'])
|
||||||
|
|
||||||
mai_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.mai_guthaben = int(data['mai_guthaben'])
|
||||||
mai_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.mai_schulden = int(data['mai_schulden'])
|
||||||
|
|
||||||
jun_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.jun_guthaben = int(data['jun_guthaben'])
|
||||||
jun_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.jun_schulden = int(data['jun_schulden'])
|
||||||
|
|
||||||
jul_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.jul_guthaben = int(data['jul_guthaben'])
|
||||||
jul_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.jul_schulden = int(data['jul_schulden'])
|
||||||
|
|
||||||
aug_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.aug_guthaben = int(data['aug_guthaben'])
|
||||||
aug_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.aug_schulden = int(data['aug_schulden'])
|
||||||
|
|
||||||
sep_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.sep_guthaben = int(data['sep_guthaben'])
|
||||||
sep_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.sep_schulden = int(data['sep_schulden'])
|
||||||
|
|
||||||
okt_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.okt_guthaben = int(data['okt_guthaben'])
|
||||||
okt_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.okt_schulden = int(data['okt_schulden'])
|
||||||
|
|
||||||
nov_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.nov_guthaben = int(data['nov_guthaben'])
|
||||||
nov_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.nov_schulden = int(data['nov_schulden'])
|
||||||
|
|
||||||
dez_guthaben = db.Column(db.Integer, nullable=False, default=0)
|
self.dez_guthaben = int(data['dez_guthaben'])
|
||||||
dez_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.dez_schulden = int(data['dez_schulden'])
|
||||||
|
|
||||||
last_schulden = db.Column(db.Integer, nullable=False, default=0)
|
self.last_schulden = int(data['last_schulden'])
|
||||||
|
|
||||||
year = db.Column(db.Integer, nullable=False, default=datetime.now().year)
|
self.year = int(data['year_date'])
|
||||||
|
|
||||||
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
|
self.user_id = int(data['user_id'])
|
||||||
|
|
||||||
|
self.db = geruecht.getDatabesController()
|
||||||
|
|
||||||
def getSchulden(self):
|
def getSchulden(self):
|
||||||
""" Get Schulden
|
""" Get Schulden
|
||||||
|
@ -184,7 +218,8 @@ class CreditList():
|
||||||
self.dez_schulden += amount
|
self.dez_schulden += amount
|
||||||
retValue = (self.dez_guthaben, self.dez_schulden)
|
retValue = (self.dez_guthaben, self.dez_schulden)
|
||||||
|
|
||||||
db.session.commit()
|
#db.session.commit()
|
||||||
|
self.db.updateCreditList(self)
|
||||||
LOGGER.debug("Credit and Amount is {}".format(retValue))
|
LOGGER.debug("Credit and Amount is {}".format(retValue))
|
||||||
return retValue
|
return retValue
|
||||||
|
|
||||||
|
@ -238,8 +273,8 @@ class CreditList():
|
||||||
elif month == 12:
|
elif month == 12:
|
||||||
self.dez_guthaben += credit
|
self.dez_guthaben += credit
|
||||||
retValue = (self.dez_guthaben, self.dez_schulden)
|
retValue = (self.dez_guthaben, self.dez_schulden)
|
||||||
|
self.db.updateCreditList(self)
|
||||||
db.session.commit()
|
#db.session.commit()
|
||||||
LOGGER.debug("Credit and Amount is {}".format(retValue))
|
LOGGER.debug("Credit and Amount is {}".format(retValue))
|
||||||
return retValue
|
return retValue
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
from geruecht import getLogger
|
from geruecht import getLogger
|
||||||
from geruecht import db
|
import geruecht
|
||||||
#from geruecht.model.creditList import CreditList
|
from geruecht.model.creditList import CreditList, create_empty_data
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
LOGGER = getLogger(__name__)
|
LOGGER = getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class User():
|
class User():
|
||||||
""" Database Object for User
|
""" Database Object for User
|
||||||
|
|
||||||
|
@ -25,10 +26,17 @@ class User():
|
||||||
self.dn = data['dn']
|
self.dn = data['dn']
|
||||||
self.firstname = data['firstname']
|
self.firstname = data['firstname']
|
||||||
self.lastname = data['lastname']
|
self.lastname = data['lastname']
|
||||||
self.group = data['group']
|
self.group = data['gruppe']
|
||||||
|
self.db = geruecht.getDatabesController()
|
||||||
|
self.ldap = geruecht.getLDAPController()
|
||||||
|
self.geruechte = []
|
||||||
|
geruechte = self.db.getCreditListFromUser(self)
|
||||||
|
if type(geruechte) == list:
|
||||||
|
self.geruechte = geruechte
|
||||||
|
elif type(geruechte) == CreditList:
|
||||||
|
self.geruechte.append(geruechte)
|
||||||
#geruechte = db.relationship('CreditList', backref='user', lazy=True)
|
#geruechte = db.relationship('CreditList', backref='user', lazy=True)
|
||||||
'''
|
|
||||||
def createGeruecht(self, amount=0, year=datetime.now().year):
|
def createGeruecht(self, amount=0, year=datetime.now().year):
|
||||||
""" Create Geruecht
|
""" Create Geruecht
|
||||||
|
|
||||||
|
@ -43,10 +51,14 @@ class User():
|
||||||
the created geruecht
|
the created geruecht
|
||||||
"""
|
"""
|
||||||
LOGGER.debug("Create Geruecht for user {} in year {}".format(self, year))
|
LOGGER.debug("Create Geruecht for user {} in year {}".format(self, year))
|
||||||
credit = CreditList(user_id=self.id, last_schulden=amount, year=year)
|
data = create_empty_data()
|
||||||
db.session.add(credit)
|
data['user_id'] = self.id,
|
||||||
db.session.commit()
|
data['last_schulden'] = amount,
|
||||||
credit = CreditList.query.filter_by(year=year, user_id=self.id).first()
|
data['year_date'] = year
|
||||||
|
credit = CreditList(data)
|
||||||
|
self.geruechte.append(credit)
|
||||||
|
self.db.updateCreditList(credit)
|
||||||
|
credit = self.db.getCreditListFromUser(self, year=year)
|
||||||
LOGGER.debug("Created Geruecht {}".format(credit))
|
LOGGER.debug("Created Geruecht {}".format(credit))
|
||||||
return credit
|
return credit
|
||||||
|
|
||||||
|
@ -93,8 +105,7 @@ class User():
|
||||||
geruecht = self.getGeruecht(year=year)
|
geruecht = self.getGeruecht(year=year)
|
||||||
retVal = geruecht.addAmount(amount, month=month)
|
retVal = geruecht.addAmount(amount, month=month)
|
||||||
|
|
||||||
db.session.add(geruecht)
|
self.db.updateCreditList(geruecht)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
self.updateGeruecht()
|
self.updateGeruecht()
|
||||||
|
|
||||||
|
@ -118,8 +129,7 @@ class User():
|
||||||
geruecht = self.getGeruecht(year=year)
|
geruecht = self.getGeruecht(year=year)
|
||||||
retVal = geruecht.addCredit(credit, month=month)
|
retVal = geruecht.addCredit(credit, month=month)
|
||||||
|
|
||||||
db.session.add(geruecht)
|
self.db.updateCreditList(geruecht)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
self.updateGeruecht()
|
self.updateGeruecht()
|
||||||
|
|
||||||
|
@ -138,8 +148,7 @@ class User():
|
||||||
geruecht.last_schulden = 0
|
geruecht.last_schulden = 0
|
||||||
if index != 0:
|
if index != 0:
|
||||||
geruecht.last_schulden = (self.geruechte[index - 1].getSchulden() * -1)
|
geruecht.last_schulden = (self.geruechte[index - 1].getSchulden() * -1)
|
||||||
|
self.db.updateCreditList(geruecht)
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
def sortYear(self, geruecht):
|
def sortYear(self, geruecht):
|
||||||
""" Sort Year
|
""" Sort Year
|
||||||
|
@ -154,7 +163,7 @@ class User():
|
||||||
int year of the geruecht
|
int year of the geruecht
|
||||||
"""
|
"""
|
||||||
return geruecht.year
|
return geruecht.year
|
||||||
'''
|
|
||||||
def toJSON(self):
|
def toJSON(self):
|
||||||
""" Create Dic to dump in JSON
|
""" Create Dic to dump in JSON
|
||||||
|
|
||||||
|
@ -170,10 +179,10 @@ class User():
|
||||||
}
|
}
|
||||||
return dic
|
return dic
|
||||||
|
|
||||||
def update(self):
|
def updateUser(self):
|
||||||
data = ldap.getUserData(self.cn)
|
data = self.ldap.getUserData(self.cn)
|
||||||
data['group'] = ldap.getGroup(self.cn)
|
data['group'] = self.ldap.getGroup(self.cn)
|
||||||
db.updateUser(data)
|
self.db.updateUser(data)
|
||||||
|
|
||||||
def login(self, password):
|
def login(self, password):
|
||||||
""" Login for the User
|
""" Login for the User
|
||||||
|
@ -185,13 +194,13 @@ class User():
|
||||||
"""
|
"""
|
||||||
LOGGER.debug("Login User {}".format(self))
|
LOGGER.debug("Login User {}".format(self))
|
||||||
try:
|
try:
|
||||||
from geruecht import ldapController as ldap
|
self.ldap.login(self.cn, password)
|
||||||
ldap.login(self.cn, password)
|
|
||||||
|
|
||||||
self.update()
|
self.updateUser()
|
||||||
return True
|
return True
|
||||||
except:
|
except:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "User({}, {}, {})".format(self.cn, self.dn, self.group)
|
return "User({}, {}, {})".format(self.cn, self.dn, self.group)
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
from geruecht import app, db, accesTokenController, MONEY, BAR, USER, GASTRO, LOGGER
|
from geruecht import app, db, accesTokenController, MONEY, BAR, USER, GASTRO, LOGGER
|
||||||
from geruecht import ldapController as ldap
|
from geruecht import ldapController as ldap
|
||||||
from geruecht.model.user import User
|
from geruecht.model.user import User
|
||||||
#from geruecht.model.creditList import CreditList
|
|
||||||
#from geruecht.model.priceList import PriceList
|
|
||||||
from datetime import datetime
|
|
||||||
from flask import request, jsonify
|
from flask import request, jsonify
|
||||||
|
|
||||||
|
def login(user, password):
|
||||||
|
return user.login(password)
|
||||||
|
|
||||||
def verifyAccessToken(token, group):
|
def verifyAccessToken(token, group):
|
||||||
""" Verify Accestoken
|
""" Verify Accestoken
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ def _login():
|
||||||
LOGGER.debug("User is {}".format(user))
|
LOGGER.debug("User is {}".format(user))
|
||||||
if user:
|
if user:
|
||||||
LOGGER.debug("Check login for User {}".format(user))
|
LOGGER.debug("Check login for User {}".format(user))
|
||||||
if user.login(password):
|
if login(user, password):
|
||||||
token = accesTokenController.createAccesToken(user)
|
token = accesTokenController.createAccesToken(user)
|
||||||
dic = user.toJSON()
|
dic = user.toJSON()
|
||||||
dic["token"] = token
|
dic["token"] = token
|
||||||
|
|
Loading…
Reference in New Issue