mirror of
https://github.com/sstent/foodplanner.git
synced 2025-12-06 08:01:47 +00:00
fixing meal edit on teampltes page
This commit is contained in:
@@ -50,6 +50,10 @@ async def tracker_page(request: Request, person: str = "Sarah", date: str = None
|
||||
TrackedMeal.tracked_day_id == tracked_day.id
|
||||
).all()
|
||||
|
||||
# Filter out deleted tracked foods from each tracked meal
|
||||
for tracked_meal in tracked_meals:
|
||||
tracked_meal.tracked_foods = [tf for tf in tracked_meal.tracked_foods if not tf.is_deleted]
|
||||
|
||||
# Get all meals for dropdown
|
||||
meals = db.query(Meal).all()
|
||||
|
||||
@@ -472,9 +476,6 @@ async def update_tracked_meal_foods(data: dict = Body(...), db: Session = Depend
|
||||
tracked_meal_id = data.get("tracked_meal_id")
|
||||
foods_data = data.get("foods", [])
|
||||
removed_food_ids = data.get("removed_food_ids", [])
|
||||
print(f"Received update for tracked_meal_id: {tracked_meal_id}")
|
||||
print(f" Foods data: {foods_data}")
|
||||
print(f" Removed food IDs: {removed_food_ids}")
|
||||
|
||||
tracked_meal = db.query(TrackedMeal).filter(TrackedMeal.id == tracked_meal_id).first()
|
||||
if not tracked_meal:
|
||||
@@ -482,18 +483,15 @@ async def update_tracked_meal_foods(data: dict = Body(...), db: Session = Depend
|
||||
|
||||
# Process removals: mark existing foods as deleted
|
||||
for food_id_to_remove in removed_food_ids:
|
||||
print(f" Processing removal for food_id: {food_id_to_remove}")
|
||||
# Check if an override already exists
|
||||
override = db.query(TrackedMealFood).filter(
|
||||
TrackedMealFood.tracked_meal_id == tracked_meal_id,
|
||||
TrackedMealFood.food_id == food_id_to_remove
|
||||
).first()
|
||||
if override:
|
||||
print(f" Found existing override for food_id {food_id_to_remove}. Marking as deleted.")
|
||||
override.is_deleted = True
|
||||
else:
|
||||
# If no override exists, create one to mark the food as deleted
|
||||
print(f" No existing override for food_id {food_id_to_remove}. Creating new deleted override.")
|
||||
new_override = TrackedMealFood(
|
||||
tracked_meal_id=tracked_meal_id,
|
||||
food_id=food_id_to_remove,
|
||||
@@ -502,7 +500,6 @@ async def update_tracked_meal_foods(data: dict = Body(...), db: Session = Depend
|
||||
is_deleted=True
|
||||
)
|
||||
db.add(new_override)
|
||||
print(f" New override created: {new_override.is_deleted}")
|
||||
|
||||
# Process updates and additions
|
||||
for food_data in foods_data:
|
||||
@@ -717,6 +714,10 @@ async def detailed_tracked_day(request: Request, person: str = "Sarah", date: Op
|
||||
TrackedMeal.tracked_day_id == tracked_day.id
|
||||
).all()
|
||||
|
||||
# Filter out deleted tracked foods from each tracked meal
|
||||
for tracked_meal in tracked_meals:
|
||||
tracked_meal.tracked_foods = [tf for tf in tracked_meal.tracked_foods if not tf.is_deleted]
|
||||
|
||||
day_totals = calculate_day_nutrition_tracked(tracked_meals, db)
|
||||
|
||||
meal_details = []
|
||||
|
||||
Reference in New Issue
Block a user