Skip to content

Commit 65ea968

Browse files
authored
Merge pull request #175 from folded-ear/no-quantity-shop-agg
scale sections' ingredients, but not subrecipes'
2 parents 967d5dd + 63e5c86 commit 65ea968

2 files changed

Lines changed: 11 additions & 4 deletions

File tree

src/main/java/com/brennaswitzer/cookbook/domain/AggregateIngredient.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,6 @@ default IngredientRef addIngredient(Ingredient ingredient, String preparation) {
3636
*/
3737
Collection<IngredientRef> assembleRawIngredientRefs();
3838

39+
boolean isOwnedSection();
40+
3941
}

src/main/java/com/brennaswitzer/cookbook/services/PlanService.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,16 +176,21 @@ private void sendToPlan(IngredientRef ref, PlanItem aggItem, Double scale) {
176176
}
177177
Ingredient ingredient = Hibernate.unproxy(ref.getIngredient(), Ingredient.class);
178178
if (ingredient instanceof AggregateIngredient agg) {
179-
// Subrecipes DO NOT get scaled; there's not a quantifiable
180-
// relationship to multiply across. The ref's quantity itself is
181-
// scaled, so the recipe remains intact.
182179
PlanItem it = new PlanItem(
183180
ingredient.getName(),
184181
ref.getQuantity(),
185182
ingredient,
186183
ref.getPreparation());
187184
aggItem.addAggregateComponent(it);
188-
sendToPlan(agg, it, 1d);
185+
// Subrecipes DO NOT get scaled; there's not a quantifiable
186+
// relationship to multiply across. The ref's quantity itself is
187+
// scaled, so the parent recipe remains intact. Sections, however,
188+
// DO get scaled as they are "part of" the parent recipe (and never
189+
// have a quantity on their ref).
190+
if (!agg.isOwnedSection()) {
191+
scale = 1d;
192+
}
193+
sendToPlan(agg, it, scale);
189194
} else {
190195
aggItem.addAggregateComponent(new PlanItem(
191196
ref.toString(),

0 commit comments

Comments
 (0)