ver. 0.291: ShopProducer frontend migration to Domain + Controllers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-17 20:32:07 +01:00
parent 1ba0c12327
commit 6181ef958d
19 changed files with 267 additions and 119 deletions

View File

@@ -4,6 +4,20 @@ Logi zmian z migracji na Domain-Driven Architecture. Najnowsze na gorze.
---
## ver. 0.291 (2026-02-17) - ShopProducer frontend migration
- **ShopProducer (frontend)** — migracja controls + shop facade na Domain + Controllers
- NOWA METODA w `ProducerRepository`: `allActiveProducers()` — pełne dane aktywnych producentów (id, name, img)
- NOWY: `front\Controllers\ShopProducerController` — instancyjny kontroler z DI (`products()`, `list()`)
- USUNIETA: `front\controls\class.ShopProducer.php` — logika przeniesiona do kontrolera + repozytorium
- USUNIETA: `autoload\shop\class.Producer.php` — fasada niepotrzebna, callery przepięte na repo
- UPDATE: `front\view\Site::show()``new \shop\Producer(...)` zamienione na `$producerRepo->findForFrontend()`
- UPDATE: `front\controls\Site::getControllerFactories()` — zarejestrowany `'ShopProducer'`
- FIX: bug `shop\Producer::__get()` referował nieistniejące `$this->data` (usunięty z kodem klasy)
- Testy: 573 OK, 1738 asercji (+8: 5 ProducerRepository frontend, 3 ShopProducerController)
---
## ver. 0.290 (2026-02-17) - ShopCoupon + ShopOrder frontend migration
- **ShopCoupon (frontend)** — migracja controls + factory na Domain + Controllers
@@ -761,4 +775,4 @@ Logi zmian z migracji na Domain-Driven Architecture. Najnowsze na gorze.
- Metoda `clear_product_cache()` w klasie S
---
*Dokument aktualizowany: 2026-02-17 (ver. 0.289)*
*Dokument aktualizowany: 2026-02-17 (ver. 0.291)*

View File

@@ -619,7 +619,7 @@ Producenci produktow (modul `/admin/shop_producer`).
| status | Status: 1 = aktywny, 0 = nieaktywny |
| img | Sciezka do logo producenta (NULL gdy brak) |
**Uzywane w:** `Domain\Producer\ProducerRepository`, `admin\Controllers\ShopProducerController`, `shop\Producer`, `shop\Product`, `front\controls\ShopProducer`
**Uzywane w:** `Domain\Producer\ProducerRepository`, `admin\Controllers\ShopProducerController`, `front\Controllers\ShopProducerController`, `shop\Product`
## pp_shop_producer_lang
Tlumaczenia producentow (per jezyk). FK kaskadowe ON DELETE CASCADE.
@@ -633,6 +633,8 @@ Tlumaczenia producentow (per jezyk). FK kaskadowe ON DELETE CASCADE.
| data | Dane producenta (TEXT, HTML) |
| meta_title | Meta title SEO (VARCHAR 255) |
**Uzywane w:** `Domain\Producer\ProducerRepository`, `shop\Producer`, `shop\Product`
**Uzywane w:** `Domain\Producer\ProducerRepository`, `shop\Product`
**Aktualizacja 2026-02-15 (ver. 0.273):** modul `/admin/shop_producer` korzysta z `Domain\Producer\ProducerRepository` przez `admin\Controllers\ShopProducerController`. Usunieto legacy `admin\controls\ShopProducer` i `admin\factory\ShopProducer`. `shop\Producer` dziala jako fasada do repozytorium.
**Aktualizacja 2026-02-17 (ver. 0.291):** frontend `/shop_producer/*` korzysta z `Domain\Producer\ProducerRepository` przez `front\Controllers\ShopProducerController`; usunięto legacy `front\controls\ShopProducer` i `shop\Producer`.

View File

@@ -18,7 +18,7 @@ Panel administratora (33 moduły) został w pełni zmigrowany na architekturę D
| ShopClient | ZMIGROWANY do `front\Controllers\ShopClientController` | Logowanie, rejestracja, odzyskiwanie hasla, adresy, zamowienia |
| ShopOrder | ZMIGROWANY do `front\Controllers\ShopOrderController` | Webhooki płatności + order details |
| ShopProduct | Fasada | lazy_loading, warehouse_message, draw_product_attributes |
| ShopProducer | Fasada | list(), products() |
| ShopProducer | ZMIGROWANY do `front\Controllers\ShopProducerController` | list(), products() |
| ShopCoupon | ZMIGROWANY do `front\Controllers\ShopCouponController` | use_coupon(), delete_coupon() |
| Newsletter | ZMIGROWANY do `front\Controllers\NewsletterController` | signin(), confirm(), unsubscribe() |
@@ -73,7 +73,7 @@ Panel administratora (33 moduły) został w pełni zmigrowany na architekturę D
| Coupon | ~60 | NISKI — niekompletne metody | NISKI |
| Transport | ~30 | NISKI — transport_list() | NISKI |
| PaymentMethod | — | ZMIGROWANA (fasada do Domain) | — |
| Producer | — | ZMIGROWANA (fasada do Domain) | — |
| Producer | — | USUNIETA (callery na ProducerRepository) | — |
| ProductSet | — | ZMIGROWANA (fasada do Domain) | — |
| ProductAttribute | ~100 | OK — dobry caching | — |
| ProductCustomField | ~50 | OK — Redis caching | — |

View File

@@ -108,7 +108,7 @@ shopPRO/
│ │ ├── Helpers/ # Helpers (ex class.S.php)
│ │ └── Tpl/ # Tpl (silnik szablonow)
│ ├── front/ # Klasy frontendu
│ │ ├── Controllers/ # Nowe kontrolery DI (Newsletter, ShopBasket, ShopClient)
│ │ ├── Controllers/ # Nowe kontrolery DI (Newsletter, ShopBasket, ShopClient, ShopCoupon, ShopOrder, ShopProducer)
│ │ ├── Views/ # Nowe widoki (Newsletter, Articles, Languages, Banners, Menu, Scontainers, ShopCategory, ShopClient)
│ │ ├── controls/ # Kontrolery legacy (Site, ...)
│ │ ├── view/ # Widoki legacy (Site, ...)
@@ -473,5 +473,13 @@ Pelna dokumentacja testow: `TESTING.md`
- UPDATE: `ClientRepository::clientOrders()`, `shop\Order::order_resend_confirmation_email()`, `cron-turstmate.php` — przepiete na `OrderRepository`
- USUNIETA: `front\controls\class.ShopOrder.php`, `front\factory\class.ShopOrder.php`, `front\view\class.ShopOrder.php`
## Aktualizacja 2026-02-17 (ver. 0.291) - ShopProducer frontend migration
- NOWA METODA w `ProducerRepository`: `allActiveProducers()` — pełne dane aktywnych producentów
- NOWY: `front\Controllers\ShopProducerController` — instancyjny kontroler z DI (products, list)
- USUNIETA: `front\controls\class.ShopProducer.php` — logika przeniesiona do kontrolera + repo
- USUNIETA: `autoload\shop\class.Producer.php` — fasada niepotrzebna
- UPDATE: `front\view\Site::show()` — przepiecie na `$producerRepo->findForFrontend()`
- UPDATE: `front\controls\Site::getControllerFactories()` — zarejestrowany `ShopProducer`
---
*Dokument aktualizowany: 2026-02-17 (ver. 0.290)*
*Dokument aktualizowany: 2026-02-17 (ver. 0.291)*

View File

@@ -189,6 +189,7 @@ grep -r "Product::getQuantity" .
1-33: ✅ Cache, Product, Banner, Settings, Dictionaries, ProductArchive, Filemanager, Users, Pages, Integrations, ShopPromotion, ShopCoupon, ShopStatuses, ShopPaymentMethod, ShopTransport, ShopAttribute, ShopProductSets, ShopProducer, ShopProduct (mass_edit), ShopClients, ShopCategory, ShopOrder, ShopProduct (factory), Dashboard, Update, Legacy cleanup, admin\App
34: ✅ Shared\Cache namespace (ver. 0.282) — CacheHandler + RedisConnection → Shared\Cache\, eliminacja class.Cache.php, przepiecie 6 plikow na CacheHandler
35: ✅ Shared\Tpl namespace (ver. 0.285) — Tpl → Shared\Tpl\Tpl, eliminacja class.Tpl.php + curl.class.php, fix thumb.php
36: ✅ ShopProducer frontend (ver. 0.291) — front\controls\ShopProducer + shop\Producer usunięte, front\Controllers\ShopProducerController z DI, allActiveProducers() w ProducerRepository
## Form Edit System

View File

@@ -36,7 +36,14 @@ Alternatywnie (Git Bash):
Ostatnio zweryfikowano: 2026-02-17
```text
OK (565 tests, 1716 assertions)
OK (573 tests, 1738 assertions)
```
Aktualizacja po migracji ShopProducer frontend (2026-02-17, ver. 0.291):
```text
Pelny suite: OK (573 tests, 1738 assertions)
Nowe testy: ProducerRepositoryTest (+5: allActiveProducers full/null, findForFrontend invalid/notFound/withLanguage)
Nowe testy: ShopProducerControllerTest (+3: constructorAcceptsRepository, hasMainActionMethods, constructorRequiresProducerRepository)
```
Aktualizacja po migracji ShopCoupon + ShopOrder frontend (2026-02-17, ver. 0.290):

View File

@@ -18,16 +18,16 @@ Aktualizacje znajdują się w folderze `updates/0.XX/` gdzie XX oznacza dziesią
## Procedura tworzenia nowej aktualizacji
## Status biezacej aktualizacji (ver. 0.290)
## Status biezacej aktualizacji (ver. 0.291)
- Wersja udostepniona: `0.290` (data: 2026-02-17).
- Wersja udostepniona: `0.291` (data: 2026-02-17).
- Pliki publikacyjne:
- `updates/0.20/ver_0.290.zip`, `ver_0.290_files.txt`
- `updates/0.20/ver_0.291.zip`, `ver_0.291_files.txt`
- Pliki metadanych aktualizacji:
- `updates/changelog.php` (dodany wpis `ver. 0.290`)
- `updates/versions.php` (`$current_ver = 290`)
- `updates/changelog.php` (dodany wpis `ver. 0.291`)
- `updates/versions.php` (`$current_ver = 291`)
- Weryfikacja testow przed publikacja:
- `OK (565 tests, 1716 assertions)`
- `OK (573 tests, 1738 assertions)`
### 1. Określ numer wersji
Sprawdź ostatnią wersję w `updates/` i zwiększ o 1.