petit modifs et ajout employees

This commit is contained in:
Tenzing Kandang 2026-02-18 12:12:28 +01:00
parent c2467efef7
commit a8262fa689
6 changed files with 67 additions and 9 deletions

21
app.py
View File

@ -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)

8
forms.py Normal file
View File

@ -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

BIN
mydb.db Normal file

Binary file not shown.

View File

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<body>
<h2>Employee form</h2>
<form action="/employee/create" method="post" target="_blank">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname" value=""><br>
<label for="lname">Family name:</label><br>
<input type="text" id="lname" name="lname" value=""><br>
<label for="badge">Badge number:</label><br>
<input type="text" id="badge" name="badge" value=""><br>
<label for="ordis">Ordinateurs</label><br>
<input type="submit" value="Submit">
</form>
</body>
</html>

19
templates/employees.html Normal file
View File

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Employees</title>
</head>
<body>
<ul>{% for e in employees %}
<li>{{ e.first_name}} {{ e.last_name }} {{ e.badge_number }}</li>
{% endfor %}
</ul>
<ul>
<li>uhdziuuadza</li>
</ul>
</body>
</html>

View File

@ -91,6 +91,10 @@
<td>Ram slots number</td>
<td>{{ordi.ram_slots_nb}}</td>
</tr>
<tr>
<td>Mac address</td>
<td>{{ordi.mac_address}}</td>
</tr>
</table>
</div>
@ -120,10 +124,6 @@
<td>Kernel</td>
<td>{{ordi.kernel}}</td>
</tr>
<tr>
<td>Mac adresse</td>
<td>{{ordi.mac_adresse}}</td>
</tr>
</table>
</div>
</div>