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