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