\section{Případy užití}
\todo[inline]{upravit obrázky}
Následující kapitola obsahuje popis případů užití vytvářeného modulu tak, jak vyplynuly z rozhovorů se zaměstanci školy a funkčních požadavků. Na obrázku \ref{img:uc:main} jsou znázorněny hlavní případy užití, které jsou dále rozpracovány v samostatných podkapitolách.
\begin{figure}[h!!!]\centering
    \centering
    \includegraphics[width=10.5cm]{img/usecase/main.png}
    \caption{Případy užití modulu pro tvorbu úvazků a výběr volitelných předmětů}
    \label{img:uc:main}
\end{figure}

\subsection{Zápis volitelných předmětů \ref{img:uc:zapis}}
Z důvodu přehlednosti je diagram \ref{img:uc:zapis} pro obsáhlé případy užití rozdělen na jednotlivé diagramy, které budou popsány v následujících podkapitolách.

Uživatel vybere v administraci položku \enquote{\textit{Zápis předmětů}} a následně se zobrazí podmenu umožňující výběr konkrétní akce. Pokud je uživatel přihlášen jako učitel, v celém zápisu předmětů se mu budou zobrazovat pouze zápisy související se třídami, které vyučuje.
\clearpage
\begin{figure}[ht!]\centering
    \centering
    \includegraphics[width=10.5cm]{img/usecase/zapis.png}
    \caption{Případy užití: Zápis předmětů}
    \label{img:uc:zapis}
\end{figure}

\begin{itemize}
    \item Zobrazení výsledků\\Správce systému, učitel, nebo student vybere u příslušného zápisu předmětů možnost \enquote{Zobrazit výsledky} a systém následně zobrazí vypsané předměty a jejich hodinovou dotaci pro daný školní rok.
\end{itemize}

\subsubsection{Správa zápisů \ref{img:uc:sprava_zapisu}}
\begin{itemize}
    \item Vytvoření zápisu\\Administrátor vybere možnost \enquote{Vytvořit zápis} a vyplní formulář, který systém zobrazí. V případě korektního vyplnění zápisu systém přesměruje administrátora na detail zápisu \ref{img:obrazovka:zapis_detail}. V opačném případě vyzve administrátora k opravení nevalidních dat.
    \item Změna viditelnosti zápisu\\Administrátorovi se dle aktuálního stavu zápisu zobrazí možnosti \enquote{Označit dokončený} nebo \enquote{Označit rozpracovaný}. Administrátor příslušnu akci vybere a potvrdí systémem zobrazené výstražné okno. Při potvrzení varování se akce provede, v opačném případě nikoliv.
    \item Archivace zápisu\\Administrátor vybere tuto možnost, pokud zápis již není aktuální. Výběrem této možnosti dojde k archivaci zápisu.
    \item Editace zápisu\\Administrátor vybere možnost \enquote{Upravit zápis} a systém následně zobrazí formulář s poli dostupnými pro editaci v závislosti na stavu zápisu. Pokud odeslaný formulář obsahuje nevalidní data, systém na tuto skutečnost upozorní a vyzve administrátora k opravě.
    \item Vytvoření validačních skupin\\Na detailu zápisu \ref{img:obrazovka:zapis_detail} vybere administrátor požadovanou skupinu, která má být vytvořena, pokud to stav zápisu dovoluje. V zobrazeném formuláři vyplní příslušné vlastnosti skupiny. Po odeslání se v systému vytvoří nová validační skupina a přiřadí k danému zápisu.
    \item Přiřazení předmětů\\Administrátor vybere možnost \enquote{Přidat předmět} pro již předem vytvořenou validační skupinu. Systém zobrazí formulář pro výběr předmětu a přiřazení hodinové dotace. Po odeslání validního formuláře dojde k přiřazení předmětu k validační skupině a tím i k příslušnému zápisu.
    \item Export dat\\Administrátor vybere ze seznamu položky, které budou exportovány a odešle formulář. Aplikace uloží data do souboru a v klientském prohlížeči zahájí stahování. 
\end{itemize}

\begin{figure}[ht!]\centering
    \centering
    \includegraphics[width=10.5cm]{img/usecase/sprava_zapisu.png}
    \caption{Případy užití: správa zápisů}
    \label{img:uc:sprava_zapisu}
\end{figure}

\subsubsection{Výběr předmětů \ref{img:uc:vyber_predmetu}}
\begin{itemize}
    \item Zobrazení seznamu zápisů\\Studentovi se po přihlášení zobrazí seznam aktivních a vyhodnocených zápisů.
    \item Vyplnění zápisu\\Student vybere možnost \enquote{Vyplnit zápis} u zápisu a systém zobrazí interaktivní formulář, který studenta provede výběrem předmětů. Student vyplní jednotlivé formuláře pro každou skupinu a pro primární i náhradní volby. V případě odeslání validních dat se studentova volba uloží, v opačném případě je student vyzván k opravě zadaných údajů.
    \item Editace odpovědi\\Pokud již student dříve zápis vyplnil a znovu vybere možnost pro vyplnění zápisu, systém zobrazí formulář s předvyplněnými minulými odpověďmi. Student je může upravit a znovu formulář odeslat.
\end{itemize}
\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=10.5cm]{img/usecase/vyber_predmetu.png}
    \caption{Případy užití: výběr předmětů}
    \label{img:uc:vyber_predmetu}
\end{figure}

\subsubsection{Vyhodnocení zápisu \ref{img:uc:vyhodnoceni}}
\begin{itemize}
    \item Vyhodnocení zápisu\\Administrátor vybere možnost vyhodnit zápis a systém zobrazí příslušný formulář. Administrátor vybere předměty, které mají být otevřeny a přiřadí je jednotlivým studentům. Administrátor odešle formulář kliknutím na tlačítko \enquote{Uložit změny} a tím data uloží.
    \item Označení za rozpracovaný\\Pokud administrátor poprvé vybere možnost \enquote{Vyhodnotit zápis}, označí jej systém jako rozpracovaný.
    \item Označení za vyhodnocený\\Pokud administrátor vybere možnost \enquote{Uzavřít zápis}, označí jej systém jako vyhodnocený.
    \item Odeslání emailů\\Administrátor vybere možnost \enquote{Odeslat email studentům} a systém odešle studentům výsledky zápisu. O výsledku systém administrátora informuje.
    \item Export dat\\Administrátor vybere ze seznamu položky, které budou exportovány a odešle formulář. Aplikace uloží data do souboru a v klientském prohlížeči zahájí stahování. 
\end{itemize}
\clearpage
\pagebreak
\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=10.5cm]{img/usecase/vyhodnoceni.png}
    \caption{Případy užití: vyhodnocení zápisu}
    \label{img:uc:vyhodnoceni}
\end{figure}

\subsection{Tvorba úvazků \ref{img:uc:uvazky}}
\begin{itemize}
    \item Vyplnění požadavků\\
    Učitel vybere možnost \enquote{Mé požadavky} a systém zobrazí interaktivní formulář pro zadání potřebných dat pro vyhodnocování zápisů. Učitel vyplní požadovaná pole formuláře a v tabulce reprezentující rozvrh hodin vybere preferované časy své výuky. V případě, že je formulář vyplněn korektně, data se uloží, jinak je učitel vyzván k opravě.
    \item Přiřazení úvazků\\
    Administrátor vybere možnost \enquote{Vytvořit úvazky} a systém následně zobrazí první formulář pro vypsání předmětů s hodinovou dotací v jednotlicých třídách. Administrátor údaje vyplní a uloží změny. Poté administrátor vybere možnost \enquote{Další krok} a systém zobrazí interaktivní formulář pro přiřazení vypsaných dvojic -- třída a předmět -- k jednotlivým učitelům. Administrátor údaje vyplní a uloží změny. Poté administrátor vybere možnost \enquote{Další krok} a zobrazí souhrn úvazků. Administrátor vybere možnost \enquote{Uzavřít úvazky} nebo \enquote{Zpět}.
\end{itemize}
\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=10.5cm]{img/usecase/uvazky.png}
    \caption{Případy užití: tvorba úvazků}
    \label{img:uc:uvazky}
\end{figure}

\subsection{Správa předmětů \ref{img:uc:sprava_predmetu}}
\begin{itemize}
    \item Vytvoření předmětu\\Administrátor vybere možnost \enquote{Vytvořit předmět} a systém zobrazí příslušný formulář. V případě vyplnění validních dat se předmět po odeslání formuláře administrátorem vytvoří. V opačném případě systém vyzve administrátora k opravě chybně zadaných údajů.
    \item Přiřazení studijních oborů\\Administrátor vybere možnost \enquote{Přidat studijní obor}, systém zobrazí formulář pro výběr konkrétího studijního oboru. Následně administrátor formulář odešle.
    \item Editace předmětu\\Administrátor vybere možnost \enquote{Upravit předmět}, systém zobrazí formulář s vyplněnými hodnotami. Administrátor formulář upraví a odešle, nové hodnoty se uloží.
    \item Archivování předmětu\\Administrátor vybere možnost \enquote{Archivovat předmět}, systém zobrazí výstražnou obrazovku. Administrátor potvrdí archivaci nebo se vrátí zpět.
    \item Obnovení předmětu\\Administrátor vybere možnost \enquote{Obnovit předmět}, systém zobrazí výstražnou obrazovku. Administrátor potvrdí obnovení nebo se vrátí zpět.
\end{itemize}
\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=10.5cm]{img/usecase/sprava_predmetu.png}
    \caption{Případy užití: správa předmětů}
    \label{img:uc:sprava_predmetu}
\end{figure}

\clearpage
\section{Databázové schéma}
Následující kapitola popisuje databázové schéma, které bylo v rámci implementace modulu vytvořeno. Samotná databáze obsahuje navíc tabulky jádra informačního systému, které modul také pro svojí funkci využívá, nejsou však níže popsány, ani zobrazeny na diagramu \ref{img:navrh:db_model}.
\begin{flushleft}
\begin{itemize}
    \item  Tabulka zápisů (enrollment)
    \begin{itemize}
      \item \textbf{id:} identifikátor 
      \item \textbf{fieldofstudy\_id:} identifikátor studijního oboru, ke kterému zápis pratří
      \item \textbf{is\_email\_sent:} příznak odeslání emailu s výsledky studentům
      \item \textbf{valid\_from:} datum vpuštění studentů do zápisu volitelných předmětů
      \item \textbf{valid\_top:} datum ukončení zápisu pro studenty
      \item \textbf{created\_at:} datum vytvoření zápisu
      \item \textbf{updated\_at:} datum poslední editace zápisu
      \item \textbf{grade:} ročník, pro který je zápis vypsán
      \item \textbf{note:} informace k zápisu pro studenty
      \item \textbf{school\_year:} školní rok, pro který je zápis vypsán
      \item \textbf{is\_copy:} příznak, zda byly odpovědi zápisů již duplikované
      \item \textbf{is\_finished:} příznak, zda je zápis označen jako připravený
      \item \textbf{is\_evaluated:} příznak, zda je vyhodnocení zápisu uzavřeno
      \item \textbf{is\_archived:} příznak, zda je zápis archivován
    \end{itemize}
  \end{itemize}

  \begin{itemize}
    \item Tabulka odpovědí studentů na zápis (enrollment\_response)
    \begin{itemize}
      \item \textbf{id:} identifikátor
      \item \textbf{enrollment\_id:} identifikátor zápisu, ke kterému odpověď studenta patří
      \item \textbf{student\_id:} identifikátor studenta, který odpověď odeslal
      \item \textbf{created\_at:} datum vytvoření odpovědi
      \item \textbf{updated\_at:} datum poslední editace odpovědi
    \end{itemize}
  \end{itemize}

  \begin{itemize}
    \item Tabulka validačních skupin zápisu (enrollment\_group)
    \begin{itemize}
      \item \textbf{id:} identifikátor
      \item \textbf{enrollment\_id:} identifikátor zápisu, ke kterému validační skupina přísluší
      \item \textbf{group\_type:} příznak typu skupiny
      \item \textbf{mandatory:} příznak, zda mají být předměty ve skupině povinně zapsány
      \item \textbf{min\_hours:} minimální počet hodin, které si student musí mezi předměty vybrat
      \item \textbf{max\_hours:} maximální počet hodin, které si student musí mezi předměty vybrat
      \item \textbf{min\_subjects:} minimální počet předmětů, které si student musí mezi předměty vybrat
      \item \textbf{max\_subjects:} maximální počet předmětů, které si student musí mezi předměty vybrat
    \end{itemize}
  \end{itemize}

  \begin{itemize}
  \item Tabulka předmětů patřících k validačním skupinám   (enrollment\_group\_subject)
    \begin{itemize}
      \item \textbf{id:} identifikátor
      \item \textbf{subject\_id:} indetifikátor předmětu
      \item \textbf{group\_id:} identifikátor validační skupiny
      \item \textbf{hours:} počet hodin
      \item \textbf{capacity:} kapacita předmětu
      \item \textbf{is\_disabled:} příznak vyřazení předmětu ze zápisu během vyhodnocování
      \item \textbf{final\_student\_count:} počet zapsaných studentů po vyhodnocení
    \end{itemize}
  \end{itemize}


  \begin{itemize}
    \item Tabulka předmětů (subject)
    \begin{itemize}
      \item \textbf{id:} identifikátor
      \item \textbf{title:} název předmětu
      \item \textbf{code:} kód předmětu
      \item \textbf{text:} informace o předmětu
      \item \textbf{active:} příznak, zda je předmět aktivní
    \end{itemize}
  \end{itemize}

  \begin{itemize}
    \item Tabulka aprobací (approbation)
    \begin{itemize}
      \item \textbf{id:} identifikátor
      \item \textbf{teacher\_id:} identifikátor učitele
      \item \textbf{created\_at:} datum vytvoření aprobace
      \item \textbf{updated\_at:} datum poslední editace aprbace
    \end{itemize}
  \end{itemize}


  \begin{itemize}
    \item Tabulka vztahů předmětů a oborů studia (field\_of\_study\_subject)
    \begin{itemize}
      \item \textbf{id:} identifikátor
      \item \textbf{subject\_id:} identifikátor předmětu
      \item \textbf{hours:} počet hodin předmětu v daném oboru studia
      \item \textbf{active:} příznak, zda je předmět stále vyučován do oboru
      \item \textbf{fieldOfStudy\_id:} identifikátor studijního oboru
    \end{itemize}
  \end{itemize}


  \begin{itemize}
    \item Tabulka skupin předmětů (subject\_group)
    \begin{itemize}
      \item \textbf{id:} identifikátor
      \item \textbf{title:} název skupiny předmětu
      \item \textbf{subject\_id:} identifikátor předmětu
      \item \textbf{abbreviation:} zkratka názvu skupiny
    \end{itemize}
  \end{itemize}


  \begin{itemize}
    \item Tabulka skupin úvazků pro školní rok (timejob)
    \begin{itemize}
      \item \textbf{id:} identifikátor
      \item \textbf{updated\_at:} datum poslední editace úvazků
      \item \textbf{school\_year:} školní rok do kterého jsou úvazky zařazeny
      \item \textbf{is\_finished:} příznak, zda jsou úvazky dokončené
    \end{itemize}
  \end{itemize}


  \begin{itemize}
    \item Tabulka přiřazení učitele ke třídě, předmětu a skupině (timejob\_class\_subject)
    \begin{itemize}
      \item \textbf{id:} identifikátor
      \item \textbf{subject\_id:} identifikátor předmětu
      \item \textbf{group\_id:} identifikátor skupiny předmětu
      \item \textbf{teacher\_id:} identifikátor učitele
      \item \textbf{hours:} počet hodin přiřazených učiteli
      \item \textbf{timejob\_id:} identifikátor skupiny úvazků
      \item \textbf{class\_id:} identifikátor třídy
      \item \textbf{enrollment\_subject\_id:} identifikátor předmětu ze zápisu volitelných předmětů
    \end{itemize}
  \end{itemize}

  \begin{itemize}
    \item Tabulka požadavků učitelů (requirement)
    \begin{itemize}
      \item \textbf{id:} identifikátor
      \item \textbf{hours:} počet hodin
      \item \textbf{timetable:} preferovaný rozvrh učitele
      \item \textbf{created\_at:} datum vytvoření požadavku
      \item \textbf{updated\_at:} datum poslední editace požadavku
      \item \textbf{note:} poznámka učitele k požadavkům
      \item \textbf{teacher\_id:} identifiktor učitele
      \item \textbf{school\_year:} školní rok, ke kterému se požadavky vztahují
    \end{itemize}
  \end{itemize}

  \begin{itemize}
    \item Tabulka vztahů mezi předmětem, skupinou, třídou a požadavkem učitele (requirement\_subject)
    \begin{itemize}
      \item \textbf{id:} identifikátor
      \item \textbf{subject\_id:} identifikátor předmětu
      \item \textbf{hours:} počet hodin/týden
      \item \textbf{requirement\_id:} identifiktor požadavku
      \item \textbf{group\_id:} identifikátor skupiny předmětu
    \end{itemize}
  \end{itemize}
\end{flushleft}
\noindent
\begin{figure}[ht!!]
    \includegraphics[width=15cm]{img/p01.pdf}
\end{figure}
\clearpage
\begin{figure}[ht!!]
    \includegraphics[width=15cm]{img/p02.pdf}
    \caption{Databázové schéma modulu}
    \label{img:navrh:db_model}
\end{figure}
\clearpage
\section{Návrh grafického uživatelského rozhraní}
\todo[inline]{upravit a doplnit obrázky}
V následující kapitole jsou realizovány návrhy obrazovek pomocí wireframe\footnote{drátěný model} modelu, který slouží pro náhled hotového řešení. Jde o modely definující rozložení, funkce a obsah jednotlivých stránek aplikace. V návrhovém modelu wireframe se zpravidla nedbá na grafické prvky, barvy nebo obrázky. \cite{wireframe}

Byly realizovány návrhy všech důležitých obrazovek vyjma formulářů, jejihž formulářové prvky prakticky kopírují sloupce jednotlivých entit a také některé seznamy entit, které budou ve výsledné práci realizovány jako jednoduchá tabulka s proklikem na detail entity.

Při návrhu obrazovek byl kladen důraz zejména na to, aby odpovídaly funkčním požadavkům definovaným v kapitole 1.3.

Jelikož se jedná o interní aplikaci, všechny obrazovky, kromě přihlašovací obrazovky, předpokládají přihlášeného uživatele. V levém horním rohu uživatel vidí, ve které části se aktuálně nachází -- \textit{Administrace} nebo \textit{Zápis volitelných předmětů}. V pravé části je umístěn odkaz pro změnu jazykové mutace a odhlášení z aplikace. Hlavní navigační menu se nachází v levém sloupci. Položky menu mohou být víceúrovňové.

\subsection{Přihlášení studenta pro výběr volitelých předmětů}
Dle funkčních požadavků je požadováno přihlášení studenta pouze pomocí přihlašovací kódu. Wireframe \ref{img:obrazovka:login} reprezentuje veřejně dostupnou obrazovku, tudíž nemá klasickou strukturu popsanou výše a obsahuje pouze název školy, formulářové pole pro zadání přihlašovacího kódu a tlačítko pro odeslání formuláře. V případě neúspěchu bude nad formulářovým polem zobrazena chybová hláška.

\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=13.1cm]{img/obrazovky/login.png}
    \caption{Wireframe přihlášení studenta pro výběr volitelých předmětů}
    \label{img:obrazovka:login}
\end{figure}

\subsection{Přehled zápisů studenta}
V hlavní části layoutu obrazovky jsou umístěny dvě tabulky. První tabulka obsahuje seznam zápisů, které jsou aktivní a student má zpřístupňený formulář \ref{img:obrazovka:student_odpoved} pro vybrání volitelných předmětů. K přesměrování na tento formulář slouží tlačítko \enquote{\textit{Odpovědět}} v posledním sloupci tabulky. Tabulka obsahuje důležitý údaj o termínu do něhož je možné zápis vyplnit, informaci o tom, zda student zápis vyplnil a zda je zápis aktivní.
Po kliknutí na název zápisu bude student přesměrován na obrazovku \ref{img:obrazovka:student_detail} s detailem zápisu.

Druhá tabulka obsahuje seznam zápisů, jejichž datum platnosti již skončilo a v ideální případě je student také vyplnil. Název zápisu v prvním sloupci opět odkazuje na obrazovku \ref{img:obrazovka:student_detail} s detailem zápisu a voleb studenta. V momentě, kdy se stav zápisu změní z \textit{čeká na vyhodnocení} na \textit{vyhodnoceno}, se studentovi zpřístupní tlačítko pro zobrazení výsledků \ref{img:obrazovka:student_vysledky} zápisu. 

\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=13.1cm]{img/obrazovky/student_zapis_index.png}
    \caption{Wireframe s přehledem zápisů studenta}
    \label{img:obrazovka:student_index}
\end{figure}

\begin{figure}[h!!]\centering
    \centering
    \includegraphics[width=13.1cm]{img/obrazovky/student_zapis_odpoved.png}
    \caption{Wireframe s formulářem pro výběr volitelných předmětů}
    \label{img:obrazovka:student_odpoved}
\end{figure}
\clearpage

\subsection{Vyplnění formuláře zápisu -- výběr předmětů}

Stěžejní součást studentské části je obrazovka \ref{img:obrazovka:student_odpoved}, která slouží k vybrání vypsaných volitelných předmětů studentem. Hlavní sekce je rozdělena na popis zápisu, sekci s předměty, které jsou zapsané pro všchny povinně, pokud je v zápisu definovaná a dále následují tabulky pro každou skupinu předmětů. Dle funkčních požadavků jsou skupiny dvojího typu: výběr určitého minimálního počtu předmětů a výběr určitého minimálního počtu hodin týdně. Typy skupin reflektuje způsob validace formuláře.

Každá skupina je reprezentována tabulkou, která obsahuje názvy předmětů včetně hodinové dotace a dále dva sloupce. Druhý sloupec obsahuje checkboxy pro označení předmětu na daném řádku jako primární volbu studenta, třetí sloupec pak checkboxy pro označení sekundární volby. V každém řádku tabulky, neboli pro každý předmět, může být označena pouze volba primární nebo volba náhradní, nikoli obě najednou.

Po stisknutí tlačítka pro uložení odpovědí se provede validace a pokud studentova volba nesplňuje požadavky na počty hodin nebo předmětů ve skupině, zobrazí se u dané skupiny chybová hláška.

\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=13.1cm]{img/obrazovky/student_zapis_detail.png}
    \caption{Wireframe s detailním zobrazením zápisů a odpověďmi studenta}
    \label{img:obrazovka:student_detail}
\end{figure}

\subsection{Detail zápisu a odpovědi studenta}
Obrazovka \ref{img:obrazovka:student_detail} obsahuje detailní informace o zvoleném zápisu volitelných předmětů. Dále, pokud student již odeslal formulář \ref{img:obrazovka:student_odpoved}, se pod tabulkou s detaily zápisu zobrazí tlačítko pro možnou úpravu odpovědí, v opačném případě se zobrazí tlačítko pro vyplnění formuláře \ref{img:obrazovka:student_odpoved} s výběrem volitelných předmětů. Ve spodní části jsou zobrazeny dvě tabulky, první obsahuje seznam předmětů, které si student zvolil jako primární, druhá pak předměty zvoleny jako náhradní. V případě, že student dosud volbu neprovedl, je tato skutečnost zapsána v tabulce.

\subsection{Detail zápisu s výsledky}
Po vyhodnocení zápisu administrátorem se studentům zpřístupní obrazovka \ref{img:obrazovka:student_vysledky}, na níž jsou kromě detailů zápisu zobrazeny předměty, které po zásahu administrátora budou skutečně v následujícím školním roce vyučovány. 

Předměty jsou vypsány v tabulce, kde každý předmět je doplněn o počet vyučovacích hodin týdně.

\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=13.1cm]{img/obrazovky/student_zapis_vysledky.png}
    \caption{Wireframe s výsledky zápisu}
    \label{img:obrazovka:student_vysledky}
\end{figure}

\subsection{Seznam předmětů}
Tato obrazovka \ref{img:obrazovka:predmety_seznam} slouží pouze jako rozcestník pro správu jednotlivých předmětů. Obsahuje proklik z názvu předmětu na jeho detail. Pro zjednodušení orientace lze předměty v tabulce řadit abecedně nebo podle kódu. Z důvodu usnadnění jsou v posledním sloupci tabulky pro každý předmět odkazy na příslušné akce - editace, detail a archivace předmětu.

\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=13.1cm]{img/obrazovky/predmet_seznam.png}
    \caption{Wireframe seznamu předmětů}
    \label{img:obrazovka:predmety_seznam}
\end{figure}

\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=13.1cm]{img/obrazovky/predmet_detail.png}
    \caption{Wireframe s výsledky zápisu}
    \label{img:obrazovka:predmet_detail}
\end{figure}

\subsection{Detail předmětu}
Obrazovka \ref{img:obrazovka:predmet_detail} slouží jednak jako rozcestník pro další nezbytné akce s předmětem, jednak pro zobrazení potřebných detailů o předmětu. V horní části se nachází box s popisem předmětu, který je dostupný také studentům, aby jim pomohl při rozhodování o výběru předmětu. V tabulce se nachází detaily o předmětu - název a kód. Pod tabulkou je umístěno tlačítko editace předmětu.

V dolní části se nachází tabulka se studijními obory, ve kterých se předmět vyučuje. Studijní obory lze přidat tlačítkem pod tabulkou, odebrat nebo editovat pomocí ikon v posledním sloupci tabulky.

\subsection{Seznam aprobací}
Hlavní část obrazovky \ref{img:obrazovka:ucitel_aprobace} obsahuje tabulku se seznamem všech učitelů. Data v tabulce lze řadit abecedně podle jména učitele a vyhledávat podle předmětů, které učitel vyučuje. V druhém sloupci jsou kódy předmětů a v posledním odkazy ve formě ikon na akce pro archivování a úpravu aprobací učitele.

\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=13.1cm]{img/obrazovky/ucitel_aprobace.png}
    \caption{Wireframe se seznamm učitelů a jejich aprobací}
    \label{img:obrazovka:ucitel_aprobace}
\end{figure}

\subsection{Seznam zápisů}
Klíčovým rozcestníkem pro správu zápisů v modulu je obrazovka \ref{img:obrazovka:zapis_seznam} seznamu zápisů. Jedná se o tabulku obsahující ve svých řádcích jednotlivé zápisy. Zápis je textově reprezentován jako název oboru, ročník a školní rok, pro který je zápis platný. 

Po kliknutí na název zápisu v prvním sloupci dojde k přesměrování na obrazovku \ref{img:obrazovka:zapis_detail} s detailem zápisu. Dále seznam obsahuje školní rok, stav zápisu a sloupec s odkazy na akce detail, editace a archivace. V horní části záhlaví karty s názvem stránky je umístěn symbol \textit{\enquote{plus}} pro vytvoření nového záznamu. 

\todo[inline]{doplnit obrázek}
\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=13.1cm]{img/obrazovky/ucitel_aprobace.png}
    \caption{Wireframe se seznamem zápisů}
    \label{img:obrazovka:zapis_seznam}
\end{figure}

\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=13.1cm]{img/obrazovky/zapis_detail.png}
    \caption{Wireframe se detailem zápisu}
    \label{img:obrazovka:zapis_detail}
\end{figure}

\subsection{Detail zápisu}
Obrazovka \ref{img:obrazovka:predmet_detail} obsahuje všechny informace o daném zápisu a také možnost zápis upravovat. V horní části je zobrazen popis zápisu viditelný pro studenty, který obsahuje obecné informace a pokyny pro výběr předmětů. V tabulce nalevo je kromě položek ročník, obor a platnosti zápisů také položka \enquote{\textit{stav zápisu}}, která indikuje ve které fázi se zápis aktuálně nachází a měla by být výrazně odlišena tak, aby byl stav na první pohled patrný. 

Pod tabulkou se nachází tlačítko \enquote{\textit{upravit}} pro přesměrování na formulář editace základních údajů o zápisu a tlačítko pro změnu stavu zápisu, toto tlačítko přepíná mezi stavy dokončený/nedokončený. Níže je umístěn jednoduchý formulář pro výběr skupiny předmětů, která má být k zápisu přidána. Po jejím přidání se zobrazí jako samostatná tabulka v dolní části obrazovky.

V části \enquote{\textit{Skupiny předmětů}} jsou vypsané jednotlivé skupiny předmětů, které jsou vždy identifikovány nadpisem a typem skupiny. Pro přidání předmětu do skupiny slouží tlačítko pod tabulkou s předměty, vedle kterého se nachází také tlačítko pro smazání celé skupiny předmětů ze zápisu. Jednotlivé přidané předměty se zobrazují jako řádek v tabulce příslušné skupiny a je u nich také zobrazena hodinová dotace na týden a odkazy na smazání předmětu ze skupiny a editaci záznamu daného předmětu.

\subsection{Formulář pro vyhodnocení zápisu}
Dle funkčních požadavků jedna ze stěžejních částí systémů je samotné vyhodnocení voleb předmětů studentů. Návrh formuláře na obrazovce \ref{img:obrazovka:zapis_vyhodnoceni} zobrazuje jeden zápis a pro zjednodušení pouze jednu skupinu předmětů. V případě, že zápis bude mít více skupin předmětů, budou vypadat obdobně.

V horní části je zobrazen popis zápisu a požadavky na výběr předmětů, který je také dostupným studentům, aby měl administrátor, který zápis vyhodnocuje, přehled o vypsaných předmětech a minimálních požadavcích, které jsou kladeny na volby studentů. Pokud byla u zápisu definována skupina automaticky zapsaných předmětů, následuje jejich seznam. 

Níže je pro každou skupinu předmětů umístěn formulář. Ten je jedinečný pro každou skupinu předmětů a má formu tabulky, jejíž řádky tvoří jednotliví studenti, kteří spadají pod daný zápis a to i takoví, kteří zápis nevyplnili. Sloupce tabulky odpovídají vypsaným předmětům. V záhlaví tabulky je u každého předmětu uveden počet hodin za týden, počet studentů, kteří mají aktuálně předmět zvolený jako primární -- tedy bude jim zapsán a počet studentů, kteří jej v zápise zvolili jako sekundární. Po najetí kurzorem na symbol lupy vedle názvu předmětu se zobrazí okno s počty zapsaných studentů z jiných zápisů pro ten stejný předmět. Checkbox má funkci zrušení předmětu, tedy pokud administrátor checkbox zaškrtne, dojde ke zrušení výběru daného předmětu všem studentům a administrátor jim bude muset přiřadit náhradní předmět. Takto označený předmět nelze žádnému studentovi zapsat.

V buňce se jménem studenta je zobrazen počet hodin/předmětů, které si měl student zapsat a počet, který má aktuálně zapsaný. Pro přehlednost by měl být výrazně označen student, který nesplňuje požadavky zápisu. Pokud je v dalších buňkách vždy na souřadnici student - předmět, zobrazeno písmeno \verb|P| nebo \verb|S|, značí to skutečnost, že se jedná o studentovu primární nebo sekundární volbu. Zaškrnutí checkboxu indikuje zapsání předmětu danému studentovi. Při prvním otevření formuláře administrátorem zaškrtnutý checkbox odpovídá tomu, že si student vybral předmět jako primární.

Studenti jsou v tabulce řazeni podle data odeslání odpovědi. Pokud počet studentů přesáhne kapacitu předmětu, budou takoví studenti v tabulce výrazně označeni tak, aby administrátor mohl na tuto skutečnost reagovat.

\begin{figure}[h!]\centering
    \centering
    \includegraphics[width=13.1cm]{img/obrazovky/zapis_vyhodnoceni.png}
    \caption{Wireframe s formulářem pro vyhodnocení zápisu}
    \label{img:obrazovka:zapis_vyhodnoceni}
\end{figure}

\subsection{Formulář pro přiřazení úvazků}
\todo[inline]{doplnit obrázek a dopsat}