Vereinfachung Zuordnung Notizen Benutzer oder Admin

This commit is contained in:
Alexander Malzkuhn 2025-05-13 14:12:14 +02:00
parent 363b30b0a8
commit ad959e0fea
4 changed files with 39 additions and 22 deletions

View File

@ -316,7 +316,7 @@ Dies kann nicht rückgängig gemacht werden!''')
if username == admins_name: if username == admins_name:
ui.markdown('Administrator:') ui.markdown('Administrator:')
else: else:
ui.markdown(user(username).fullname) ui.markdown(current_user.fullname)
ui.markdown(text) ui.markdown(text)
else: else:
ui.space() ui.space()
@ -503,8 +503,8 @@ Dies kann nicht rückgängig gemacht werden!''')
del_buttons[user].delete() del_buttons[user].delete()
def save_notes(): def save_notes():
if not note_labels[admin_settings["admin_user"]].is_deleted: if not note_labels["admin"].is_deleted:
notes[admin_settings["admin_user"]] = note_labels[admin_settings["admin_user"]].value notes["admin"] = note_labels["admin"].value
current_user.write_notes(select_year.value, select_month.value, day, notes) current_user.write_notes(select_year.value, select_month.value, day, notes)
timetable.refresh() timetable.refresh()
dialog.close() dialog.close()
@ -519,18 +519,17 @@ Dies kann nicht rückgängig gemacht werden!''')
with ui.grid(columns='auto auto auto'): with ui.grid(columns='auto auto auto'):
admin_settings = load_adminsettings() admin_settings = load_adminsettings()
# Beschreibungsfeld für Admin # Beschreibungsfeld für Admin
username_labels[admin_settings["admin_user"]] = ui.markdown("Administrator:") username_labels["admin"] = ui.markdown("Administrator:")
# Textarea für Admin # Textarea für Admin
note_labels[admin_settings["admin_user"]] = ui.textarea() note_labels["admin"] = ui.textarea()
for name, text in notes.items(): for name, text in notes.items():
if name != admin_settings["admin_user"]: if name != "admin":
user_obj = user(name) noteuser = "user"
noteuser = user_obj.username username_labels[noteuser] = ui.markdown(current_user.fullname)
username_labels[noteuser] = ui.markdown(user_obj.fullname)
note_labels[noteuser] = ui.markdown(text) note_labels[noteuser] = ui.markdown(text)
else: else:
noteuser = admin_settings["admin_user"] noteuser = "admin"
note_labels[noteuser].set_value(text) note_labels[noteuser].set_value(text)
del_buttons[noteuser] = ui.button(icon='remove', on_click=lambda user=noteuser: del_note_entry(user)) del_buttons[noteuser] = ui.button(icon='remove', on_click=lambda user=noteuser: del_note_entry(user))

View File

@ -97,21 +97,31 @@ def homepage():
ui.space() ui.space()
with ui.expansion("Tagesnotiz", icon='o_description'): with ui.expansion("Tagesnotiz", icon='o_description'):
with ui.grid(columns=2): with ui.grid(columns=2):
status_binder = ValueBinder()
def button_enabler(): def button_enabler():
if daynote.value == "": if daynote.value == "":
save_button.disable() status_binder.value = False
delete_button.disable()
else: else:
save_button.enable() status_binder.value = True
delete_button.enable()
daynote = ui.textarea(on_change=button_enabler).classes('col-span-2') daynote = ui.textarea(on_change=button_enabler).classes('col-span-2')
try:
daynote.value = current_user.get_day_notes(today.year, today.month, today.day)["user"]
except:
daynote.value = ""
save_button = ui.button("Speichern") def save_note():
save_button.disable() note_dict = { }
note_dict["user"] = daynote.value
current_user.write_notes(today.year, today.month, today.day, note_dict)
save_button = ui.button("Speichern", on_click=save_note)
#save_button.disable()
def del_text(): def del_text():
daynote.value = "" daynote.value = ""
delete_button = ui.button("Löschen", on_click=del_text) delete_button = ui.button("Löschen", on_click=del_text).bind_enabled_from(status_binder, 'value')
delete_button.disable() #delete_button.disable()
status_binder.value = False
notes = current_user.get_day_notes(today.year, today.month, today.day) notes = current_user.get_day_notes(today.year, today.month, today.day)
try: try:

View File

@ -274,7 +274,12 @@ class user:
def write_notes(self, year, month, day, note_dict): def write_notes(self, year, month, day, note_dict):
with open(f"{self.userfolder}/{int(year)}-{int(month)}.json", "r") as json_file: with open(f"{self.userfolder}/{int(year)}-{int(month)}.json", "r") as json_file:
json_data = json.load(json_file) json_data = json.load(json_file)
json_data["notes"][str(day)] = note_dict if len(note_dict) == 1:
json_data["notes"][str(day)] = { }
json_data["notes"][str(day)]["user"] = note_dict["user"]
else:
json_data["notes"][str(day)] = note_dict
json_output = json.dumps(json_data, indent=4) json_output = json.dumps(json_data, indent=4)
with open(f"{self.userfolder}/{int(year)}-{int(month)}.json", "w") as json_file: with open(f"{self.userfolder}/{int(year)}-{int(month)}.json", "w") as json_file:
json_file.write(json_output) json_file.write(json_output)

View File

@ -7,17 +7,20 @@
}, },
"notes": { "notes": {
"5": { "5": {
"testuser1": "Jo, das ging echt ab.", "user": "Jo, das ging echt ab.",
"admin": "Streik\n\nUnd anderes" "admin": "Streik\n\nUnd anderes"
}, },
"4": { "4": {
"admin": "Testeintrag" "admin": "Testeintrag\n\nZusatzeintrag"
}, },
"2": {}, "2": {},
"1": {}, "1": {},
"9": { "9": {
"testuser1": "Dieses ist ein Testeintrag.", "user": "Dieses ist ein Testeintrag.",
"admin": "Das sollte der Testuser nicht sehen" "admin": "Das sollte der Testuser nicht sehen"
},
"12": {
"user": "Testtext"
} }
} }
} }