# 2026-04-29 ## Co zrobiono - [Phase 5, Plan 05-01] Usuwanie wpisow historii produktu per kampania+grupa z UI breakdown w /products - Factory: nowa metoda `\factory\Products::delete_product_scope_history($pid,$cid,$agid)` z transakcja PDO; atomowy DELETE z `products_aggregate`, `products_history`, `products_history_30` - Controller: nowa akcja AJAX `/products/delete_product_scope_history/` z walidacja `product_id > 0` - Controller: rozszerzono `breakdown_for_view` o `product_id`, `campaign_id`, `ad_group_id` (auto-fix - bez tego UI handler dostawal undefined) - UI: nowa kolumna "Akcje" w tabeli rozbicia, ikona kosza z dialogiem `$.confirm`, optymistyczne usuwanie wiersza + `ajax.reload(null,false)` - Bonus: przebudowany styl ikony rozwijania breakdown (CSS rotate, hover, fioletowy stan open) - usunieto JS swap klas FA ## Zmienione pliki - `autoload/factory/class.Products.php` - `autoload/controls/class.Products.php` - `templates/products/main_view.php` - `.paul/phases/05-products-scope-history-delete/05-01-PLAN.md` - `.paul/phases/05-products-scope-history-delete/05-01-SUMMARY.md` - `.paul/STATE.md`