Skip to content

feat(admin): filtr "PBN: status" (skasowany/aktywny/brak) dla wydawnictw#450

Merged
mpasternak merged 1 commit into
devfrom
feat/admin-filtr-pbn-status
Jul 5, 2026
Merged

feat(admin): filtr "PBN: status" (skasowany/aktywny/brak) dla wydawnictw#450
mpasternak merged 1 commit into
devfrom
feat/admin-filtr-pbn-status

Conversation

@mpasternak

Copy link
Copy Markdown
Member

Po co

Po zmergowaniu #449 (import nie tworzy już rekordów BPP dla prac DELETED w PBN) pojawiła się potrzeba znalezienia rekordów, które powstały wcześniej — powiązanych z pracą skasowaną po stronie PBN. W adminie Wydawnictwo_Ciagle/Zwarte był tylko filtr „PBN UID obecny/brak", bez statusu.

Co

Nowy PBNStatusFilter (bpp/admin/filters.py) traversujący pbn_uid__status, dodany do list_filter obu adminów. Trzy opcje:

  • skasowany w PBN (DELETED)
  • aktywny w PBN (ACTIVE)
  • brak powiązania (pbn_uid puste)

DjangoQL — działa już bez zmian

Przy okazji zweryfikowałem (test regresyjny): pbn_uid.status = "DELETED" w polu DjangoQL admina waliduje się i filtruje poprawnie. pbn_api nie jest wykluczone z BppQLSchema, więc traversal po pbn_uid jest dostępny. Test pilnuje, że przyszłe uszczelnianie schematu tej ścieżki nie odetnie.

Testy (TDD)

src/bpp/tests/test_admin/test_pbn_status_filter.py — RED (ImportError) → GREEN. 8 testów: deleted/active/brak dla Wydawnictwo_Ciagle, kontrola pustej wartości, Wydawnictwo_Zwarte, obecność w list_filter obu adminów, oraz regresja DjangoQL. Lokalnie 8/8, ruff czysty. Bez migracji.

🤖 Generated with Claude Code

Nowy SimpleListFilter (PBNStatusFilter) traversujacy pbn_uid__status, dodany
do list_filter adminow Wydawnictwo_Ciagle i Wydawnictwo_Zwarte. Trzy opcje:
skasowany w PBN (DELETED), aktywny (ACTIVE), brak powiazania (pbn_uid puste).
Ulatwia znalezienie rekordow BPP powiazanych z praca usunieta po stronie PBN.

Test regresyjny potwierdza takze, ze ta sama sciezka dziala w DjangoQL
admina (pbn_uid.status = "DELETED") — pbn_api nie jest wykluczone z BppQLSchema.

Testy TDD: test_admin/test_pbn_status_filter.py.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mpasternak
mpasternak merged commit 251c28f into dev Jul 5, 2026
23 checks passed
@mpasternak
mpasternak deleted the feat/admin-filtr-pbn-status branch July 5, 2026 17:57
mpasternak added a commit that referenced this pull request Jul 7, 2026
…PBN" dla wyd. ciągłych (#464)

Uzupełnia PR #450/#443 o dwa brakujące kryteria filtrowania po statusie PBN:

1. Wydawnictwo ciągłe — nowy filtr "Źródło: status w PBN"
   (ZrodloUsunieteWPBNFilter), traversuje zrodlo.pbn_uid.status. Wyłapuje
   prace, których ŹRÓDŁO jest skasowane w PBN, niezależnie od statusu
   samego rekordu.
2. Źródła — podpięcie istniejącego PBNStatusFilter do ZrodloAdmin
   (Zrodlo.pbn_uid → Journal, który też ma .status).

PBNStatusFilter uogólniony na parametr `pbn_relation` (domyślnie "pbn_uid"),
w pełni wstecznie kompatybilny — istniejące testy przechodzą bez zmian.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant