Files
orderPRO/.paul/phases/43-print-queue-entry-removal/43-01-PLAN.md

6.5 KiB

phase, plan, type, wave, depends_on, files_modified, autonomous
phase plan type wave depends_on files_modified autonomous
43-print-queue-entry-removal 01 execute 1
src/Modules/Printing/PrintJobRepository.php
src/Modules/Settings/PrintSettingsController.php
routes/web.php
resources/views/settings/printing.php
resources/scss/modules/_printing.scss
public/assets/css/app.css
DOCS/ARCHITECTURE.md
DOCS/TECH_CHANGELOG.md
DOCS/todo.md
false
## Goal Zrealizowac punkt 43 z `DOCS/todo.md`: dodac mozliwosc usuwania wpisu z kolejki druku etykiet.

Purpose

Operator ma miec kontrole nad kolejka (np. usuniecie blednego lub nieaktualnego zlecenia), bez ingerencji bezposrednio w baze danych.

Output

Nowa akcja usuwania wpisu kolejki z poziomu Ustawienia > Drukowanie, backendowy endpoint z walidacja CSRF, aktualizacja widoku i dokumentacji technicznej.

## Project Context @.paul/PROJECT.md @.paul/ROADMAP.md @.paul/STATE.md @DOCS/todo.md @DOCS/ARCHITECTURE.md @DOCS/DB_SCHEMA.md

Prior Work (only if genuinely needed)

@.paul/phases/18-print-queue-backend/18-01-SUMMARY.md @.paul/phases/19-ui-integration/19-01-SUMMARY.md

Source Files

@src/Modules/Printing/PrintJobRepository.php @src/Modules/Settings/PrintSettingsController.php @routes/web.php @resources/views/settings/printing.php @resources/scss/modules/_printing.scss

## Required Skills (from SPECIAL-FLOWS.md)
Skill Priority When to Invoke Loaded?
sonar-scanner required Po APPLY, przed UNIFY o
/code-review optional Po implementacji, przed UNIFY o

BLOCKING: Required skills MUST be loaded before APPLY proceeds.

Skill Invocation Checklist

  • sonar-scanner uruchomiony po APPLY
  • /code-review (opcjonalnie)

<acceptance_criteria>

AC-1: Backend obsluguje usuwanie wpisu kolejki druku

Given wpis istnieje w tabeli `print_jobs`
When uzytkownik wysle poprawny request usuniecia z tokenem CSRF
Then rekord jest usuwany z kolejki
And uzytkownik dostaje komunikat sukcesu lub poprawny blad

AC-2: UI pozwala usunac wpis z kolejki w bezpieczny sposob

Given uzytkownik jest na `Ustawienia > Drukowanie`
When kliknie akcje usuniecia przy wpisie kolejki
Then widzi potwierdzenie przez `window.OrderProAlerts.confirm(...)`
And po zatwierdzeniu wpis znika z listy po odswiezeniu

AC-3: Zmiana jest odnotowana w dokumentacji i TODO

Given wdrozenie punktu 43
When sprawdzane sa dokumenty techniczne
Then ARCHITECTURE i TECH_CHANGELOG opisuja nowa akcje usuwania z kolejki
And punkt 43 w DOCS/todo.md jest oznaczony jako wykonany

</acceptance_criteria>

Task 1: Dodaj backendowe usuwanie wpisu kolejki druku src/Modules/Printing/PrintJobRepository.php, src/Modules/Settings/PrintSettingsController.php, routes/web.php Dodaj w repozytorium metode usuwania wpisu po `id` (prepared statement). Rozszerz `PrintSettingsController` o akcje `deleteJob` z walidacja CSRF i flash messages. Dodaj route POST dla usuwania wpisu kolejki (obszar ustawien drukowania, auth required). Zachowaj istniejace endpointy API dla klienta Windows bez zmian. rg -n "deleteJob|DELETE FROM print_jobs|/settings/printing/jobs" src/Modules/Printing/PrintJobRepository.php src/Modules/Settings/PrintSettingsController.php routes/web.php AC-1 satisfied: rekord moze byc usuniety przez kontrolowany endpoint. Task 2: Dodaj akcje usuwania do widoku kolejki druku resources/views/settings/printing.php, resources/scss/modules/_printing.scss, public/assets/css/app.css W tabeli `Kolejka wydruku` dodaj przycisk/formularz usuwania wpisu. Potwierdzenie realizuj przez `window.OrderProAlerts.confirm(...)` (bez natywnego `confirm`). Styl akcji dodaj w SCSS i przebuduj CSS do `public/assets/css/app.css`. Nie dodawaj inline CSS; zachowaj kompaktowosc layoutu. rg -n "OrderProAlerts\.confirm|Usun|print-queue" resources/views/settings/printing.php resources/scss/modules/_printing.scss AC-2 satisfied: usuwanie wpisu jest dostepne i zabezpieczone potwierdzeniem. Task 3: Zaktualizuj dokumentacje techniczna i TODO DOCS/ARCHITECTURE.md, DOCS/TECH_CHANGELOG.md, DOCS/todo.md Opisz nowa akcje usuwania wpisu kolejki i jej endpoint/kontroler. Oznacz punkt 43 jako wykonany. Upewnij sie, ze dokumentacja nie sugeruje juz braku tej funkcji. rg -n "43\.|kolejk|usun|printing" DOCS/ARCHITECTURE.md DOCS/TECH_CHANGELOG.md DOCS/todo.md AC-3 satisfied: dokumentacja i TODO sa aktualne. Usuwanie wpisu kolejki druku z poziomu panelu ustawien. 1. Otworz `Ustawienia > Drukowanie`. 2. W sekcji `Kolejka wydruku` kliknij `Usun` przy wybranym wpisie. 3. Potwierdz akcje w modalu OrderProAlerts. 4. Sprawdz, ze po odswiezeniu wpis nie jest widoczny. 5. Sprawdz, ze anulowanie potwierdzenia nie usuwa wpisu. Type "approved" to continue, or describe issues to fix

DO NOT CHANGE

  • database/migrations/*
  • API key endpointy klienta drukujacego
  • Logika tworzenia i pobierania etykiet

SCOPE LIMITS

  • Zakres dotyczy wyłšcznie usuwania wpisow kolejki druku.
  • Bez dodawania masowych operacji na kolejce.
  • Bez zmian poza obszarem ustawien drukowania i repozytorium kolejki.
Before declaring plan complete: - [ ] `C:\xampp\php\php.exe -l src/Modules/Printing/PrintJobRepository.php` - [ ] `C:\xampp\php\php.exe -l src/Modules/Settings/PrintSettingsController.php` - [ ] `C:\xampp\php\php.exe -l routes/web.php` - [ ] `C:\xampp\php\php.exe -l resources/views/settings/printing.php` - [ ] `npm run build:css` (jesli wymagane przez zmiany SCSS) - [ ] Manual verification checkpoint wykonany - [ ] Dokumentacja (`DOCS/ARCHITECTURE.md`, `DOCS/TECH_CHANGELOG.md`, `DOCS/todo.md`) zaktualizowana - [ ] All acceptance criteria met

<success_criteria>

  • Uzytkownik moze usunac wpis kolejki druku z UI
  • Potwierdzenie dziala przez OrderProAlerts
  • Punkt 43 zamkniety wraz z dokumentacja </success_criteria>
After completion, create `.paul/phases/43-print-queue-entry-removal/43-01-SUMMARY.md`