ver. 0.274 - ShopProduct mass_edit + tree UI cleanup
This commit is contained in:
@@ -4,6 +4,29 @@ Logi zmian z migracji na Domain-Driven Architecture. Najnowsze na gorze.
|
||||
|
||||
---
|
||||
|
||||
## ver. 0.274 (2026-02-15) - ShopProduct mass_edit + UI trees
|
||||
|
||||
- **ShopProduct (mass_edit)** - migracja akcji masowej edycji na Domain + DI
|
||||
- NOWE: `admin\Controllers\ShopProductController` (DI) z akcjami `mass_edit`, `mass_edit_save`, `get_products_by_category`
|
||||
- UPDATE: routing DI (`admin\Site`) rozszerzony o modul `ShopProduct`
|
||||
- UPDATE: `Domain\Product\ProductRepository` rozszerzone o metody `allProductsForMassEdit`, `getProductsByCategory`, `applyDiscountPercent` (+ aktualizacja cen kombinacji)
|
||||
- CLEANUP: usuniete legacy akcje `mass_edit`, `mass_edit_save`, `get_products_by_category` z `admin\controls\ShopProduct`
|
||||
- **ShopProduct mass_edit UI** - przebudowa widoku i skryptu
|
||||
- UPDATE: `admin/templates/shop-product/mass-edit.php` przepiety na nowy partial JS `mass-edit-custom-script`
|
||||
- NOWE: `admin/templates/shop-product/mass-edit-custom-script.php` (nestedSortable + iCheck + stabilizacja drzewka)
|
||||
- UPDATE: `admin/templates/shop-product/subcategories-list.php` ujednolicone strzalki (button + caret)
|
||||
- FIX: zaznaczenie kategorii w drzewku nie zaznacza automatycznie produktow na liscie
|
||||
- **Pages / Articles UI** - ujednolicenie drzewek
|
||||
- UPDATE: `/admin/pages/list/` - nowe strzalki drzewa + `aria-expanded` + odswiezanie stanu branch/leaf
|
||||
- UPDATE: `/admin/articles/edit/*` (zakladka wyswietlania) - nowe strzalki i checkboxy (iCheck) dla drzewka stron
|
||||
- TEST:
|
||||
- NOWE: `tests/Unit/admin/Controllers/ShopProductControllerTest.php`
|
||||
- UPDATE: `tests/Unit/Domain/Product/ProductRepositoryTest.php` (nowe przypadki dla mass_edit)
|
||||
- UPDATE: `tests/bootstrap.php` (stub `S::normalize_decimal()`)
|
||||
- Testy: **OK (351 tests, 1091 assertions)**
|
||||
|
||||
---
|
||||
|
||||
## ver. 0.273 (2026-02-15) - ShopProducer
|
||||
|
||||
- **ShopProducer** - migracja `/admin/shop_producer` na Domain + DI + nowe widoki
|
||||
|
||||
@@ -22,7 +22,7 @@ Główna tabela produktów.
|
||||
| apilo_product_id | ID produktu w Apilo |
|
||||
| apilo_product_name | Nazwa produktu w Apilo |
|
||||
|
||||
**Używane w:** `Domain\Product\ProductRepository`, `admin\factory\ShopProduct`
|
||||
**Używane w:** `Domain\Product\ProductRepository`, `admin\factory\ShopProduct`, `admin\Controllers\ShopProductController`
|
||||
|
||||
## pp_shop_products_langs
|
||||
Tłumaczenia produktów (per język).
|
||||
@@ -53,7 +53,9 @@ Przypisanie produktów do kategorii.
|
||||
|---------|------|
|
||||
| product_id | FK do pp_shop_products |
|
||||
|
||||
**Używane w:** `admin\factory\ShopProduct::product_delete()`
|
||||
**Używane w:** `admin\factory\ShopProduct::product_delete()`, `Domain\Product\ProductRepository::getProductsByCategory()`
|
||||
|
||||
**Aktualizacja 2026-02-15 (ver. 0.274):** akcje `/admin/shop_product/mass_edit/*` korzystają z `Domain\Product\ProductRepository` przez `admin\Controllers\ShopProductController`.
|
||||
|
||||
## pp_banners
|
||||
Banery.
|
||||
|
||||
@@ -307,5 +307,15 @@ Pelna dokumentacja testow: `TESTING.md`
|
||||
- Przepieto 2 wywolania `admin\factory\ShopTransport` w `admin\factory\ShopProduct` na `Domain\Transport\TransportRepository`.
|
||||
- Usuniety fallback do `admin\factory\Layouts` w `admin\controls\ShopProduct`.
|
||||
|
||||
## Dodatkowa aktualizacja 2026-02-15 (ver. 0.274)
|
||||
- Dodano kontroler DI `admin/Controllers/ShopProductController.php` (akcje `mass_edit`, `mass_edit_save`, `get_products_by_category`).
|
||||
- Routing `admin\Site` rozszerzono o mapowanie `ShopProduct` do nowego kontrolera.
|
||||
- `Domain/Product/ProductRepository.php` rozszerzono o metody dla mass-edit: `allProductsForMassEdit`, `getProductsByCategory`, `applyDiscountPercent`.
|
||||
- Usunieto legacy akcje mass-edit z `autoload/admin/controls/class.ShopProduct.php`.
|
||||
- Widok `/admin/shop_product/mass_edit/` przepiety na nowy partial `admin/templates/shop-product/mass-edit-custom-script.php`.
|
||||
- Ujednolicono UI drzewek (strzalki/expand) w:
|
||||
- `admin/templates/pages/pages-list.php` + `admin/templates/pages/subpages-list.php`
|
||||
- `admin/templates/articles/subpages-list.php` + `admin/templates/articles/article-edit-custom-script.php`
|
||||
|
||||
---
|
||||
*Dokument aktualizowany: 2026-02-15*
|
||||
|
||||
@@ -130,7 +130,7 @@ grep -r "Product::getQuantity" .
|
||||
| # | Modul | Wersja | Zakres |
|
||||
|---|-------|--------|--------|
|
||||
| 1 | Cache | 0.237 | CacheHandler, RedisConnection, clear_product_cache |
|
||||
| 2 | Product | 0.238-0.252 | getQuantity, getPrice, getName, archive/unarchive |
|
||||
| 2 | Product | 0.238-0.252, 0.274 | getQuantity, getPrice, getName, archive/unarchive, allProductsForMassEdit, getProductsByCategory, applyDiscountPercent |
|
||||
| 3 | Banner | 0.239 | find, delete, save, kontroler DI |
|
||||
| 4 | Settings | 0.240/0.250 | saveSettings, getSettings, kontroler DI |
|
||||
| 5 | Dictionaries | 0.251 | listForAdmin, find, save, delete, kontroler DI |
|
||||
@@ -153,12 +153,16 @@ grep -r "Product::getQuantity" .
|
||||
| 22 | ShopAttribute | 0.271 | list/edit/save/delete/values, nowy edytor wartosci, cleanup legacy, przepiecie zaleznosci kombinacji |
|
||||
| 23 | ShopProductSets | 0.272 | listForAdmin, find, save, delete, allSets, allProductsMap, multi-select Selectize, DI kontroler |
|
||||
| 24 | ShopProducer | 0.273 | listForAdmin, find, save, delete, allProducers, producerProducts, fasada shop\Producer, DI kontroler |
|
||||
| 25 | ShopProduct (mass_edit) | 0.274 | DI kontroler + routing dla `mass_edit`, `mass_edit_save`, `get_products_by_category`, cleanup legacy akcji |
|
||||
|
||||
### Product - szczegolowy status
|
||||
- ✅ getQuantity (ver. 0.238)
|
||||
- ✅ getPrice (ver. 0.239)
|
||||
- ✅ getName (ver. 0.239)
|
||||
- ✅ archive / unarchive (ver. 0.241/0.252)
|
||||
- ✅ allProductsForMassEdit (ver. 0.274)
|
||||
- ✅ getProductsByCategory (ver. 0.274)
|
||||
- ✅ applyDiscountPercent (ver. 0.274)
|
||||
- [ ] is_product_on_promotion
|
||||
- [ ] getFromCache
|
||||
- [ ] getProductImg
|
||||
@@ -170,11 +174,11 @@ grep -r "Product::getQuantity" .
|
||||
|
||||
## Kolejność refaktoryzacji (priorytet)
|
||||
|
||||
1-24: ✅ Cache, Product, Banner, Settings, Dictionaries, ProductArchive, Filemanager, Users, Pages, Integrations, ShopPromotion, ShopCoupon, ShopStatuses, ShopPaymentMethod, ShopTransport, ShopAttribute, ShopProductSets, ShopProducer
|
||||
1-25: ✅ Cache, Product, Banner, Settings, Dictionaries, ProductArchive, Filemanager, Users, Pages, Integrations, ShopPromotion, ShopCoupon, ShopStatuses, ShopPaymentMethod, ShopTransport, ShopAttribute, ShopProductSets, ShopProducer, ShopProduct (mass_edit)
|
||||
|
||||
Nastepne:
|
||||
25. **Order**
|
||||
26. **Category**
|
||||
26. **Order**
|
||||
27. **Category**
|
||||
|
||||
## Form Edit System
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ Alternatywnie (Git Bash):
|
||||
Ostatnio zweryfikowano: 2026-02-15
|
||||
|
||||
```text
|
||||
OK (338 tests, 1063 assertions)
|
||||
OK (351 tests, 1091 assertions)
|
||||
```
|
||||
|
||||
## Struktura testow
|
||||
@@ -73,6 +73,7 @@ tests/
|
||||
| |-- ShopCouponControllerTest.php
|
||||
| |-- ShopPaymentMethodControllerTest.php
|
||||
| |-- ShopProducerControllerTest.php
|
||||
| |-- ShopProductControllerTest.php
|
||||
| |-- ShopProductSetsControllerTest.php
|
||||
| |-- ShopPromotionControllerTest.php
|
||||
| |-- ShopStatusesControllerTest.php
|
||||
@@ -424,3 +425,14 @@ OK (338 tests, 1063 assertions)
|
||||
Nowe testy dodane 2026-02-15:
|
||||
- `tests/Unit/Domain/Producer/ProducerRepositoryTest.php` (9 testow: find default/normalize, save insert/update, delete invalid/success, whitelist sortowania/paginacji, allProducers, producerProducts)
|
||||
- `tests/Unit/admin/Controllers/ShopProducerControllerTest.php` (5 testow: kontrakty metod, aliasy legacy, return types, DI konstruktora)
|
||||
|
||||
## Aktualizacja suite (ShopProduct mass_edit, ver. 0.274)
|
||||
Ostatnio zweryfikowano: 2026-02-15
|
||||
|
||||
```text
|
||||
OK (351 tests, 1091 assertions)
|
||||
```
|
||||
|
||||
Nowe testy dodane 2026-02-15:
|
||||
- `tests/Unit/Domain/Product/ProductRepositoryTest.php` (rozszerzenie: `allProductsForMassEdit`, `getProductsByCategory`, `applyDiscountPercent`)
|
||||
- `tests/Unit/admin/Controllers/ShopProductControllerTest.php` (7 testow: kontrakty metod, return types, DI konstruktora)
|
||||
|
||||
Reference in New Issue
Block a user