Problém: queryset metody zadane() a zadane_nebo_vyresene() #134

Open
zelvuska wants to merge 1 commit from refactor/zadane-problemy into master
Owner

Filtr na zadané (příp. zadané nebo vyřešené) problémy se opakoval na 7 místech, a to nejednotně: jednou konstantou Problem.STAV_ZADANY, jindy řetězcem 'zadany'. Navazuje na diskuzi u #133 o managerech s upraveným querysetem.

Změny

  • ProblemQuerySet s metodami zadane() a zadane_nebo_vyresene() v tvorba/models.py.
  • Problem.objects = PolymorphicManager.from_queryset(ProblemQuerySet)(). Problem je polymorfní, takže prostý QuerySet.as_manager() by nefungoval. Tema, Uloha, Clanek i Konfera manager dědí, stejně jako reverzní vazby (nadproblem.podproblem.zadane()).
  • Nahrazené filtry v api/views/autocomplete.py, tvorba/views/__init__.py (3×) a odevzdavatko/views.py (4×).

Výchozí objects se nefiltruje, metody se volají explicitně. Filtrovaný výchozí manager by schoval problémy v adminu i ve formulářích.

Ověření

  • Pro Problem, Tema, Uloha, Clanek i Konfera vrací zadane() a zadane_nebo_vyresene() stejné záznamy jako původní filtry.
  • Dotčené stránky (témata, zadání, archiv témat, nahrávání řešení jako řešitel, výpis řešení s filtry „moje“ i „letošní“, autocomplete) vykreslí stejné HTML jako na masteru. Liší se jen request ID a časy z debug toolbaru.
  • makemigrations --check beze změn. Testy dopadají stejně jako na masteru (padá jen netrackovaný tests_old.py).

Nezávislé na #133.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GF4aaJxE99JG7MHM5B3HFK

Filtr na zadané (příp. zadané nebo vyřešené) problémy se opakoval na 7 místech, a to nejednotně: jednou konstantou `Problem.STAV_ZADANY`, jindy řetězcem `'zadany'`. Navazuje na diskuzi u #133 o [managerech s upraveným querysetem](https://docs.djangoproject.com/en/5.2/topics/db/managers/#modifying-a-manager-s-initial-queryset). ## Změny - `ProblemQuerySet` s metodami `zadane()` a `zadane_nebo_vyresene()` v `tvorba/models.py`. - `Problem.objects = PolymorphicManager.from_queryset(ProblemQuerySet)()`. Problem je polymorfní, takže prostý `QuerySet.as_manager()` by nefungoval. Tema, Uloha, Clanek i Konfera manager dědí, stejně jako reverzní vazby (`nadproblem.podproblem.zadane()`). - Nahrazené filtry v `api/views/autocomplete.py`, `tvorba/views/__init__.py` (3×) a `odevzdavatko/views.py` (4×). Výchozí `objects` se **nefiltruje**, metody se volají explicitně. Filtrovaný výchozí manager by schoval problémy v adminu i ve formulářích. ## Ověření - Pro Problem, Tema, Uloha, Clanek i Konfera vrací `zadane()` a `zadane_nebo_vyresene()` stejné záznamy jako původní filtry. - Dotčené stránky (témata, zadání, archiv témat, nahrávání řešení jako řešitel, výpis řešení s filtry „moje“ i „letošní“, autocomplete) vykreslí stejné HTML jako na masteru. Liší se jen request ID a časy z debug toolbaru. - `makemigrations --check` beze změn. Testy dopadají stejně jako na masteru (padá jen netrackovaný `tests_old.py`). Nezávislé na #133. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01GF4aaJxE99JG7MHM5B3HFK
Filtr na zadané (příp. vyřešené) problémy se opakoval na 7 místech,
jednou konstantou, jindy řetězcem 'zadany'. Problem je polymorfní,
takže manager je PolymorphicManager.from_queryset(ProblemQuerySet);
Tema, Uloha, Clanek i Konfera ho dědí, stejně jako reverzní vazby.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GF4aaJxE99JG7MHM5B3HFK
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin refactor/zadane-problemy:refactor/zadane-problemy
git switch refactor/zadane-problemy

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch master
git merge --no-ff refactor/zadane-problemy
git switch refactor/zadane-problemy
git rebase master
git switch master
git merge --ff-only refactor/zadane-problemy
git switch refactor/zadane-problemy
git rebase master
git switch master
git merge --no-ff refactor/zadane-problemy
git switch master
git merge --squash refactor/zadane-problemy
git switch master
git merge --ff-only refactor/zadane-problemy
git switch master
git merge refactor/zadane-problemy
git push origin master
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mam/mamweb!134
No description provided.