You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

42 lines
2.2 KiB

from nicegui import ui
from montydb import MontyClient
from montydb.types.objectid import ObjectId
import signal
import os
def main(db: MontyClient, userid: str, sede: int, livello: int) -> None:
if userid!= "new":
result = db.users.find_one({"_id":ObjectId(userid)})
async def save():
data_submit = {k: v.value for k, v in data.items()}
if userid == "new":
data_submit['pagamenti']=[]
data_submit['presenze']=[]
db.users.insert_one(data_submit)
else:
print(data_submit)
db.users.update_one(
{"_id": ObjectId(userid)},
{"$set": data_submit}
)
os.kill(os.getpid(), signal.SIGUSR1)
await ui.run_javascript('history.back()', respond=False)
ui.icon("chevron_left", size="lg").on("click", lambda: ui.run_javascript('history.back()', respond=False))
with ui.column().classes("w-full h-screen place-items-center items-center").style(""):
data = {}
ui.row().classes("grow")
data['nome'] = ui.input(value=str(result['nome']).capitalize() if userid != "new" else None, placeholder="Nome").props('outline').classes('w-full')
data['cognome'] = ui.input(value=str(result['cognome']).capitalize() if userid != "new" else None, placeholder="Cognome").props('outline').classes('w-full')
data['telefono'] = ui.input(value=str(result['telefono']).capitalize() if userid != "new" else None, placeholder="Telefono").props('outline').classes('w-full')
data['email'] = ui.input(value=str(result['email']).capitalize() if userid != "new" else None, placeholder="email").props('outline').classes('w-full')
options = {o['id']: str(o['nome']).capitalize() for o in db.sedi.find()}
data['sede'] = ui.select(options, value=result['sede'] if userid != "new" else sede).props('outline').classes('w-full')
options = {o['id']: str(o['nome']).capitalize() for o in db.livelli.find()}
data['livello'] = ui.select(options, value=result['livello'] if userid != "new" else livello).props('outline').classes('w-full')
ui.button(text="Salva", on_click=save)
ui.row().classes("grow")