Merge branch 'styling'
This commit is contained in:
commit
3ef60fa954
7
.gitignore
vendored
7
.gitignore
vendored
@ -1 +1,6 @@
|
||||
**/*.pyc
|
||||
**/*.pyc
|
||||
.idea
|
||||
.nicegui
|
||||
.venv
|
||||
users/
|
||||
backup/
|
||||
|
23
lib/admin.py
23
lib/admin.py
@ -6,6 +6,7 @@ from dateutil.easter import *
|
||||
|
||||
from nicegui import ui, app, events
|
||||
from nicegui.html import button
|
||||
from nicegui.events import KeyEventArguments
|
||||
|
||||
from lib.users import *
|
||||
from lib.definitions import *
|
||||
@ -241,12 +242,21 @@ Dies kann nicht rückgängig gemacht werden!''')
|
||||
ui.button("Ja", on_click=execute_deletion)
|
||||
ui.space()
|
||||
ui.button("Nein", on_click=dialog.close)
|
||||
|
||||
def handle_key(e: KeyEventArguments):
|
||||
if e.key == 'j' or e.key == 'Enter':
|
||||
execute_deletion()
|
||||
if e.key == 'n' or e.key == 'Esc':
|
||||
dialog.close()
|
||||
|
||||
keyboard = ui.keyboard(on_key=handle_key)
|
||||
|
||||
dialog.open()
|
||||
|
||||
try:
|
||||
for i in list(user_absent):
|
||||
if int(i) == day:
|
||||
absence_button = ui.button(absence_entries[user_absent[i]]["name"], on_click=lambda i=i, day=day: delete_absence(day, absence_entries[user_absent[i]]["name"])).props(f'color={absence_entries[user_absent[i]]["color"]}')
|
||||
absence_button = ui.button(absence_entries[user_absent[i]]["name"], on_click=lambda i=i, day=day: delete_absence(day, absence_entries[user_absent[i]]["name"])).props(f'color={absence_entries[user_absent[i]]["color"]} square')
|
||||
if archive_status:
|
||||
absence_button.disable()
|
||||
except:
|
||||
@ -319,7 +329,7 @@ Dies kann nicht rückgängig gemacht werden!''')
|
||||
with ui.card().classes('bg-inherit'):
|
||||
with ui.row():
|
||||
for j in temp_pair:
|
||||
timestamp_button = ui.button(datetime.datetime.fromtimestamp(int(j)).strftime('%H:%M'), on_click=lambda t_stamp=j, day=day: edit_entry(t_stamp, day))
|
||||
timestamp_button = ui.button(datetime.datetime.fromtimestamp(int(j)).strftime('%H:%M'), on_click=lambda t_stamp=j, day=day: edit_entry(t_stamp, day)).props('square')
|
||||
if archive_status:
|
||||
timestamp_button.disable()
|
||||
except Exception as e:
|
||||
@ -569,7 +579,7 @@ Dies kann nicht rückgängig gemacht werden!''')
|
||||
dialog.open()
|
||||
dialog.move(calendar_card)
|
||||
|
||||
with ui.button(icon='menu') as menu_button:
|
||||
with ui.button(icon='menu').props('square') as menu_button:
|
||||
with ui.menu() as menu:
|
||||
menu_item = ui.menu_item("Zeiteintrag hinzufügen", lambda day=day: add_entry(day))
|
||||
if archive_status:
|
||||
@ -1187,6 +1197,13 @@ Dies kann nicht rückgängig gemacht werden!''')
|
||||
with ui.row():
|
||||
ui.button("Löschen", on_click=delete_entry)
|
||||
ui.button("Abbrechen", on_click=dialog.close)
|
||||
def handle_key(e: KeyEventArguments):
|
||||
print(e.key)
|
||||
if e.key == 'j' or e.key == 'Enter':
|
||||
delete_entry()
|
||||
if e.key == 'n' or e.key == 'Esc':
|
||||
dialog.close()
|
||||
keyboard = ui.keyboard(on_key=handle_key)
|
||||
else:
|
||||
ui.markdown("Es gibt nur einen Eintrag. Dieser kann nicht gelöscht werden.")
|
||||
ui.button("OK", on_click=dialog.close)
|
||||
|
@ -49,13 +49,17 @@ def homepage():
|
||||
|
||||
def update_timer():
|
||||
additional_time = 0
|
||||
if time_toggle.value == "total":
|
||||
if time_toggle.value:
|
||||
additional_time = yesterdays_overtime()
|
||||
time_toggle.set_text("Gesamtzeit")
|
||||
if not time_toggle.value:
|
||||
time_toggle.set_text("Tageszeit")
|
||||
if current_user.get_worked_time(today.year, today.month, today.day)[1] > 0:
|
||||
time_in_total = additional_time + time_so_far + int((datetime.datetime.now().timestamp() - current_user.get_worked_time(today.year, today.month, today.day)[1]))
|
||||
else:
|
||||
time_in_total = additional_time + time_so_far
|
||||
working_hours.set_content(convert_seconds_to_hours(time_in_total))
|
||||
|
||||
with ui.grid(columns='1fr 1fr'):
|
||||
if current_user.stamp_status() == status_in:
|
||||
bg_color = 'green'
|
||||
@ -64,8 +68,11 @@ def homepage():
|
||||
working_hours = ui.markdown(convert_seconds_to_hours(time_so_far)).classes(f'col-span-2 rounded-3xl text-center text-white text-bold text-2xl border-4 border-gray-600 bg-{bg_color}')
|
||||
in_button = ui.button("Einstempeln", on_click=stamp_and_refresh).classes('bg-green')
|
||||
out_button = ui.button("Ausstempeln", on_click=stamp_and_refresh).classes('bg-red')
|
||||
time_toggle = ui.toggle({"day": "Tagesarbeitszeit", "total": "Gesamtzeit"}, value="day",
|
||||
on_change=update_timer).classes('w-full justify-center col-span-2').tooltip("Hier lässt sich die Anzeige oben zwischen heute geleisteter Arbeitszeit und summierter Arbeitszeit umschalten.")
|
||||
|
||||
time_toggle = ui.switch("Tageszeit",on_change=update_timer).classes('w-full justify-center col-span-2 normal-case')
|
||||
|
||||
#time_toggle = ui.toggle({"day": "Tagesarbeitszeit", "total": "Gesamtzeit"}, value="day",
|
||||
# on_change=update_timer).classes('w-full justify-center col-span-2 normal-case').tooltip("Hier lässt sich die Anzeige oben zwischen heute geleisteter Arbeitszeit und summierter Arbeitszeit umschalten.")
|
||||
|
||||
working_timer = ui.timer(1.0, update_timer)
|
||||
working_timer.active = False
|
||||
|
@ -118,5 +118,4 @@ def login_is_valid(user = -1):
|
||||
else:
|
||||
return False
|
||||
except:
|
||||
return False
|
||||
|
||||
return False
|
@ -6,8 +6,8 @@
|
||||
"touchscreen": true,
|
||||
"times_on_touchscreen": true,
|
||||
"photos_on_touchscreen": true,
|
||||
"picture_height": "100",
|
||||
"button_height": "120",
|
||||
"picture_height": "200",
|
||||
"button_height": "300",
|
||||
"user_notes": true,
|
||||
"vacation_application": true,
|
||||
"backup_folder": "/home/alexander/Dokumente/Python/Zeiterfassung/backup",
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 854 KiB After Width: | Height: | Size: 46 KiB |
@ -49,7 +49,10 @@ def main():
|
||||
|
||||
# Styling:
|
||||
ui.button.default_classes('normal-case')
|
||||
ui.button.default_props('rounded')
|
||||
ui.tab.default_classes('normal-case')
|
||||
ui.toggle.default_classes('normal-case')
|
||||
ui.toggle.default_props('rounded')
|
||||
|
||||
ui.run(favicon="favicon.svg", port=port, storage_secret=secret, language='de-DE', show_welcome_message=False)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user