update
This commit is contained in:
51
.paul/STATE.md.bak
Normal file
51
.paul/STATE.md.bak
Normal file
@@ -0,0 +1,51 @@
|
||||
# State
|
||||
|
||||
## Current Position
|
||||
|
||||
Milestone: v0.4 Poprawki klienckie — Complete
|
||||
Phase: 12 of 12 — All phases complete
|
||||
Status: Milestone v0.4 complete
|
||||
Last activity: 2026-04-09 — All client fixes applied
|
||||
|
||||
Progress:
|
||||
- Milestone v0.1: [██████████] 100% ✅
|
||||
- Milestone v0.2: [██████████] 100% ✅
|
||||
- Milestone v0.3: [██████████] 100% ✅
|
||||
- Milestone v0.4: [██████████] 100% ✅
|
||||
|
||||
## Loop Position
|
||||
|
||||
Current loop state:
|
||||
```
|
||||
PLAN ──▶ APPLY ──▶ UNIFY
|
||||
✓ ✓ ✓ [All loops closed — milestone complete]
|
||||
```
|
||||
|
||||
## Milestone v0.4 Summary
|
||||
|
||||
### Pre-plan fix: Status rezerwacji w Softrze
|
||||
- Usunięto auto-confirm (`/rent/confirm`) — rezerwacja zostaje jako "Zamówienie"
|
||||
- `validTime` zwiększony z 30min do 1440min (24h)
|
||||
|
||||
### Phase 9: Blokada dat wstecznych
|
||||
- Atrybut `min` na datetime-local (modal + hero search)
|
||||
- Walidacja on change z komunikatem "data lub godzina już minęły"
|
||||
- Odświeżanie min przy każdym otwarciu modala
|
||||
|
||||
### Phase 10: UX sekcji wyjazdu zagranicznego
|
||||
- Label: "Wyjazd poza granicę Polski do:"
|
||||
- Wybrane kraje znikają z wyników wyszukiwania
|
||||
|
||||
### Phase 11: Usunięcie pól adresowych i PESEL
|
||||
- Pola usunięte z UI, placeholdery wysyłane do API Softra
|
||||
|
||||
### Phase 12: Komunikat sukcesu
|
||||
- "Zamówienie złożone!" + "Oczekuj na kontakt z wypożyczalnią"
|
||||
- "Nr zamówienia:" zamiast "Nr rezerwacji:"
|
||||
|
||||
## Session Continuity
|
||||
|
||||
Last session: 2026-04-09
|
||||
Stopped at: Milestone v0.4 complete
|
||||
Next action: Plan new milestone or new work
|
||||
Resume file: .paul/ROADMAP.md
|
||||
31
.paul/changelog/2026-04-09.md
Normal file
31
.paul/changelog/2026-04-09.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Changelog 2026-04-09
|
||||
|
||||
## Milestone v0.4: Poprawki klienckie — Complete ✅
|
||||
|
||||
### Zmiana statusu rezerwacji w Softrze
|
||||
- Usunięto automatyczne wywołanie `/rent/confirm` — rezerwacja zostaje jako "Zamówienie"
|
||||
- `validTime` zwiększony z 30 do 1440 minut (24h na potwierdzenie przez pracownika)
|
||||
|
||||
### Phase 9: Blokada dat i godzin wstecznych
|
||||
- Atrybut `min` na inputach `datetime-local` (modal + hero search form)
|
||||
- Walidacja `on change` z komunikatem "data lub godzina już minęły"
|
||||
- `min` odświeżane przy każdym otwarciu modala (nie starzeje się)
|
||||
- Search form: cicha walidacja bez komunikatów (czyści pole)
|
||||
|
||||
### Phase 10: UX sekcji wyjazdu zagranicznego
|
||||
- Label zmieniony na "Wyjazd poza granicę Polski do:"
|
||||
- Wybrane kraje znikają z wyników wyszukiwania, widoczne tylko w sekcji dodanych
|
||||
|
||||
### Phase 11: Usunięcie pól adresowych i PESEL z formularza
|
||||
- Usunięto z UI: Miejscowość, Kod pocztowy, Ulica, PESEL
|
||||
- Placeholdery wysyłane do API Softra (pola wymagane przez API)
|
||||
|
||||
### Phase 12: Zmiana komunikatu sukcesu
|
||||
- Tytuł: "Zamówienie złożone!"
|
||||
- Podpis: "Oczekuj na kontakt z wypożyczalnią"
|
||||
- "Nr zamówienia:" zamiast "Nr rezerwacji:"
|
||||
|
||||
## Zmienione pliki
|
||||
- `wp-content/plugins/carei-reservation/assets/js/carei-reservation.js`
|
||||
- `wp-content/plugins/carei-reservation/assets/css/carei-reservation.css`
|
||||
- `wp-content/plugins/carei-reservation/includes/class-elementor-widget.php`
|
||||
3
.paul/docs/API.md
Normal file
3
.paul/docs/API.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# API
|
||||
|
||||
> Endpointy, kontrakty request/response, autentykacja.
|
||||
3
.paul/docs/ARCHITECTURE.md
Normal file
3
.paul/docs/ARCHITECTURE.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# ARCHITECTURE
|
||||
|
||||
> Struktura klas, modulow, przeplywow i zaleznosci w projekcie.
|
||||
3
.paul/docs/DB_SCHEMA.md
Normal file
3
.paul/docs/DB_SCHEMA.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# DB_SCHEMA
|
||||
|
||||
> Schemat bazy danych — tabele, kolumny, FK, indeksy.
|
||||
3
.paul/docs/DECISIONS.md
Normal file
3
.paul/docs/DECISIONS.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# DECISIONS
|
||||
|
||||
> Kluczowe decyzje techniczne i ich uzasadnienia.
|
||||
3
.paul/docs/STACK.md
Normal file
3
.paul/docs/STACK.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# STACK
|
||||
|
||||
> Stack technologiczny, wersje, zaleznosci, srodowisko.
|
||||
3
.paul/docs/TECH_CHANGELOG.md
Normal file
3
.paul/docs/TECH_CHANGELOG.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# TECH_CHANGELOG
|
||||
|
||||
> Chronologiczny log zmian technicznych — co i dlaczego.
|
||||
3
.paul/docs/TODO.md
Normal file
3
.paul/docs/TODO.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# TODO
|
||||
|
||||
> Luzny parking pomyslow, rzeczy do sprawdzenia.
|
||||
35
.paul/governance/governance_2026-04-09.jsonl
Normal file
35
.paul/governance/governance_2026-04-09.jsonl
Normal file
@@ -0,0 +1,35 @@
|
||||
{"ts":"2026-04-09T21:16:00Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:16:01Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:22:10Z","tool":"Bash","cmd":"mkdir -p \"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\09-past-date-validation\"\",\"description\":\"Create phase 09 directory\"},\"tool_response\":{\"stdout\":\"\",","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:22:29Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\09-past-date-validation\\\\09-01-PLAN.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:22:46Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:22:59Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:23:08Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:23:16Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:24:58Z","tool":"Bash","cmd":"mkdir -p \"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\09-past-date-validation\"\",\"description\":\"Ensure phase dir exists\"},\"tool_response\":{\"stdout\":\"\",\"","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:25:12Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\09-past-date-validation\\\\09-02-PLAN.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:25:29Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:25:35Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:25:55Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:27:50Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:28:55Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:30:31Z","tool":"Bash","cmd":"mkdir -p \"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\10-abroad-ux-fix\"\",\"description\":\"Create phase 10 directory\"},\"tool_response\":{\"stdout\":\"\",\"stder","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:30:44Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\10-abroad-ux-fix\\\\10-01-PLAN.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:31:00Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:32:43Z","tool":"Bash","cmd":"mkdir -p \"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\11-remove-address-pesel\"\",\"description\":\"Create phase 11 directory\"},\"tool_response\":{\"stdout\":\"\",","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:32:59Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\11-remove-address-pesel\\\\11-01-PLAN.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:33:18Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:33:35Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:33:43Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:33:49Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:34:34Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:34:39Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:35:34Z","tool":"Bash","cmd":"mkdir -p \"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\12-success-message\"\",\"description\":\"Create phase 12 directory\"},\"tool_response\":{\"stdout\":\"\",\"std","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:35:43Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\12-success-message\\\\12-01-PLAN.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:35:53Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:45:52Z","tool":"Bash","cmd":"mkdir -p \"C:/visual studio code/projekty/carei.pagedev.pl/.paul/phases/13-protection-packages\"\",\"description\":\"Create phase 13 directory\"},\"tool_response\":{\"stdout\":\"\",\"stderr\":\"\",\"i","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:46:54Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\13-protection-packages\\\\13-01-PLAN.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:47:19Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:51:04Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:51:08Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T21:57:21Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\wp-content\\\\plugins\\\\carei-reservation\\\\assets\\\\js\\\\carei-reservation.js","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
11
.paul/governance/governance_2026-04-10.jsonl
Normal file
11
.paul/governance/governance_2026-04-10.jsonl
Normal file
@@ -0,0 +1,11 @@
|
||||
{"ts":"2026-04-09T22:03:30Z","tool":"Bash","cmd":"mkdir -p \"C:/visual studio code/projekty/carei.pagedev.pl/.paul/phases/14-mobile-modal-fix\"\",\"description\":\"Create phase 14 directory\"},\"tool_response\":{\"stdout\":\"\",\"stderr\":\"\",\"inte","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T22:03:54Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\14-mobile-modal-fix\\\\14-01-PLAN.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T22:04:21Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\phases\\\\14-mobile-modal-fix\\\\14-01-SUMMARY.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T22:04:49Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T22:05:05Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\changelog\\\\2026-04-10.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T22:05:15Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\PROJECT.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T22:05:22Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\carei.pagedev.pl\\\\.paul\\\\PROJECT.md","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T22:05:32Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/carei.pagedev.pl\" && git status -s\",\"description\":\"Check git status\"},\"tool_response\":{\"stdout\":\" M .paul/PROJECT.md\\n M .paul/ROADMAP.md\\n M .paul/STA","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T22:05:37Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/carei.pagedev.pl\" && git log --oneline -5\",\"description\":\"Check recent commits\"},\"tool_response\":{\"stdout\":\"9b36f8f update\\n92b7a2a update\\nfd09905 fea","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T22:05:43Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/carei.pagedev.pl\" && git add wp-content/plugins/carei-reservation/assets/js/carei-reservation.js .paul/PROJECT.md .paul/ROADMAP.md .paul/STATE.md .paul/changelog/2","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
{"ts":"2026-04-09T22:05:53Z","tool":"Bash","cmd":"cd \"C:/visual studio code/projekty/carei.pagedev.pl\" && git commit -m \"$(cat <<'EOF'\\nfix(14-mobile-modal-fix): Modal rezerwacji działa na mobile/tablet\\n\\nSekcja Elementor zawierająca modal m","cwd":"/c/visual studio code/projekty/carei.pagedev.pl"}
|
||||
35
.paul/phases/09-past-date-validation/09-01-PLAN.md
Normal file
35
.paul/phases/09-past-date-validation/09-01-PLAN.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# PLAN 09-01: Blokada dat i godzin wstecznych
|
||||
|
||||
## Cel
|
||||
Uniemożliwić użytkownikowi wybranie daty/godziny z przeszłości w formularzach rezerwacji (modal + hero search form). Wyświetlić komunikat błędu jeśli wybrana data/godzina już minęła.
|
||||
|
||||
## Kontekst
|
||||
- Inputy `datetime-local`: `#carei-date-from`, `#carei-date-to` (modal), `#carei-search-date-from`, `#carei-search-date-to` (hero)
|
||||
- Widget PHP: `class-elementor-widget.php` linie 86, 93
|
||||
- JS: `carei-reservation.js` — walidacja w `validateForm()` (linia ~607), eventy w `initDynamicLoading()` (linia ~1073), search form `initSearchForm()` (linia ~1108)
|
||||
|
||||
## Taski
|
||||
|
||||
### Task 1: Ustawienie atrybutu `min` na inputach datetime-local
|
||||
**Plik:** `assets/js/carei-reservation.js`
|
||||
**Akcja:** Dodać funkcję `enforceDateMin()` która:
|
||||
1. Ustawia `min` na bieżący datetime (format `YYYY-MM-DDTHH:MM`) na inputach `dateFrom` i `searchDateFrom`
|
||||
2. Przy zmianie `dateFrom` ustawia `min` na `dateTo` = wartość `dateFrom`
|
||||
3. Analogicznie dla search form (`searchDateFrom` → `searchDateTo`)
|
||||
4. Wywoływana przy init modala i init search form
|
||||
**Weryfikacja:** Przeglądarka blokuje wybór dat wcześniejszych niż teraz
|
||||
**Done:** Atrybuty `min` dynamicznie ustawione na wszystkich 4 inputach
|
||||
|
||||
### Task 2: Walidacja w `validateForm()` — komunikat błędu
|
||||
**Plik:** `assets/js/carei-reservation.js`
|
||||
**Akcja:** W `validateForm()` po sprawdzeniu `dateTo > dateFrom` dodać sprawdzenie:
|
||||
- Jeśli `dateFrom < now` → error "Data lub godzina rozpoczęcia już minęły"
|
||||
- Jeśli `dateTo < now` → error "Data lub godzina zakończenia już minęły"
|
||||
**Weryfikacja:** Komunikat wyświetla się pod polem z czerwonym obramowaniem
|
||||
**Done:** Walidacja blokuje submit z datami wstecznymi + pokazuje polski komunikat
|
||||
|
||||
## Pliki do modyfikacji
|
||||
1. `wp-content/plugins/carei-reservation/assets/js/carei-reservation.js`
|
||||
|
||||
## Ryzyko
|
||||
- Brak — zmiana czysto frontendowa, walidacja klient-side
|
||||
32
.paul/phases/09-past-date-validation/09-01-SUMMARY.md
Normal file
32
.paul/phases/09-past-date-validation/09-01-SUMMARY.md
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
phase:
|
||||
plan:
|
||||
completed: 2026-04-09T21:23:25.399Z
|
||||
---
|
||||
|
||||
# Phase 09-01 Summary
|
||||
|
||||
****
|
||||
|
||||
## Acceptance Criteria Results
|
||||
|
||||
| Criterion | Status |
|
||||
|-----------|--------|
|
||||
| Ustawienie atrybutu min na inputach datetime-local | Pass — enforceDateMin() ustawia min=now na dateFrom/dateTo w modalu, analogicznie w search form. Zmiana dateFrom aktualizuje min na dateTo. |
|
||||
| Walidacja w validateForm() — komunikat błędu | Pass — Dodano sprawdzenie dateFrom < now i dateTo < now z polskimi komunikatami błędów przed istniejącą walidacją dateTo > dateFrom. |
|
||||
|
||||
## Accomplishments
|
||||
|
||||
- Ustawienie atrybutu min na inputach datetime-local: enforceDateMin() ustawia min=now na dateFrom/dateTo w modalu, analogicznie w search form. Zmiana dateFrom aktualizuje min na dateTo.
|
||||
- Walidacja w validateForm() — komunikat błędu: Dodano sprawdzenie dateFrom < now i dateTo < now z polskimi komunikatami błędów przed istniejącą walidacją dateTo > dateFrom.
|
||||
|
||||
## Files Modified
|
||||
|
||||
|
||||
## Deviations
|
||||
|
||||
None — plan executed as specified.
|
||||
|
||||
---
|
||||
*Phase: , Plan: *
|
||||
*Completed: 2026-04-09*
|
||||
23
.paul/phases/09-past-date-validation/09-02-PLAN.md
Normal file
23
.paul/phases/09-past-date-validation/09-02-PLAN.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# PLAN 09-02: Fix — walidacja godziny wstecznej w bieżącym dniu
|
||||
|
||||
## Problem
|
||||
Atrybut `min` na `datetime-local` nie jest konsekwentnie wymuszany przez przeglądarki dla części godzinowej. Użytkownik może wybrać dzisiejszą datę z godziną wcześniejszą niż teraz. Ponadto `enforceDateMin()` jest wywołane raz — `now` się starzeje.
|
||||
|
||||
## Rozwiązanie
|
||||
1. Przenieść `enforceDateMin()` poza `if (!dataLoaded)` — odświeżać `min` przy każdym otwarciu modala
|
||||
2. Dodać event listener `change` na inputach dat, który sprawdza czy wartość < now i jeśli tak — czyści pole + pokazuje komunikat
|
||||
3. Analogicznie w search form — odświeżanie min przy każdym `initSearchForm` run
|
||||
|
||||
## Taski
|
||||
|
||||
### Task 1: Odświeżanie min przy każdym otwarciu modala + walidacja on change
|
||||
**Plik:** `assets/js/carei-reservation.js`
|
||||
**Akcja:**
|
||||
- Przenieść `enforceDateMin()` za blok `if (!dataLoaded)`
|
||||
- W `enforceDateMin()` dodać listener `change` na dateFrom i dateTo sprawdzający `value < getNowLocal()` → markFieldError + clear value
|
||||
**Done:** Nie da się ustawić godziny wstecznej — pole reaguje natychmiast
|
||||
|
||||
### Task 2: Analogiczna walidacja on change w search form
|
||||
**Plik:** `assets/js/carei-reservation.js`
|
||||
**Akcja:** Dodać listener change na searchDateFrom/searchDateTo sprawdzający past time
|
||||
**Done:** Search form również blokuje godziny wsteczne
|
||||
32
.paul/phases/09-past-date-validation/09-02-SUMMARY.md
Normal file
32
.paul/phases/09-past-date-validation/09-02-SUMMARY.md
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
phase:
|
||||
plan:
|
||||
completed: 2026-04-09T21:26:08.877Z
|
||||
---
|
||||
|
||||
# Phase 09-02 Summary
|
||||
|
||||
****
|
||||
|
||||
## Acceptance Criteria Results
|
||||
|
||||
| Criterion | Status |
|
||||
|-----------|--------|
|
||||
| Odświeżanie min przy każdym otwarciu modala + walidacja on change | Pass — enforceDateMin() przeniesione poza if(!dataLoaded) — min odświeżane przy każdym otwarciu. Listenery change na dateFrom/dateTo sprawdzają checkPastAndWarn() — czyści pole, pokazuje komunikat, dodaje error class. |
|
||||
| Analogiczna walidacja on change w search form | Pass — searchDateFrom i searchDateTo mają change listener z checkPastAndWarn(). Komunikat: 'Rozpoczęcie/Zakończenie — data lub godzina już minęły'. |
|
||||
|
||||
## Accomplishments
|
||||
|
||||
- Odświeżanie min przy każdym otwarciu modala + walidacja on change: enforceDateMin() przeniesione poza if(!dataLoaded) — min odświeżane przy każdym otwarciu. Listenery change na dateFrom/dateTo sprawdzają checkPastAndWarn() — czyści pole, pokazuje komunikat, dodaje error class.
|
||||
- Analogiczna walidacja on change w search form: searchDateFrom i searchDateTo mają change listener z checkPastAndWarn(). Komunikat: 'Rozpoczęcie/Zakończenie — data lub godzina już minęły'.
|
||||
|
||||
## Files Modified
|
||||
|
||||
|
||||
## Deviations
|
||||
|
||||
None — plan executed as specified.
|
||||
|
||||
---
|
||||
*Phase: , Plan: *
|
||||
*Completed: 2026-04-09*
|
||||
21
.paul/phases/10-abroad-ux-fix/10-01-PLAN.md
Normal file
21
.paul/phases/10-abroad-ux-fix/10-01-PLAN.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# PLAN 10-01: Poprawki UX sekcji wyjazdu zagranicznego
|
||||
|
||||
## Cel
|
||||
1. Zmienić label z "Planuję trasę poza granicę Polski" na "Wyjazd poza granicę Polski do:"
|
||||
2. Ukrywać już wybrane kraje z wyników wyszukiwania — wybrane kraje widoczne tylko w sekcji "dodane" na dole
|
||||
|
||||
## Taski
|
||||
|
||||
### Task 1: Zmiana labelu w widget PHP
|
||||
**Plik:** `includes/class-elementor-widget.php` linia 138
|
||||
**Akcja:** Zamienić "Planuję trasę poza granicę Polski" → "Wyjazd poza granicę Polski do:"
|
||||
**Done:** Nowy tekst widoczny w UI
|
||||
|
||||
### Task 2: Filtrowanie wybranych krajów z wyników wyszukiwania
|
||||
**Plik:** `assets/js/carei-reservation.js`
|
||||
**Akcja:** W `renderAbroadResults()` (linia ~559) oraz w filtrach `input`/`focus` (linie ~527, ~535) — pominąć kraje, których `id` jest w `selectedCountries`. Wybrane kraje są widoczne tylko w `renderAbroadSelected()`.
|
||||
**Done:** Po wybraniu kraju znika z wyników wyszukiwania, widoczny tylko w sekcji dodanych z ikoną usunięcia.
|
||||
|
||||
## Pliki do modyfikacji
|
||||
1. `wp-content/plugins/carei-reservation/includes/class-elementor-widget.php`
|
||||
2. `wp-content/plugins/carei-reservation/assets/js/carei-reservation.js`
|
||||
32
.paul/phases/10-abroad-ux-fix/10-01-SUMMARY.md
Normal file
32
.paul/phases/10-abroad-ux-fix/10-01-SUMMARY.md
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
phase:
|
||||
plan:
|
||||
completed: 2026-04-09T21:31:07.124Z
|
||||
---
|
||||
|
||||
# Phase 10-01 Summary
|
||||
|
||||
****
|
||||
|
||||
## Acceptance Criteria Results
|
||||
|
||||
| Criterion | Status |
|
||||
|-----------|--------|
|
||||
| Zmiana labelu w widget PHP | Pass — Zmieniono 'Planuję trasę poza granicę Polski' → 'Wyjazd poza granicę Polski do:' w class-elementor-widget.php:138 |
|
||||
| Filtrowanie wybranych krajów z wyników wyszukiwania | Pass — renderAbroadResults() pomija kraje z selectedCountries — wybrane znikają z listy wyników, widoczne tylko w sekcji dodanych na dole |
|
||||
|
||||
## Accomplishments
|
||||
|
||||
- Zmiana labelu w widget PHP: Zmieniono 'Planuję trasę poza granicę Polski' → 'Wyjazd poza granicę Polski do:' w class-elementor-widget.php:138
|
||||
- Filtrowanie wybranych krajów z wyników wyszukiwania: renderAbroadResults() pomija kraje z selectedCountries — wybrane znikają z listy wyników, widoczne tylko w sekcji dodanych na dole
|
||||
|
||||
## Files Modified
|
||||
|
||||
|
||||
## Deviations
|
||||
|
||||
None — plan executed as specified.
|
||||
|
||||
---
|
||||
*Phase: , Plan: *
|
||||
*Completed: 2026-04-09*
|
||||
23
.paul/phases/11-remove-address-pesel/11-01-PLAN.md
Normal file
23
.paul/phases/11-remove-address-pesel/11-01-PLAN.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# PLAN 11-01: Usunięcie pól adresowych i PESEL z formularza
|
||||
|
||||
## Cel
|
||||
Usunąć z formularza rezerwacji pola: Miejscowość, Kod pocztowy, Ulica i nr domu, PESEL.
|
||||
|
||||
## Taski
|
||||
|
||||
### Task 1: Usunięcie HTML z widgetu PHP
|
||||
**Plik:** `includes/class-elementor-widget.php`
|
||||
**Akcja:** Usunąć cały row `carei-form__row--address` (linie 188-207) i row z PESEL (linie 230-238)
|
||||
**Done:** Pola nie renderują się w HTML
|
||||
|
||||
### Task 2: Usunięcie walidacji i referencji w JS
|
||||
**Plik:** `assets/js/carei-reservation.js`
|
||||
**Akcja:**
|
||||
- Usunąć z `requiredFields`: carei-city, carei-zipcode, carei-street, carei-pesel
|
||||
- Usunąć z `drivers[]` w bookingData: address, pesel
|
||||
- Usunąć z podsumowania jeśli wyświetlane
|
||||
**Done:** JS nie waliduje ani nie wysyła tych pól
|
||||
|
||||
## Pliki
|
||||
1. `class-elementor-widget.php`
|
||||
2. `carei-reservation.js`
|
||||
32
.paul/phases/11-remove-address-pesel/11-01-SUMMARY.md
Normal file
32
.paul/phases/11-remove-address-pesel/11-01-SUMMARY.md
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
phase:
|
||||
plan:
|
||||
completed: 2026-04-09T21:34:52.067Z
|
||||
---
|
||||
|
||||
# Phase 11-01 Summary
|
||||
|
||||
****
|
||||
|
||||
## Acceptance Criteria Results
|
||||
|
||||
| Criterion | Status |
|
||||
|-----------|--------|
|
||||
| Usunięcie HTML z widgetu PHP | Pass — Usunięto cały row address (city, zipCode, street) i row PESEL z class-elementor-widget.php |
|
||||
| Usunięcie walidacji i referencji w JS | Pass — Usunięto z requiredFields, z getFormData(). Placeholdery wysyłane do API: city='-', zipCode='00-000', street='-', pesel='00000000000' w customer/add i drivers[]. Podsumowanie nie wyświetla tych pól. |
|
||||
|
||||
## Accomplishments
|
||||
|
||||
- Usunięcie HTML z widgetu PHP: Usunięto cały row address (city, zipCode, street) i row PESEL z class-elementor-widget.php
|
||||
- Usunięcie walidacji i referencji w JS: Usunięto z requiredFields, z getFormData(). Placeholdery wysyłane do API: city='-', zipCode='00-000', street='-', pesel='00000000000' w customer/add i drivers[]. Podsumowanie nie wyświetla tych pól.
|
||||
|
||||
## Files Modified
|
||||
|
||||
|
||||
## Deviations
|
||||
|
||||
None — plan executed as specified.
|
||||
|
||||
---
|
||||
*Phase: , Plan: *
|
||||
*Completed: 2026-04-09*
|
||||
13
.paul/phases/12-success-message/12-01-PLAN.md
Normal file
13
.paul/phases/12-success-message/12-01-PLAN.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# PLAN 12-01: Zmiana komunikatu sukcesu po rezerwacji
|
||||
|
||||
## Cel
|
||||
Zmienić komunikat na ekranie sukcesu:
|
||||
- Tytuł: "Rezerwacja złożona!" → "Zamówienie złożone!"
|
||||
- Podpis: "Potwierdzenie zostanie wysłane na podany adres e-mail." → "Oczekuj na kontakt z wypożyczalnią"
|
||||
- Nr rezerwacji: "Nr rezerwacji:" → "Nr zamówienia:"
|
||||
|
||||
## Taski
|
||||
|
||||
### Task 1: Zmiana w PHP i JS
|
||||
**Pliki:** `class-elementor-widget.php`, `carei-reservation.js`
|
||||
**Done:** Nowe komunikaty widoczne po złożeniu zamówienia
|
||||
30
.paul/phases/12-success-message/12-01-SUMMARY.md
Normal file
30
.paul/phases/12-success-message/12-01-SUMMARY.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
phase:
|
||||
plan:
|
||||
completed: 2026-04-09T21:35:58.315Z
|
||||
---
|
||||
|
||||
# Phase 12-01 Summary
|
||||
|
||||
****
|
||||
|
||||
## Acceptance Criteria Results
|
||||
|
||||
| Criterion | Status |
|
||||
|-----------|--------|
|
||||
| Zmiana komunikatów sukcesu | Pass — Tytuł: 'Zamówienie złożone!', podpis: 'Oczekuj na kontakt z wypożyczalnią', nr: 'Nr zamówienia:' |
|
||||
|
||||
## Accomplishments
|
||||
|
||||
- Zmiana komunikatów sukcesu: Tytuł: 'Zamówienie złożone!', podpis: 'Oczekuj na kontakt z wypożyczalnią', nr: 'Nr zamówienia:'
|
||||
|
||||
## Files Modified
|
||||
|
||||
|
||||
## Deviations
|
||||
|
||||
None — plan executed as specified.
|
||||
|
||||
---
|
||||
*Phase: , Plan: *
|
||||
*Completed: 2026-04-09*
|
||||
Reference in New Issue
Block a user