Házi feladat

Hello Django -- Feladatválasztás

Általános leírás

Osztálykirándulás előtt adottak a témák, amikről kiselőadásokat kell tartani. Az osztályfőnöknek szüksége van egy, ezen kiselőadásokra való jelentkeztető felületre, ennek megvalósítása lenne a feladat.

Az applikációban két különböző felhasználói csoport vesz részt: a tanár hozzáfér az admin site-hoz, ahol adhat új feladatokat és létrehozhat új felhasználókat egyenként. Emellett tudja használni a felhasználók csoportos regisztrációjára szolgáló plusz adminisztrátori felületet is, ahol tsv fájlok felhasználásával tud új felhasználókat csoportosan regisztrálni. A diákok be tudnak jelentkezni az oldalra, és bejelentkezés után egyből a feladatokat látják, ott pedig képesek a feladatokra feljelentkezni, feladatokról lejelentkezni illetve feladatok között átjelentkezni.

Jelentkezések logikája

A

View-k

login

Legyen egy, a felhasználók bejelentkeztetésére szolgáló felület! A Django beépített autentikációs rendszerét használd, amihez itt találsz segítséget (a block-okon belüli rész fontos csak!).

A password-reset részt nem kell megvalósítani. (Email-küldés szükséges hozzá, és nehéz megvalósítani a jelszó elrejtését!)

Ezen az oldalon kívül minden oldalról legyen elérhető egy kijelentkeztető link!

Jelentkezés

Legyen egy oldal, amin jelentkezni lehet illetve áttekinthetők a jelentkezések a tanár számára. Az oldalon jelenjenek meg áttkintehető formában a választható feladatok, továbbá azon feladatok környezetében, amelyekre

Ha a gombok személyre szabása nehéz, elkészíthető úgy is a feladat, hogy csak fel- és lejelentkezőgombok vannak, amelyek minden körülmények között látszódnak, de csak akkor működnek, ha a megfelelő körülmények fennállnak. (Tehát pl a lejelentkezőgombok akkor is ott vannak, ha egyébként a felhasználó még nem jelentkezett az adott feladatra, csak éppen ez a gomb nem csinál semmit azon kívül, hogy újratölti az oldalt.)

A megjelenítés során legyen egy lista azon felhasználókról is, akik nem választottak még egyáltalán semmilyen foglalkozást!

Regisztráció

Legyen egy oldal egy textarea-val és három gombbal.

Új felhasználók

Az egyik gomb szolgáljon arra, hogy userek egy tsv fájlja névvel, felhasználónévvel és jelszóval kerül bele, akkor ez alapján létre lehessen egyetlen gombnyomással sok usert is egyszerre, akik ezt követően be tudnak jelentkezni.

Új feladatok

A másik gomb szolgáljon arra, hogy feladatnevek sortöréssel elválasztva kerülnek bele, akkor ez alapján létre lehessen egyetlen gombnyomással sok feladatot is hozni egyszerre, amelyekre később lehet jelentkezni.

Feladatok törlése

Legyen egy gomb, ami kitörli az összes feladatot az adatbázisból!

Adatbázis

Az adatbázisban létezzenek feladatok, amelyeknek tulajdonsága a nevük és a user, aki feljelentkezett az adott feladatra. Legyen megengedve az is, hogy ez a mező blank/null legyen.

Minden modell legyen hozzáférhető az admin-site-on is a tanár számára!

Létezzen egy csoport a tanárok részére, akik a regisztrációs felületet kezelni tudják!

Deployment

A megoldásod legyen elérhető a világhálón, a címét pedig linkeld a repository README.md fájljában!