diff --git a/brewman/brewman/models/recipe.py b/brewman/brewman/models/recipe.py index 6abc200e..254cbe1a 100644 --- a/brewman/brewman/models/recipe.py +++ b/brewman/brewman/models/recipe.py @@ -40,3 +40,30 @@ class Recipe: tags: Mapped[list["Tag"]] = relationship( "Tag", secondary=RecipeTag.__table__, order_by="Tag.name", back_populates="recipes" ) + + def __init__( + self, + date_: date, + source: str, + instructions: str, + garnishing: str, + plating: str, + notes: str, + recipe_yield: Decimal, + sku_id: uuid.UUID | None = None, + sku: "StockKeepingUnit" | None = None, + id_: uuid.UUID | None = None, + ): + self.date_ = date_ + self.source = source + self.instructions = instructions + self.garnishing = garnishing + self.plating = plating + self.notes = notes + self.recipe_yield = recipe_yield + if sku_id is not None: + self.sku_id = sku_id + if sku is not None: + self.sku = sku + if id_ is not None: + self.id = id_ diff --git a/brewman/brewman/models/recipe_item.py b/brewman/brewman/models/recipe_item.py index 4d66c20f..9ef8a4a0 100644 --- a/brewman/brewman/models/recipe_item.py +++ b/brewman/brewman/models/recipe_item.py @@ -29,3 +29,26 @@ class RecipeItem: recipe: Mapped["Recipe"] = relationship("Recipe", back_populates="items") product: Mapped["Product"] = relationship("Product") + + def __init__( + self, + quantity: Decimal, + description: str = "", + recipe_id: uuid.UUID | None = None, + product_id: uuid.UUID | None = None, + recipe: "Recipe" | None = None, + product: "Product" | None = None, + id_: uuid.UUID | None = None, + ): + self.quantity = quantity + self.description = description + if recipe_id is not None: + self.recipe_id = recipe_id + if product_id is not None: + self.product_id = product_id + if recipe is not None: + self.recipe = recipe + if product is not None: + self.product = product + if id_ is not None: + self.id = id_ diff --git a/brewman/brewman/routers/recipe.py b/brewman/brewman/routers/recipe.py index 4c7aa232..b5539c90 100644 --- a/brewman/brewman/routers/recipe.py +++ b/brewman/brewman/routers/recipe.py @@ -58,6 +58,7 @@ def save( instructions=data.instructions, garnishing=data.garnishing, plating=data.plating, + notes=data.notes, sku=recipe_sku, recipe_yield=round(data.recipe_yield, 2), ) @@ -71,7 +72,8 @@ def save( r_item.recipe_id = recipe.id db.add(r_item) - check_recursion(set([recipe_sku.product_id]), set(), recipe, db) + # TODO: Check recursion + # check_recursion(set([recipe_sku.product_id]), set(), recipe, db) db.commit() return recipe_info(recipe) except SQLAlchemyError as e: diff --git a/overlord/src/app/recipe/recipe-detail/recipe-detail.component.html b/overlord/src/app/recipe/recipe-detail/recipe-detail.component.html index 534efd41..7443b477 100644 --- a/overlord/src/app/recipe/recipe-detail/recipe-detail.component.html +++ b/overlord/src/app/recipe/recipe-detail/recipe-detail.component.html @@ -24,7 +24,7 @@
- + Product {{ product.name }} - + Yield @@ -74,17 +74,12 @@ Quantity - + Description - - Rate - - ₹  - - +
diff --git a/overlord/src/app/recipe/recipe-detail/recipe-detail.component.ts b/overlord/src/app/recipe/recipe-detail/recipe-detail.component.ts index 4680add4..f095a497 100644 --- a/overlord/src/app/recipe/recipe-detail/recipe-detail.component.ts +++ b/overlord/src/app/recipe/recipe-detail/recipe-detail.component.ts @@ -39,7 +39,6 @@ export class RecipeDetailComponent implements OnInit, AfterViewInit { ingredient: FormControl; quantity: FormControl; description: FormControl; - rate: FormControl; }>; instructions: FormControl; garnishing: FormControl; @@ -75,7 +74,6 @@ export class RecipeDetailComponent implements OnInit, AfterViewInit { ingredient: new FormControl(''), quantity: new FormControl('', { nonNullable: true }), description: new FormControl('', { nonNullable: true }), - rate: new FormControl('', { nonNullable: true }), }), instructions: new FormControl('', { nonNullable: true }), garnishing: new FormControl('', { nonNullable: true }), @@ -118,7 +116,6 @@ export class RecipeDetailComponent implements OnInit, AfterViewInit { ingredient: null, quantity: '', description: '', - rate: '', }, instructions: item.instructions, garnishing: item.garnishing, @@ -160,8 +157,7 @@ export class RecipeDetailComponent implements OnInit, AfterViewInit { return; } const quantity = this.math.parseAmount(formValue.quantity, 2); - const rate = this.math.parseAmount(formValue.rate, 2); - if (this.ingredient === null || quantity <= 0 || rate <= 0) { + if (this.ingredient === null || quantity <= 0) { return; } const oldFiltered = this.item.items.filter((x) => x.product.id === (this.ingredient as ProductSku).id);