petit modifs et ajout employees
This commit is contained in:
parent
c2467efef7
commit
a8262fa689
21
app.py
21
app.py
@ -9,7 +9,7 @@ from pydantic import BaseModel
|
|||||||
from sqlmodel import SQLModel, Relationship, Session, create_engine, select
|
from sqlmodel import SQLModel, Relationship, Session, create_engine, select
|
||||||
|
|
||||||
import json
|
import json
|
||||||
from models import ordinateur
|
from models import ordinateur, employee, employee_ordinateur
|
||||||
from forms import EmployeeForm
|
from forms import EmployeeForm
|
||||||
|
|
||||||
app = FastAPI()
|
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}
|
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)
|
@app.get("/employee/create", response_class=HTMLResponse)
|
||||||
async def get_employee_form(request: Request):
|
async def get_employee_form(request: Request):
|
||||||
return templates.TemplateResponse(
|
return templates.TemplateResponse(
|
||||||
request=request, name="employee_form.html", success= True )
|
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()]):
|
async def submit_employee_form(data: Annotated[EmployeeForm, Form()]):
|
||||||
print(f"data obtained is {data}")
|
print(f"data obtained is {data}")
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
employee = Employee(
|
employee = Employee(
|
||||||
first_name=data.first_name,
|
first_name=data.fname,
|
||||||
family_name=data.family_name
|
family_name=data.lname,
|
||||||
|
badge_number=data.badge
|
||||||
)
|
)
|
||||||
session.add(employee)
|
session.add(employee)
|
||||||
session.commit()
|
session.commit()
|
||||||
session.refresh(employee)
|
session.refresh(employee)
|
||||||
return RedirectResponse("/employees")
|
return templates.TemplateResponse(
|
||||||
|
request=request, name="employees.html", context={"employees": employees})
|
||||||
|
|
||||||
|
|
||||||
'''@app.post("/employee/delete", response=RedirectResponse)
|
'''@app.post("/employee/delete", response=RedirectResponse)
|
||||||
|
|||||||
8
forms.py
Normal file
8
forms.py
Normal 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
|
||||||
20
templates/employee_form.html
Normal file
20
templates/employee_form.html
Normal 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
19
templates/employees.html
Normal 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>
|
||||||
@ -91,6 +91,10 @@
|
|||||||
<td>Ram slots number</td>
|
<td>Ram slots number</td>
|
||||||
<td>{{ordi.ram_slots_nb}}</td>
|
<td>{{ordi.ram_slots_nb}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Mac address</td>
|
||||||
|
<td>{{ordi.mac_address}}</td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -120,10 +124,6 @@
|
|||||||
<td>Kernel</td>
|
<td>Kernel</td>
|
||||||
<td>{{ordi.kernel}}</td>
|
<td>{{ordi.kernel}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td>Mac adresse</td>
|
|
||||||
<td>{{ordi.mac_adresse}}</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user