diff --git a/frontend/src/components/MealPlan/MealPlanNew.vue b/frontend/src/components/MealPlan/MealPlanNew.vue index 8eaaa4389..c5ec0d8b7 100644 --- a/frontend/src/components/MealPlan/MealPlanNew.vue +++ b/frontend/src/components/MealPlan/MealPlanNew.vue @@ -69,16 +69,14 @@ - - + + {{ $t("general.random") }} - + {{ $t("general.save") }} - - @@ -136,7 +134,7 @@ export default { let dateDif = (endDate - startDate) / (1000 * 3600 * 24) + 1; - if (dateDif <= 1) { + if (dateDif < 1) { return null; } diff --git a/mealie/services/meal_services.py b/mealie/services/meal_services.py index a723b3fde..d681112b1 100644 --- a/mealie/services/meal_services.py +++ b/mealie/services/meal_services.py @@ -2,7 +2,7 @@ from datetime import date, timedelta from typing import List, Optional from db.database import db -from pydantic import BaseModel +from pydantic import BaseModel, validator from sqlalchemy.orm.session import Session from services.recipe_services import Recipe @@ -41,6 +41,12 @@ class MealPlan(BaseModel): } } + @validator('endDate') + def endDate_after_startDate(cls, v, values, **kwargs): + if 'startDate' in values and v < values['startDate']: + raise ValueError('EndDate should be greater than StartDate') + return v + def process_meals(self, session: Session): meals = [] for x, meal in enumerate(self.meals):