mirror of
				https://github.com/grocy/grocy.git
				synced 2025-10-31 02:36:54 +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;
 |