diff --git a/timeTrack.py b/timeTrack.py index 6d42917..f87bbf4 100644 --- a/timeTrack.py +++ b/timeTrack.py @@ -33,6 +33,12 @@ class TimeTrack: format='%(asctime)s - %(process)d-%(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S' ) + if os.name == 'posix': + logging.debug('Unix/Linux system detected') + self.LINUX = True + else: + logging.debug('Winwos System detected') + self.db_setup() self.load_config() @@ -40,11 +46,9 @@ class TimeTrack: #============== ### Check OS and clear screen def clear_screen(self): - if os.name == 'posix': - logging.debug('Unix/Linux system detected') + if self.LINUX: _ = os.system('clear') else: - logging.debug('Winwos System detected') _ = os.system('cls') ### Loads or creates a config file @@ -547,7 +551,8 @@ class TimeTrack: 'Was willst du tun?', '[1] Zeiterfassung starten', '[2] heutiger Report', - '[3] Benutzerverwaltung', + '[3] Reports', + '[4] Benutzerverwaltung', '[0] Programm verlassen' ] userinput = self.userchoise(printtext, 4) @@ -560,14 +565,42 @@ class TimeTrack: self.report_by_day(DETAIL=True) input() elif userinput == 3: - self.interactive_usermanagment() + self.interactive_reports() elif userinput == 4: - print('commig soon ...') - input() + self.interactive_usermanagment() else: exit() self.start_interactive_mode() + ### Reports menu + def interactive_reports(self): + self.clear_screen() + printtext = [ + '==> Reports für {}'.format(self.USERNAME), + 'Welcher Report soll angezeigt werden?', + '[1] Tages Report von [Datum]', + '[0] abbrechen' + ] + userinput = self.userchoise(printtext, 2) + + if userinput == 1: + valid = False + while not valid: + self.clear_screen() + print('Report für welches Datum soll angezeigt werden?') + print('[0] für abbruch') + userdate = input("Datum: [yyyy-mm-dd]:") + if userdate == 0: + break + else: + try: + date = datetime.datetime.strptime(userdate, "%Y-%m-%d") + valid = True + except: + pass + self.report_by_day(date.date()) + + ### Usermanagment menu def interactive_usermanagment(self): self.clear_screen() printtext = [ @@ -605,7 +638,6 @@ class TimeTrack: printtext.append('[0] abbrechen') userid = self.userchoise(printtext, count) self.delete_user(users[userid - 1][0]) - pass ## Reports #========= @@ -614,6 +646,11 @@ class TimeTrack: if not USER: USER = self.USERID timedata = self.get_time_entry(DAY=DATE, USERID=USER) + if timedata == 0: + print("Es wurden keine Zeiteinträge für den angegeben Tag gefunden") + logging.debug('No time entries for date: '.format(DATE)) + input() + return 1 STARTTIMES = [] ENDTIMES = []