mirror of
https://github.com/grocy/grocy.git
synced 2025-04-29 17:45:39 +00:00
Enforce min_stock_amount for child products where the parent has cumulate_min_stock_amount_of_sub_products enabled (fixes #1595)
This commit is contained in:
parent
038917b030
commit
cebb368a28
53
migrations/0151.sql
Normal file
53
migrations/0151.sql
Normal file
@ -0,0 +1,53 @@
|
||||
CREATE TRIGGER enforce_min_stock_amount_for_cumulated_childs_INS AFTER INSERT ON products
|
||||
BEGIN
|
||||
/*
|
||||
When a parent product has cumulate_min_stock_amount_of_sub_products enabled,
|
||||
the child should not have any min_stock_amount
|
||||
*/
|
||||
|
||||
UPDATE products
|
||||
SET min_stock_amount = 0
|
||||
WHERE id IN (
|
||||
SELECT
|
||||
p_child.id
|
||||
FROM products p_parent
|
||||
JOIN products p_child
|
||||
ON p_child.parent_product_id = p_parent.id
|
||||
WHERE p_parent.id = NEW.id
|
||||
AND IFNULL(p_parent.cumulate_min_stock_amount_of_sub_products, 0) = 1
|
||||
)
|
||||
AND min_stock_amount > 0;
|
||||
END;
|
||||
|
||||
CREATE TRIGGER enforce_min_stock_amount_for_cumulated_childs_UPD AFTER UPDATE ON products
|
||||
BEGIN
|
||||
/*
|
||||
When a parent product has cumulate_min_stock_amount_of_sub_products enabled,
|
||||
the child should not have any min_stock_amount
|
||||
*/
|
||||
|
||||
UPDATE products
|
||||
SET min_stock_amount = 0
|
||||
WHERE id IN (
|
||||
SELECT
|
||||
p_child.id
|
||||
FROM products p_parent
|
||||
JOIN products p_child
|
||||
ON p_child.parent_product_id = p_parent.id
|
||||
WHERE p_parent.id = NEW.id
|
||||
AND IFNULL(p_parent.cumulate_min_stock_amount_of_sub_products, 0) = 1
|
||||
)
|
||||
AND min_stock_amount > 0;
|
||||
END;
|
||||
|
||||
UPDATE products
|
||||
SET min_stock_amount = 0
|
||||
WHERE id IN (
|
||||
SELECT
|
||||
p_child.id
|
||||
FROM products p_parent
|
||||
JOIN products p_child
|
||||
ON p_child.parent_product_id = p_parent.id
|
||||
WHERE IFNULL(p_parent.cumulate_min_stock_amount_of_sub_products, 0) = 1
|
||||
)
|
||||
AND min_stock_amount > 0;
|
Loading…
x
Reference in New Issue
Block a user