From a8262fa6894536c9ca7c08c7dd944f96d7f07932 Mon Sep 17 00:00:00 2001 From: tenzi Date: Wed, 18 Feb 2026 12:12:28 +0100 Subject: [PATCH] petit modifs et ajout employees --- app.py | 21 ++++++++++++++++----- forms.py | 8 ++++++++ mydb.db | Bin 0 -> 135168 bytes templates/employee_form.html | 20 ++++++++++++++++++++ templates/employees.html | 19 +++++++++++++++++++ templates/item.html | 8 ++++---- 6 files changed, 67 insertions(+), 9 deletions(-) create mode 100644 forms.py create mode 100644 mydb.db create mode 100644 templates/employee_form.html create mode 100644 templates/employees.html diff --git a/app.py b/app.py index 238a036..13813f6 100644 --- a/app.py +++ b/app.py @@ -9,7 +9,7 @@ from pydantic import BaseModel from sqlmodel import SQLModel, Relationship, Session, create_engine, select import json -from models import ordinateur +from models import ordinateur, employee, employee_ordinateur from forms import EmployeeForm app = FastAPI() @@ -38,23 +38,34 @@ async def get_ordi1_info(request: Request, ordi_id: int): request=request, name="item.html", context={"ordi": this_ordi} ) +@app.get("/employees", response_class=HTMLResponse) +async def get_employees(request: Request): + with Session(engine) as session: + statement= select(employee) + employees= session.exec(statement).all() + return templates.TemplateResponse( + request=request, name="employees.html", context={"employees": employees} + ) + @app.get("/employee/create", response_class=HTMLResponse) async def get_employee_form(request: Request): return templates.TemplateResponse( request=request, name="employee_form.html", success= True ) -@app.post("/employee/create", response_class=RedirectResponse) +@app.post("/employee/create", response_class=HTMLResponse) async def submit_employee_form(data: Annotated[EmployeeForm, Form()]): print(f"data obtained is {data}") with Session(engine) as session: employee = Employee( - first_name=data.first_name, - family_name=data.family_name + first_name=data.fname, + family_name=data.lname, + badge_number=data.badge ) session.add(employee) session.commit() session.refresh(employee) - return RedirectResponse("/employees") + return templates.TemplateResponse( + request=request, name="employees.html", context={"employees": employees}) '''@app.post("/employee/delete", response=RedirectResponse) diff --git a/forms.py b/forms.py new file mode 100644 index 0000000..6f5ec0b --- /dev/null +++ b/forms.py @@ -0,0 +1,8 @@ +#!/usr/bin/python3 +from fastapi import Form +from pydantic import BaseModel + +class EmployeeForm(BaseModel): + first_name: str + family_name: str + badge_number: str \ No newline at end of file diff --git a/mydb.db b/mydb.db new file mode 100644 index 0000000000000000000000000000000000000000..91ac563a662053dc16c956a8865cb209a55a55ea GIT binary patch literal 135168 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 QoZ4p1_N9j=u2Mz&FI1^&Gynhq literal 0 HcmV?d00001 diff --git a/templates/employee_form.html b/templates/employee_form.html new file mode 100644 index 0000000..da71be5 --- /dev/null +++ b/templates/employee_form.html @@ -0,0 +1,20 @@ + + + + +

Employee form

+ +
+
+
+
+
+
+
+
+ +
+ + + + diff --git a/templates/employees.html b/templates/employees.html new file mode 100644 index 0000000..87f9904 --- /dev/null +++ b/templates/employees.html @@ -0,0 +1,19 @@ + + + + + + Employees + + +
    {% for e in employees %} +
  • {{ e.first_name}} {{ e.last_name }} {{ e.badge_number }}
  • + {% endfor %} +
+
    +
  • uhdziuuadza
  • + +
+ + + \ No newline at end of file diff --git a/templates/item.html b/templates/item.html index 8e6e47d..1990bd7 100644 --- a/templates/item.html +++ b/templates/item.html @@ -91,6 +91,10 @@ Ram slots number {{ordi.ram_slots_nb}} + + Mac address + {{ordi.mac_address}} + @@ -120,10 +124,6 @@ Kernel {{ordi.kernel}} - - Mac adresse - {{ordi.mac_adresse}} -