7 changed files with 103 additions and 110 deletions
@ -0,0 +1 @@
|
||||
{"username": "admin", "authenticated": true, "id": 0, "level": 0, "name": "Matteo Benedetto"} |
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,32 @@
|
||||
from nicegui import ui |
||||
from montydb import MontyClient |
||||
|
||||
def main(db: MontyClient): |
||||
def choose(sede, livello): |
||||
if int(livello) < 0: |
||||
page.refresh(sede) |
||||
else: |
||||
ui.open(f"/manager/{sede}/{livello}") |
||||
@ui.refreshable |
||||
def page(sede): |
||||
if int(sede) <0: |
||||
results = db.sedi.find() |
||||
ui.button(on_click=lambda: (app.storage.user.clear(), ui.open('/login')), icon='logout').props('outline round').style("positon:absolute") |
||||
with ui.column().classes("w-full h-screen place-items-center items-center").style(""): |
||||
ui.row().classes("grow") |
||||
for result in results: |
||||
ui.button(text=str(result['nome']).capitalize(),on_click=lambda id=result['id']:choose(id, -1)) |
||||
ui.row().classes("grow") |
||||
else: |
||||
results = db.livelli.find() |
||||
|
||||
with ui.row().classes("w-full").style("positon:absolute"): |
||||
ui.icon("chevron_left", size="lg").on("click", lambda: page.refresh(-1)) |
||||
with ui.column().classes("w-full h-screen place-items-center items-center"): |
||||
ui.row().classes("grow") |
||||
for result in results: |
||||
ui.button(text=str(result['nome']).capitalize(),on_click=lambda id=result['id']:choose(sede, id)) |
||||
ui.row().classes("grow") |
||||
|
||||
## FRONTEND |
||||
page(-1) |
||||
@ -0,0 +1,42 @@
|
||||
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") |
||||
Loading…
Reference in new issue