|
1 | 1 | import os |
2 | 2 | import pathlib |
| 3 | +from typing import Annotated |
3 | 4 |
|
4 | 5 | from azure.monitor.opentelemetry import configure_azure_monitor |
5 | | -from fastapi import FastAPI, Request |
| 6 | +from fastapi import FastAPI, Form, Request |
6 | 7 | from fastapi.responses import HTMLResponse |
7 | 8 | from fastapi.staticfiles import StaticFiles |
8 | 9 | from fastapi.templating import Jinja2Templates |
@@ -59,14 +60,23 @@ def cruise_detail(request: Request, pk: int): |
59 | 60 |
|
60 | 61 | @app.get("/info_request/", response_class=HTMLResponse) |
61 | 62 | def info_request(request: Request): |
62 | | - return templates.TemplateResponse("info_request_create.html", {"request": request}) |
| 63 | + with Session(engine) as session: |
| 64 | + all_cruises = session.exec(select(Cruise)).all() |
| 65 | + return templates.TemplateResponse("info_request_create.html", {"request": request, "cruises": all_cruises}) |
63 | 66 |
|
64 | 67 |
|
65 | 68 | @app.post("/info_request/", response_model=InfoRequest) |
66 | | -def create_info_request(info_request: InfoRequest): |
| 69 | +def create_info_request(request: Request, info_request: Annotated[InfoRequest, Form()]): |
67 | 70 | with Session(engine) as session: |
68 | | - db_info_request = InfoRequest.from_orm(info_request) |
69 | | - session.add(db_info_request) |
| 71 | + session.add(info_request) |
70 | 72 | session.commit() |
71 | | - session.refresh(db_info_request) |
72 | | - return db_info_request |
| 73 | + session.refresh(info_request) |
| 74 | + all_cruises = session.exec(select(Cruise)).all() |
| 75 | + return templates.TemplateResponse( |
| 76 | + "info_request_create.html", |
| 77 | + { |
| 78 | + "request": request, |
| 79 | + "cruises": all_cruises, |
| 80 | + "message": "Information request submitted.", |
| 81 | + }, |
| 82 | + ) |
0 commit comments