Projekt

Obecné

Profil

« Předchozí | Další » 

Revize eaf8ace4

Přidáno uživatelem Matěj Zeman před asi 2 roky(ů)

Added functionality for creating licenses and teams and connecting them to devices a PCs.

Zobrazit rozdíly:

server/sql_app/api/devices_web.py
11 11
from fastapi.templating import Jinja2Templates
12 12

  
13 13
models.Base.metadata.create_all(bind=engine)
14
templates = Jinja2Templates(directory="../templates/devices")
14
templates = Jinja2Templates(directory="templates/devices")
15 15

  
16 16
device_web = APIRouter(prefix="/api/v1")
17 17

  
......
28 28
@device_web.get("/devices-web", response_class=HTMLResponse)
29 29
async def read_devices(request: Request, skip: int = 0, limit: int = 100, db: Session = Depends(get_db)):
30 30
    devices = crud.get_devices(db, skip=skip, limit=limit)
31
    return templates.TemplateResponse("devices.html", {"request": request, "devs": devices})
31
    statuses = []
32
    for i in range(0, len(devices)):
33
        statuses.append(devices[i].logs[len(devices[i].logs)-1].status)
34
    licenses = crud.get_licenses(db, skip=skip, limit=limit)
35
    return templates.TemplateResponse("devices.html", {"request": request, "devs": len(devices), "devices": devices,
36
                                                       "statuses": statuses, "licenses": licenses})
32 37

  
33 38

  
34 39
@device_web.post("/devices-web", response_class=HTMLResponse)
......
42 47
                def_devices.append(dev)
43 48
    if lic == "all":
44 49
        def_devices = devices
45
    return templates.TemplateResponse("devices.html", {"request": request, "devs": def_devices})
50
    statuses = []
51
    for i in range(0, len(def_devices)):
52
        statuses.append(def_devices[i].logs[len(def_devices[i].logs) - 1].status)
53
    licenses = crud.get_licenses(db, skip=skip, limit=limit)
54
    return templates.TemplateResponse("devices.html", {"request": request, "devs": len(def_devices), "devices": def_devices,
55
                                                       "statuses": statuses, "licenses": licenses})
56

  
57

  
58
@device_web.get("/device-license/{device_id}", response_class=HTMLResponse)
59
async def connect_dev_lic(request: Request, device_id: int, db: Session = Depends(get_db)):
60
    device = crud.get_device(db, device_id)
61
    licenses = crud.get_licenses(db, 0, 100)
62
    return templates.TemplateResponse("devicelicense.html",
63
                                      {"request": request, "device": device, "licenses": licenses})
64

  
65

  
66
@device_web.post("/devices-web/{device_id}", response_class=HTMLResponse)
67
async def connect_post(request: Request, device_id: int, lic: str = Form(...), skip: int = 0, limit: int = 100,
68
                       db: Session = Depends(get_db)):
69
    crud.create_device_license(db, device_id, int(lic), datetime.now())
70
    devices = crud.get_devices(db, skip=skip, limit=limit)
71
    statuses = []
72
    for i in range(0, len(devices)):
73
        statuses.append(devices[i].logs[len(devices[i].logs) - 1].status)
74
    licenses = crud.get_licenses(db, skip=skip, limit=limit)
75
    return templates.TemplateResponse("devices.html", {"request": request, "devs": len(devices), "devices": devices,
76
                                                       "statuses": statuses, "licenses": licenses})

Také k dispozici: Unified diff