Tutaj jest tylko część UI co robił @Kainsiel , bo nie jestem pewien, czy wszystko już na 100% działa
Powinno działać:
Dodawanie/edycja/usuwanie pytań
Głosowanie
Rejestracja użytkownika przez social media/swoje konto
Dodawanie/usuwanie pokojów
Podgląd wcześniejszych wersji pytania
Omówienie widoków:
ShowVersions:
Służy do przeglądania wszystkich wersji pytania
Pokazuje je w ShowVersions.html
Logika znajduje się w VersionsManager; do template przesyłana jest lista wersji danego pytania; porusza się po przechodzeniu z pytania na jego poprzednika
Signup:
Służy do rejestrowania się "ręcznego"(bez social media)
Template nazywa się signup
Logika znajduje się w SignUpManager - o jej szczegóły trzeba pytać @Kainsiel
search:
Służy do przeglądania/dodawania/usuwania pokoi
Pokazuje je w Search.html
Logika znajduje się głównie w SearchManager(dla usuwania w RemoveRManager); na początku w SearchManager sprawdzane jest, który z formularzy został wysłany (remove or add) i zachowuje się odpowiednio- jeśli dodany, to wypełniany jest obiekt room(wysyła się go do bazy danych), a później room1(return wymagał typu dict, dlatego go dodałem); w przypadku usuwania to najpierw usuwane są wszelkie powiązania między obiektami (głosy, pytania(oraz ich wersje), a następnie same obiekty i na końcu usuwany jest pokój. W pliku views.py w metodzie search w 1. linii znajduje się lista, do której dodawane są wszystkie pokoje i wysyłane do html;
ShowQuestions
-Służy do przeglądania/dodawania/oceniania/edytowania/usuwania pytań
Pokazuje je w Questions.html
Główna logika formularzy znajduje się w ChooseFormManager. W niej na podstawie hidden label z formularza decydowane jest, który formularz został wysłany i na podstawie tej informacji następuje przekierowanie do odpowiedniego Managera:
EditManager pozwala na edycję pytań; Nowe pytanie przyjmuje wszystkie wartości starego pytania, oprócz treści i pola "previous_version"; wszystkie wcześniejsze wersje tego pytania mają zmienianą wartość pola "Current_version"
DeleteManager działa analogicznie do RemoveRManager
ShowQManager Dodaje do listy wszystkie pytania, które pole current_version mają równe null oraz zgadza się id pokoju; za każdym razem podliczana ( i przypisywana) jest suma oddanych na to pytanie głosów
VoteManager dodaje nowe głosy i jeśli ktoś już głosował, to usuwany jest stary głos i dodawany jest nowy- to powinno trochę inaczej działać (zamiast dodaj-usun to powinno być update), ale z tym miałem drobne problemy i uznałem "na razie walić to" Metoda zwraca zaaktualizowane pytanie
AddQManager zarządza dodawaniem nowych pytań; działa analogicznie do AddRoom
Logiki js nie będę tutaj teraz omawiał, jeśli ktoś będzie chciał to jutro(09.06.18r) mogę to omówić.
Tutaj jest tylko część UI co robił @Kainsiel , bo nie jestem pewien, czy wszystko już na 100% działa Powinno działać: Dodawanie/edycja/usuwanie pytań Głosowanie Rejestracja użytkownika przez social media/swoje konto Dodawanie/usuwanie pokojów Podgląd wcześniejszych wersji pytania Omówienie widoków:
ShowQuestions -Służy do przeglądania/dodawania/oceniania/edytowania/usuwania pytań
EditManager pozwala na edycję pytań; Nowe pytanie przyjmuje wszystkie wartości starego pytania, oprócz treści i pola "previous_version"; wszystkie wcześniejsze wersje tego pytania mają zmienianą wartość pola "Current_version"
DeleteManager działa analogicznie do RemoveRManager
ShowQManager Dodaje do listy wszystkie pytania, które pole current_version mają równe null oraz zgadza się id pokoju; za każdym razem podliczana ( i przypisywana) jest suma oddanych na to pytanie głosów
VoteManager dodaje nowe głosy i jeśli ktoś już głosował, to usuwany jest stary głos i dodawany jest nowy- to powinno trochę inaczej działać (zamiast dodaj-usun to powinno być update), ale z tym miałem drobne problemy i uznałem "na razie walić to" Metoda zwraca zaaktualizowane pytanie
AddQManager zarządza dodawaniem nowych pytań; działa analogicznie do AddRoom
Logiki js nie będę tutaj teraz omawiał, jeśli ktoś będzie chciał to jutro(09.06.18r) mogę to omówić.