From f553f754629e588fa1bd22c003974d4ab51dbbfd Mon Sep 17 00:00:00 2001
From: anima
Date: Tue, 15 Jun 2021 18:26:34 +0200
Subject: [PATCH] add delete_user and add to usermanagment
---
timeTrack.py | 34 +++++++++++++++++++++++++++++-----
1 file changed, 29 insertions(+), 5 deletions(-)
diff --git a/timeTrack.py b/timeTrack.py
index f9fd560..6d42917 100644
--- a/timeTrack.py
+++ b/timeTrack.py
@@ -3,7 +3,7 @@
#
# timeTrack.py
# by 4nima
-# v.2.1.2
+# v.2.1.5
#
#########################
# simple time tracking with database
@@ -287,8 +287,6 @@ class TimeTrack:
sql = "INSERT INTO users ( name ) values ( ? )"
-
-
try:
with sqlite3.connect(self.DATABASE, detect_types=sqlite3.PARSE_DECLTYPES | sqlite3.PARSE_COLNAMES) as con:
con.execute(sql, [username])
@@ -347,6 +345,23 @@ class TimeTrack:
else:
self.USERNAME = data[0][1]
+ def delete_user(self, UID=False):
+ if not UID:
+ logging.error('no userid passed for deletion')
+ else:
+ logging.debug('Userid {} will be delete'.format(UID))
+ sql = "DELETE FROM users WHERE id = ?"
+
+ try:
+ with sqlite3.connect(self.DATABASE, detect_types=sqlite3.PARSE_DECLTYPES | sqlite3.PARSE_COLNAMES) as con:
+ con.execute(sql, [UID])
+ except sqlite3.Error as err:
+ logging.error('User could not be delete from database')
+ logging.debug(sql)
+ logging.error('SQLError: {}'.format(err))
+ else:
+ logging.info('User was delete successfully')
+
## Time handling
#===============
### Creates an active event if none exists for the user
@@ -580,6 +595,16 @@ class TimeTrack:
self.USERID = users[userid - 1][0]
self.set_user()
elif userinput == 3:
+ users = self.get_users()
+ printtext = ['Welcher User soll gelöscht werden?:']
+ count = 1
+ for user in users:
+ printtext.append('[{}] {}'.format(count, user[1]))
+ count += 1
+
+ printtext.append('[0] abbrechen')
+ userid = self.userchoise(printtext, count)
+ self.delete_user(users[userid - 1][0])
pass
## Reports
@@ -672,5 +697,4 @@ class TimeTrack:
if __name__ == "__main__":
test = TimeTrack()
- test.start_interactive_mode()
- test.DBCON.close()
\ No newline at end of file
+ test.start_interactive_mode()
\ No newline at end of file