iiuni / projektzapisy

System Zapisów na zajęcia w Instytucie Informatyki Uniwersytetu Wrocławskiego
https://zapisy.ii.uni.wroc.pl
32 stars 10 forks source link

#1587 Osoby przypisane do tematu pracy dyplomowej powinny widzieć go jeszcze przed akceptacją #1602

Closed Ph0enixKM closed 4 months ago

Ph0enixKM commented 11 months ago

Użytkownik mógł zobaczyć swoją pracę dyplomową w zależności od statusu. Teraz może ją zobaczyć niezależnie od statusu (tj. również przed akceptacją)

Ph0enixKM commented 7 months ago

Nie wiem czy do końca rozumiem co Pan sugeruje, ale przeczytałem właśnie moje zmiany po krótkiej przerwie i wydaje mi się, że ujednolicenie tutaj kodu będzie nadinżynierią, ponieważ tutaj zamiast:

Myślę, że bezpośrednie operowanie na konkretnym ID i wykonanie kilku prostych zapytań booleanowskich jest znacznie szybsze i bardziej efektywne niż przetwarzanie i filtrowanie całej listy prac dyplomowych, zwłaszcza gdy rozmiar danych zacznie rosnąć.

lgpawel commented 5 months ago

Zdaje się że po zmianach pojawi się jeden niepożądany (choć drobny) scenariusz; student widzący "swój" temat jeszcze przed akceptacją może kliknąć link do deklaracji przygoto(wy)wania pracy, po czym dostanie w twarz PermissionDenied. Trzeba więc ujednolicić zmienne can_download_declarations i user_allowed_to_generate w tych dwóch metodach, zarówno co do semantyki, jak i nazwy – i znowu, skoro pojawia się to dwa razy, to niech będzie metodą Thesis.

Proszę jeszcze zastanowić się, czy nie pojawia się jeszcze jakieś zachowanie tego typu.

Ph0enixKM commented 4 months ago

@lgpawel Usunąłem zmienną user_privileged_for_thesis w gen_form, która oryginalnie była używana, ale po refaktorze nie jest ona potrzebna, ponieważ przechowywała ona jedynie wartość pośrednią, która jest już teraz obliczana wewnątrz funkcji dla zmiennej poniżej (user_allowed_to_generate).

Ph0enixKM commented 4 months ago

Plik models.py:

Plik views.py: