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:
ui.markdown('Administrator:')
else:
ui.markdown(user(username).fullname)
ui.markdown(current_user.fullname)
ui.markdown(text)
else:
ui.space()
@ -503,8 +503,8 @@ Dies kann nicht rückgängig gemacht werden!''')
del_buttons[user].delete()
def save_notes():
if not note_labels[admin_settings["admin_user"]].is_deleted:
notes[admin_settings["admin_user"]] = note_labels[admin_settings["admin_user"]].value
if not note_labels["admin"].is_deleted:
notes["admin"] = note_labels["admin"].value
current_user.write_notes(select_year.value, select_month.value, day, notes)
timetable.refresh()
dialog.close()
@ -519,18 +519,17 @@ Dies kann nicht rückgängig gemacht werden!''')
with ui.grid(columns='auto auto auto'):
admin_settings = load_adminsettings()
# Beschreibungsfeld für Admin
username_labels[admin_settings["admin_user"]] = ui.markdown("Administrator:")
username_labels["admin"] = ui.markdown("Administrator:")
# Textarea für Admin
note_labels[admin_settings["admin_user"]] = ui.textarea()
note_labels["admin"] = ui.textarea()
for name, text in notes.items():
if name != admin_settings["admin_user"]:
user_obj = user(name)
noteuser = user_obj.username
username_labels[noteuser] = ui.markdown(user_obj.fullname)
if name != "admin":
noteuser = "user"
username_labels[noteuser] = ui.markdown(current_user.fullname)
note_labels[noteuser] = ui.markdown(text)
else:
noteuser = admin_settings["admin_user"]
noteuser = "admin"
note_labels[noteuser].set_value(text)
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()
with ui.expansion("Tagesnotiz", icon='o_description'):
with ui.grid(columns=2):
status_binder = ValueBinder()
def button_enabler():
if daynote.value == "":
save_button.disable()
delete_button.disable()
status_binder.value = False
else:
save_button.enable()
delete_button.enable()
status_binder.value = True
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")
save_button.disable()
def save_note():
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():
daynote.value = ""
delete_button = ui.button("Löschen", on_click=del_text)
delete_button.disable()
delete_button = ui.button("Löschen", on_click=del_text).bind_enabled_from(status_binder, 'value')
#delete_button.disable()
status_binder.value = False
notes = current_user.get_day_notes(today.year, today.month, today.day)
try:

View File

@ -274,7 +274,12 @@ class user:
def write_notes(self, year, month, day, note_dict):
with open(f"{self.userfolder}/{int(year)}-{int(month)}.json", "r") as 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)
with open(f"{self.userfolder}/{int(year)}-{int(month)}.json", "w") as json_file:
json_file.write(json_output)

View File

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