mirror of
https://github.com/sstent/foodplanner.git
synced 2026-03-13 16:55:24 +00:00
fixing weekly menu tab
This commit is contained in:
17
main.py
17
main.py
@@ -7,6 +7,7 @@ print("DEBUG: main.py started")
|
||||
from fastapi import FastAPI, Depends, HTTPException, Request, Form, Body
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from fastapi.responses import HTMLResponse
|
||||
from sqlalchemy import create_engine, Column, Integer, String, Float, DateTime, ForeignKey, Text, Date, Boolean
|
||||
from sqlalchemy import or_
|
||||
@@ -58,6 +59,13 @@ Base = declarative_base()
|
||||
app = FastAPI(title="Meal Planner")
|
||||
templates = Jinja2Templates(directory="templates")
|
||||
|
||||
# Add a logging middleware to see incoming requests
|
||||
@app.middleware("http")
|
||||
async def log_requests(request: Request, call_next):
|
||||
logging.info(f"Incoming request: {request.method} {request.url.path}")
|
||||
response = await call_next(request)
|
||||
return response
|
||||
|
||||
# Get the port from environment variable or default to 8999
|
||||
PORT = int(os.getenv("PORT", 8999))
|
||||
|
||||
@@ -1536,11 +1544,11 @@ async def delete_meals(meal_ids: dict = Body(...), db: Session = Depends(get_db)
|
||||
|
||||
#Weekly Menu tab
|
||||
|
||||
@app.get("/weekly-menu", response_class=HTMLResponse)
|
||||
@app.get("/weeklymenu", response_class=HTMLResponse)
|
||||
async def weekly_menu_page(request: Request, db: Session = Depends(get_db)):
|
||||
weekly_menus = db.query(WeeklyMenu).all()
|
||||
templates = db.query(Template).all()
|
||||
return templates.TemplateResponse("weekly_menu.html", {
|
||||
return templates.TemplateResponse("weeklymenu.html", {
|
||||
"request": request,
|
||||
"weekly_menus": weekly_menus,
|
||||
"templates": templates
|
||||
@@ -2095,6 +2103,11 @@ async def test_route():
|
||||
logging.info("DEBUG: Test route called")
|
||||
return {"status": "success", "message": "Test route is working"}
|
||||
|
||||
@app.get("/templates", response_class=HTMLResponse)
|
||||
async def templates_page(request: Request, db: Session = Depends(get_db)):
|
||||
templates = db.query(Template).all()
|
||||
return templates.TemplateResponse("templates.html", {"request": request, "templates": templates})
|
||||
|
||||
@app.post("/templates/upload")
|
||||
async def bulk_upload_templates(file: UploadFile = File(...), db: Session = Depends(get_db)):
|
||||
"""Handle bulk template upload from CSV"""
|
||||
|
||||
20
templates/templates.html
Normal file
20
templates/templates.html
Normal file
@@ -0,0 +1,20 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Templates</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container mt-4">
|
||||
<h1>Templates</h1>
|
||||
<p>This is the templates page.</p>
|
||||
<ul>
|
||||
{% for template in templates %}
|
||||
<li>{{ template.name }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user