2025-04-09 20:23:34 +02:00

55 lines
1.8 KiB
Python

# Zeiterfassung
# UI
from jeepney.low_level import padding
from definitions import *
import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
from timestamping import append_timestamp, len_timestamps
from users import determine_filename
def ui_stempeln(button, label):
append_timestamp(determine_filename(label))
global buttons
if len_timestamps(determine_filename(label)) % 2 == 0:
buttons[button].configure(relief="raised", bg="red", text="ausgestempelt")
else:
buttons[button].configure(relief="sunken", bg="green", text="eingestempelt")
def win_stempeln(userlist):
stempeln = tk.Tk()
stempeln.title(program_name + " " + program_version)
stempeln.geometry("600x400")
stempeln.minsize(width=200, height=200)
global buttons
buttons = [ ]
in_time_labels = [ ]
out_time_labels = [ ]
button_index = 0
frame_stempeln = tk.Frame(stempeln, borderwidth=5, relief="ridge", padx=10, pady=10)
frame_stempeln.grid(row=1, column=1)
for i in userlist:
label = tk.Label(frame_stempeln, text=i)
button = tk.Button(frame_stempeln, command=lambda b=button_index, label=i: ui_stempeln(b, label))
in_time = tk.Label(frame_stempeln, text="in", padx=10)
if len_timestamps(determine_filename(i)) % 2 == 0:
button.configure(relief="raised", bg ="red", text="ausgestempelt")
else:
button.configure(relief="sunken", bg="green", fg="white", text="eingestempelt")
label.grid(row=button_index, column=0, sticky="w")
button.grid(row=button_index, column=1, sticky="ew")
in_time.grid(row=button_index, column=3, sticky="w")
buttons.append(button)
in_time_labels.append(in_time)
button_index+=1
stempeln.mainloop()
win_stempeln( ["testuser", "testuser2"])