diff --git a/public/viewjs/mealplan.js b/public/viewjs/mealplan.js
index 18785fa9..960ec7df 100644
--- a/public/viewjs/mealplan.js
+++ b/public/viewjs/mealplan.js
@@ -49,9 +49,9 @@ var calendar = $("#calendar").fullCalendar({
var weekCosts = 0;
var weekRecipeOrderMissingButtonHtml = "";
var weekRecipeConsumeButtonHtml = "";
+ var weekCostsHtml = "";
if (weekRecipe !== null)
{
- var weekCostsHtml = "";
if (Grocy.FeatureFlags.GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING)
{
weekCosts = FindObjectInArrayByPropertyValue(recipesResolved, "recipe_id", weekRecipe.id).costs;
@@ -64,12 +64,13 @@ var calendar = $("#calendar").fullCalendar({
weekRecipeOrderMissingButtonDisabledClasses = "disabled";
}
var weekRecipeConsumeButtonDisabledClasses = "";
- if (FindObjectInArrayByPropertyValue(recipesResolved, "recipe_id", weekRecipe.id).need_fulfilled == 0)
+ console.log(weekCosts);
+ if (FindObjectInArrayByPropertyValue(recipesResolved, "recipe_id", weekRecipe.id).need_fulfilled == 0 || weekCosts == 0)
{
weekRecipeConsumeButtonDisabledClasses = "disabled";
}
weekRecipeOrderMissingButtonHtml = ''
- weekRecipeConsumeButtonHtml = ''
+ weekRecipeConsumeButtonHtml = ''
}
$(".fc-header-toolbar .fc-center").html("
" + weekCostsHtml + weekRecipeOrderMissingButtonHtml + weekRecipeConsumeButtonHtml + "
");
},
diff --git a/services/CalendarService.php b/services/CalendarService.php
index e951cb91..310fa117 100644
--- a/services/CalendarService.php
+++ b/services/CalendarService.php
@@ -92,7 +92,7 @@ class CalendarService extends BaseService
$recipes = $this->Database->recipes();
$mealPlanDayRecipes = $this->Database->recipes()->where('type', 'mealplan-day');
- $titlePrefix = $this->LocalizationService->__t('Meal plan') . ': ';
+ $titlePrefix = $this->LocalizationService->__t('Meal plan recipe') . ': ';
$mealPlanRecipeEvents = array();
foreach($mealPlanDayRecipes as $mealPlanDayRecipe)
{
@@ -108,6 +108,31 @@ class CalendarService extends BaseService
}
}
- return array_merge($stockEvents, $taskEvents, $choreEvents, $batteryEvents, $mealPlanRecipeEvents);
+ $mealPlanDayNotes = $this->Database->meal_plan()->where('type', 'note');
+ $titlePrefix = $this->LocalizationService->__t('Meal plan note') . ': ';
+ $mealPlanNotesEvents = array();
+ foreach($mealPlanDayNotes as $mealPlanDayNote)
+ {
+ $mealPlanNotesEvents[] = array(
+ 'title' => $titlePrefix . $mealPlanDayNote->note,
+ 'start' => $mealPlanDayNote->day,
+ 'date_format' => 'date'
+ );
+ }
+
+ $products = $this->Database->products();
+ $mealPlanDayProducts = $this->Database->meal_plan()->where('type', 'product');
+ $titlePrefix = $this->LocalizationService->__t('Meal plan product') . ': ';
+ $mealPlanProductEvents = array();
+ foreach($mealPlanDayProducts as $mealPlanDayProduct)
+ {
+ $mealPlanProductEvents[] = array(
+ 'title' => $titlePrefix . FindObjectInArrayByPropertyValue($products, 'id', $mealPlanDayProduct->product_id)->name,
+ 'start' => $mealPlanDayProduct->day,
+ 'date_format' => 'date'
+ );
+ }
+
+ return array_merge($stockEvents, $taskEvents, $choreEvents, $batteryEvents, $mealPlanRecipeEvents, $mealPlanNotesEvents, $mealPlanProductEvents);
}
}