new settings class

This commit is contained in:
WorldTeacher
2024-09-11 15:39:06 +02:00
parent a72d76b94e
commit 95d3de6490
4 changed files with 110 additions and 44 deletions

View File

@@ -180,7 +180,7 @@ class Database:
users = cursor.fetchall()
for index, user in enumerate(users):
users[index] = User(id=user[0], username=user[1], email=user[2])
users[index] = User(userid=user[1], username=user[2], email=user[3], id=user[0])
self.close_connection(conn)
return users
@@ -190,7 +190,7 @@ class Database:
cursor = conn.cursor()
try:
cursor.execute(
f"INSERT INTO users (id,username, usermail) VALUES ('{userno}', '{username}', '{usermail}' )"
f"INSERT INTO users (user_id,username, usermail) VALUES ('{userno}', '{username}', '{usermail}' )"
)
conn.commit()
except sql.IntegrityError:
@@ -198,15 +198,22 @@ class Database:
self.close_connection(conn)
return True
def getUser(self, userid) -> User:
def getUser(self, user_id) -> User:
conn = self.connect()
cursor = conn.cursor()
cursor.execute(f"SELECT * FROM users WHERE id = '{userid}'")
result = cursor.fetchone()
cursor.execute(f"SELECT * FROM users")
result = cursor.fetchall()
self.close_connection(conn)
user = User(id=result[0], username=result[1], email=result[2])
log.info(f"Returning User {user}")
return user
print(result)
for res in result:
if res[0] == user_id:
user = User(userid=res[1], username=res[2], email=res[3], id=res[0])
dbg(f"Returning User {user}")
log.info(f"Returning User {user}")
return user
return User(userid="gelöscht", username="gelöscht", email="gelöscht", id="gelöscht")
# user = User(userid=result[1], username=result[2], email=result[3],id = result[0])
# return user
def getUserId(self, username) -> User:
conn = self.connect()
@@ -214,22 +221,22 @@ class Database:
cursor.execute(f"SELECT * FROM users WHERE username = '{username}'")
result = cursor.fetchone()
self.close_connection(conn)
user = User(id=result[0], username=result[1], email=result[2])
user = User(userid=result[1], username=result[2], email=result[3],id = result[0])
log.info(f"Returning User {user}")
return user
def updateUser(self, username, userno, usermail):
def updateUser(self, username, user_id, usermail):
log.debug(f"Updating User {userno}, {username}, {usermail}")
conn = self.connect()
cursor = conn.cursor()
cursor.execute(
f"UPDATE users SET username = '{username}', usermail = '{usermail}' WHERE id = '{userno}'"
f"UPDATE users SET username = '{username}', usermail = '{usermail}' WHERE user_id = '{user_id}'"
)
conn.commit()
self.close_connection(conn)
def setUserActiveDate(self, userid,date):
query = f"UPDATE users SET lastActive = '{date}' WHERE id = '{userid}'"
query = f"UPDATE users SET lastActive = '{date}' WHERE user_id = '{userid}'"
conn = self.connect()
cursor = conn.cursor()
cursor.execute(query)
@@ -237,24 +244,27 @@ class Database:
dbg(f"Setting User {userid} to active on {date}")
def renameInactiveUsers(self):
lastYear = QtCore.QDate.currentDate().addDays(int(f"-{config.inactive_user_deletion}")).toString("yyyy-MM-dd")
query = f"SELECT * FROM users WHERE lastActive < '{lastYear}'"
lastYear = QtCore.QDate.currentDate().addDays(int(f"-{config.delete_inactive_user_duration}")).toString("yyyy-MM-dd")
query = f"SELECT id FROM users WHERE lastActive < '{lastYear}'"
conn = self.connect()
cursor = conn.cursor()
result = cursor.execute(query).fetchall()
self.close_connection(conn)
for user in result:
self.updateUser("gelöscht", user[0], "gelöscht")
if len(result) == 0:
log.info(f"Deleting {len(result)} inactive users")
for user in result:
self.deleteUser(user)
def deleteUser(self, userid):
log.debug(f"Deleting User {userid}")
conn = self.connect()
cursor = conn.cursor()
cursor.execute(f"UPDATE users SET username='gelöscht', usermail = 'gelöscht' WHERE id = '{userid}'")
cursor.execute(f"UPDATE users SET username='gelöscht', usermail = 'gelöscht', user_id='gelöscht' WHERE id = '{userid}'")
conn.commit()
self.close_connection(conn)
def getActiveLoans(self, userid):
dbg("id", str(userid))
conn = self.connect()
cursor = conn.cursor()
try:
@@ -442,6 +452,7 @@ class Database:
cursor = conn.cursor()
cursor.execute(query)
result = cursor.fetchone()
print(result)
self.close_connection(conn)
if result is not None:
return result[0]