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 0000000..91ac563 Binary files /dev/null and b/mydb.db differ 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 + + + + + + + \ 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}} -