ver. 0.274 - ShopClients Domain+DI migration

This commit is contained in:
2026-02-15 15:03:24 +01:00
parent 618ba4f446
commit dc7751c9de
19 changed files with 740 additions and 180 deletions

View File

@@ -19,11 +19,19 @@ Logi zmian z migracji na Domain-Driven Architecture. Najnowsze na gorze.
- **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
- **ShopClients** - migracja `/admin/shop_clients` na Domain + DI + nowe widoki
- NOWE: `Domain\Client\ClientRepository` (`listForAdmin`, `ordersForClient`, `totalsForClient`)
- NOWE: `admin\Controllers\ShopClientsController` (DI) z akcjami `list`, `details` + aliasy legacy `view_list`, `clients_details`
- UPDATE: routing DI (`admin\Site`) rozszerzony o modul `ShopClients`
- UPDATE: menu admin przepiete na kanoniczny URL `/admin/shop_clients/list/`
- UPDATE: widoki `shop-clients/view-list` i `shop-clients/clients-details` przepiete na `components/table-list`
- CLEANUP: usuniete legacy `autoload/admin/controls/class.ShopClients.php`, `autoload/admin/factory/class.ShopClients.php`
- TEST:
- NOWE: `tests/Unit/admin/Controllers/ShopProductControllerTest.php`
- NOWE: `tests/Unit/Domain/Client/ClientRepositoryTest.php`, `tests/Unit/admin/Controllers/ShopClientsControllerTest.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)**
- Testy: **OK (361 tests, 1125 assertions)**
---

View File

@@ -57,6 +57,28 @@ Przypisanie produktów do kategorii.
**Aktualizacja 2026-02-15 (ver. 0.274):** akcje `/admin/shop_product/mass_edit/*` korzystają z `Domain\Product\ProductRepository` przez `admin\Controllers\ShopProductController`.
## pp_shop_orders
Zamówienia sklepu (źródło danych dla list i szczegółów klientów w panelu admin).
| Kolumna | Opis |
|---------|------|
| id | PK |
| client_id | FK do `pp_shop_clients` (NULL dla gościa) |
| client_name | Imię klienta z zamówienia |
| client_surname | Nazwisko klienta z zamówienia |
| client_email | E-mail klienta z zamówienia |
| client_phone | Telefon klienta |
| client_city | Miasto klienta |
| summary | Wartość zamówienia |
| date_order | Data złożenia zamówienia |
| payment_method | Nazwa metody płatności |
| transport | Nazwa transportu |
| message | Wiadomość klienta |
**Używane w:** `Domain\Client\ClientRepository::listForAdmin()`, `Domain\Client\ClientRepository::ordersForClient()`, `Domain\Client\ClientRepository::totalsForClient()`.
**Aktualizacja 2026-02-15 (ver. 0.274):** moduł `/admin/shop_clients/*` korzysta z `Domain\Client\ClientRepository` przez `admin\Controllers\ShopClientsController`.
## pp_banners
Banery.

View File

@@ -298,6 +298,13 @@ Pelna dokumentacja testow: `TESTING.md`
## Dodatkowa aktualizacja 2026-02-15 (ver. 0.273)
- Dodano modul domenowy `Domain/Producer/ProducerRepository.php`.
## Dodatkowa aktualizacja 2026-02-15 (ver. 0.274)
- Dodano modul domenowy `Domain/Client/ClientRepository.php`.
- Dodano kontroler DI `admin/Controllers/ShopClientsController.php`.
- Modul `/admin/shop_clients/*` dziala na nowych widokach opartych o `components/table-list`.
- Usunieto legacy: `autoload/admin/controls/class.ShopClients.php`, `autoload/admin/factory/class.ShopClients.php`.
- Routing i menu admin przepiete na kanoniczny URL `/admin/shop_clients/list/`.
- Dodano kontroler DI `admin/Controllers/ShopProducerController.php`.
- Modul `/admin/shop_producer/*` dziala na nowych widokach (`producers-list`, `producer-edit`).
- Usunieto legacy: `autoload/admin/controls/class.ShopProducer.php`, `admin/templates/shop-producer/list.php`, `admin/templates/shop-producer/edit.php`.

View File

@@ -154,6 +154,7 @@ grep -r "Product::getQuantity" .
| 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 |
| 26 | ShopClients | 0.274 | DI kontroler + routing dla `list/details`, nowe listy na `components/table-list`, cleanup legacy controls/factory |
### Product - szczegolowy status
- ✅ getQuantity (ver. 0.238)
@@ -174,11 +175,11 @@ grep -r "Product::getQuantity" .
## Kolejność refaktoryzacji (priorytet)
1-25: ✅ Cache, Product, Banner, Settings, Dictionaries, ProductArchive, Filemanager, Users, Pages, Integrations, ShopPromotion, ShopCoupon, ShopStatuses, ShopPaymentMethod, ShopTransport, ShopAttribute, ShopProductSets, ShopProducer, ShopProduct (mass_edit)
1-26: ✅ Cache, Product, Banner, Settings, Dictionaries, ProductArchive, Filemanager, Users, Pages, Integrations, ShopPromotion, ShopCoupon, ShopStatuses, ShopPaymentMethod, ShopTransport, ShopAttribute, ShopProductSets, ShopProducer, ShopProduct (mass_edit), ShopClients
Nastepne:
26. **Order**
27. **Category**
27. **Order**
28. **Category**
## Form Edit System

View File

@@ -39,6 +39,15 @@ Ostatnio zweryfikowano: 2026-02-15
OK (351 tests, 1091 assertions)
```
Aktualizacja po migracji ShopClients (2026-02-15, ver. 0.274) - testy punktowe:
```text
OK (10 tests, 34 assertions)
```
Nowe testy dodane 2026-02-15:
- `tests/Unit/Domain/Client/ClientRepositoryTest.php`
- `tests/Unit/admin/Controllers/ShopClientsControllerTest.php`
## Struktura testow
```text