Implemented scalable recipes (closes #127)

This commit is contained in:
Bernd Bestel
2019-03-03 13:27:10 +01:00
parent ee38d626aa
commit 89ad25c904
6 changed files with 131 additions and 32 deletions

View File

@@ -35,9 +35,21 @@ class RecipesController extends BaseController
}
}
// Scale ingredients amount based on desired servings
foreach ($selectedRecipePositions as $selectedRecipePosition)
{
$selectedRecipePosition->amount = $selectedRecipePosition->amount * ($selectedRecipe->desired_servings / $selectedRecipe->base_servings);
}
$selectedRecipeSubRecipes = $this->Database->recipes()->where('id IN (SELECT includes_recipe_id FROM recipes_nestings_resolved WHERE recipe_id = :1 AND includes_recipe_id != :1)', $selectedRecipe->id)->orderBy('name')->fetchAll();
$selectedRecipeSubRecipesPositions = $this->Database->recipes_pos()->where('recipe_id IN (SELECT includes_recipe_id FROM recipes_nestings_resolved WHERE recipe_id = :1 AND includes_recipe_id != :1)', $selectedRecipe->id)->orderBy('ingredient_group')->fetchAll();
// Scale ingredients amount based on desired servings
foreach ($selectedRecipeSubRecipesPositions as $selectedSubRecipePosition)
{
$selectedSubRecipePosition->amount = $selectedSubRecipePosition->amount * ($selectedRecipe->desired_servings / $selectedRecipe->base_servings);
}
return $this->AppContainer->view->render($response, 'recipes', [
'recipes' => $recipes,
'recipesFulfillment' => $this->RecipesService->GetRecipesFulfillment(),