mirror of
https://github.com/grocy/grocy.git
synced 2025-04-29 09:39:57 +00:00
Added recipe position groups (references #77)
This commit is contained in:
parent
fc3a4c6899
commit
b84e6da0dd
@ -30,13 +30,13 @@ class RecipesController extends BaseController
|
|||||||
foreach ($recipes as $recipe)
|
foreach ($recipes as $recipe)
|
||||||
{
|
{
|
||||||
$selectedRecipe = $recipe;
|
$selectedRecipe = $recipe;
|
||||||
$selectedRecipePositions = $this->Database->recipes_pos()->where('recipe_id', $recipe->id);
|
$selectedRecipePositions = $this->Database->recipes_pos()->where('recipe_id', $recipe->id)->orderBy('ingredient_group');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$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();
|
$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)->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();
|
||||||
|
|
||||||
return $this->AppContainer->view->render($response, 'recipes', [
|
return $this->AppContainer->view->render($response, 'recipes', [
|
||||||
'recipes' => $recipes,
|
'recipes' => $recipes,
|
||||||
|
@ -38,3 +38,6 @@ LEFT JOIN recipes_nestings_resolved rnr
|
|||||||
LEFT JOIN recipes_fulfillment rf
|
LEFT JOIN recipes_fulfillment rf
|
||||||
ON rnr.includes_recipe_id = rf.recipe_id
|
ON rnr.includes_recipe_id = rf.recipe_id
|
||||||
GROUP BY r.id;
|
GROUP BY r.id;
|
||||||
|
|
||||||
|
ALTER TABLE recipes_pos
|
||||||
|
ADD ingredient_group TEXT;
|
||||||
|
@ -68,6 +68,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="ingredient_group">{{ $L('Group') }}</label>
|
||||||
|
<input type="text" class="form-control" id="ingredient_group" name="ingredient_group" value="@if($mode == 'edit'){{ $recipePos->ingredient_group }}@endif">
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="note">{{ $L('Note') }}</label>
|
<label for="note">{{ $L('Note') }}</label>
|
||||||
<textarea class="form-control" rows="2" id="note" name="note">@if($mode == 'edit'){{ $recipePos->note }}@endif</textarea>
|
<textarea class="form-control" rows="2" id="note" name="note">@if($mode == 'edit'){{ $recipePos->note }}@endif</textarea>
|
||||||
|
@ -101,7 +101,11 @@
|
|||||||
<h5 class="mb-0">{{ $L('Ingredients') }}</h5>
|
<h5 class="mb-0">{{ $L('Ingredients') }}</h5>
|
||||||
</div>
|
</div>
|
||||||
<ul class="list-group list-group-flush">
|
<ul class="list-group list-group-flush">
|
||||||
|
@php $lastGroup = 'undefined'; @endphp
|
||||||
@foreach($selectedRecipePositions as $selectedRecipePosition)
|
@foreach($selectedRecipePositions as $selectedRecipePosition)
|
||||||
|
@if($lastGroup != $selectedRecipePosition->ingredient_group)
|
||||||
|
<h5 class="mb-2 mt-4 ml-4"><strong>{{ $selectedRecipePosition->ingredient_group }}</strong></h5>
|
||||||
|
@endif
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
{{ $selectedRecipePosition->amount }} {{ Pluralize($selectedRecipePosition->amount, FindObjectInArrayByPropertyValue($quantityunits, 'id', $selectedRecipePosition->qu_id)->name, FindObjectInArrayByPropertyValue($quantityunits, 'id', $selectedRecipePosition->qu_id)->name_plural) }} {{ FindObjectInArrayByPropertyValue($products, 'id', $selectedRecipePosition->product_id)->name }}
|
{{ $selectedRecipePosition->amount }} {{ Pluralize($selectedRecipePosition->amount, FindObjectInArrayByPropertyValue($quantityunits, 'id', $selectedRecipePosition->qu_id)->name, FindObjectInArrayByPropertyValue($quantityunits, 'id', $selectedRecipePosition->qu_id)->name_plural) }} {{ FindObjectInArrayByPropertyValue($products, 'id', $selectedRecipePosition->product_id)->name }}
|
||||||
<span class="timeago-contextual">@if(FindObjectInArrayByPropertyValue($recipesFulfillment, 'recipe_pos_id', $selectedRecipePosition->id)->need_fulfilled == 1) {{ $L('Enough in stock') }} @else {{ $L('Not enough in stock, #1 missing, #2 already on shopping list', FindObjectInArrayByPropertyValue($recipesFulfillment, 'recipe_pos_id', $selectedRecipePosition->id)->missing_amount, FindObjectInArrayByPropertyValue($recipesFulfillment, 'recipe_pos_id', $selectedRecipePosition->id)->amount_on_shopping_list) }} @endif</span>
|
<span class="timeago-contextual">@if(FindObjectInArrayByPropertyValue($recipesFulfillment, 'recipe_pos_id', $selectedRecipePosition->id)->need_fulfilled == 1) {{ $L('Enough in stock') }} @else {{ $L('Not enough in stock, #1 missing, #2 already on shopping list', FindObjectInArrayByPropertyValue($recipesFulfillment, 'recipe_pos_id', $selectedRecipePosition->id)->missing_amount, FindObjectInArrayByPropertyValue($recipesFulfillment, 'recipe_pos_id', $selectedRecipePosition->id)->amount_on_shopping_list) }} @endif</span>
|
||||||
@ -110,6 +114,7 @@
|
|||||||
<div class="text-muted">{{ $selectedRecipePosition->note }}</div>
|
<div class="text-muted">{{ $selectedRecipePosition->note }}</div>
|
||||||
@endif
|
@endif
|
||||||
</li>
|
</li>
|
||||||
|
@php $lastGroup = $selectedRecipePosition->ingredient_group; @endphp
|
||||||
@endforeach
|
@endforeach
|
||||||
</ul>
|
</ul>
|
||||||
@endif
|
@endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user