mirror of
https://github.com/grocy/grocy.git
synced 2025-04-28 17:23:56 +00:00
- Only refresh contextual number/datetime info/formatting where needed (closes #513) - Also refresh correlated stock journal entries on undo (closes #471) - Prefill "New amount" with the current stock amount on the inventory page (closes #434) - Ensure that the location_id of the stock and stock_log tables is never empty after migration 95 (references #421) - Load initial values of the /stockedit form server side to improve loading performance (references #421) - Use more or less the same input ordering as on the purchase page for the /stockedit page (references #421) - Also display the "Compact view" button on the shopping list page when FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS is disabled (references #453) - Ensure that the currently active sidebar menu item is visible - Optimized sidebar menu item grouping/spacing - Properly order the API documentation route groups and put the "by-barcode" routes into a separate group - Updated dependencies - Pulled translations from Transifex - Prepared changelog for next release
65 lines
1.7 KiB
SQL
65 lines
1.7 KiB
SQL
CREATE TRIGGER set_products_default_location_if_empty_stock AFTER INSERT ON stock
|
|
BEGIN
|
|
UPDATE stock
|
|
SET location_id = (SELECT location_id FROM products where id = product_id)
|
|
WHERE id = NEW.id
|
|
AND location_id IS NULL;
|
|
END;
|
|
|
|
UPDATE stock
|
|
SET location_id = (SELECT location_id FROM products where id = product_id)
|
|
WHERE location_id IS NULL;
|
|
|
|
CREATE TRIGGER set_products_default_location_if_empty_stock_log AFTER INSERT ON stock_log
|
|
BEGIN
|
|
UPDATE stock_log
|
|
SET location_id = (SELECT location_id FROM products where id = product_id)
|
|
WHERE id = NEW.id
|
|
AND location_id IS NULL;
|
|
END;
|
|
|
|
UPDATE stock_log
|
|
SET location_id = (SELECT location_id FROM products where id = product_id)
|
|
WHERE location_id IS NULL;
|
|
|
|
ALTER TABLE stock_log
|
|
ADD correlation_id TEXT;
|
|
|
|
ALTER TABLE stock_log
|
|
ADD transaction_id TEXT;
|
|
|
|
ALTER TABLE stock_log
|
|
ADD stock_row_id INTEGER;
|
|
|
|
DROP VIEW stock_current_locations;
|
|
CREATE VIEW stock_current_locations
|
|
AS
|
|
SELECT
|
|
1 AS id, -- Dummy, LessQL needs an id column
|
|
s.product_id,
|
|
s.location_id AS location_id,
|
|
l.name AS location_name
|
|
FROM stock s
|
|
JOIN locations l
|
|
ON s.location_id = l.id
|
|
GROUP BY s.product_id, s.location_id, l.name;
|
|
|
|
ALTER TABLE recipes
|
|
ADD product_id INTEGER;
|
|
|
|
DROP VIEW recipes_resolved;
|
|
CREATE VIEW recipes_resolved
|
|
AS
|
|
SELECT
|
|
1 AS id, -- Dummy, LessQL needs an id column
|
|
r.id AS recipe_id,
|
|
IFNULL(MIN(rpr.need_fulfilled), 1) AS need_fulfilled,
|
|
IFNULL(MIN(rpr.need_fulfilled_with_shopping_list), 1) AS need_fulfilled_with_shopping_list, (
|
|
SELECT COUNT(*) FROM recipes_pos_resolved WHERE recipe_id = r.id AND need_fulfilled = 0) AS missing_products_count,
|
|
IFNULL(SUM(rpr.costs), 0) AS costs,
|
|
IFNULL(SUM(rpr.calories), 0) AS calories
|
|
FROM recipes r
|
|
LEFT JOIN recipes_pos_resolved rpr
|
|
ON r.id = rpr.recipe_id
|
|
GROUP BY r.id;
|