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):