From 0264c87510522db723bf9e0557ec343bc07d644d Mon Sep 17 00:00:00 2001 From: Steffen Date: Wed, 11 Sep 2024 17:44:09 +0200 Subject: [PATCH] chore(daily): create stub in preparation for #90 --- .../utils/navigation/menu/de-de-formal.msg | 1 + .../uniworx/utils/navigation/menu/en-eu.msg | 1 + routes | 4 +-- src/Application.hs | 1 + src/Foundation/Navigation.hs | 8 +++-- src/Handler/School/DayTasks.hs | 36 +++++++++++++++++++ 6 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 src/Handler/School/DayTasks.hs diff --git a/messages/uniworx/utils/navigation/menu/de-de-formal.msg b/messages/uniworx/utils/navigation/menu/de-de-formal.msg index 535db4979..2f6e7f48e 100644 --- a/messages/uniworx/utils/navigation/menu/de-de-formal.msg +++ b/messages/uniworx/utils/navigation/menu/de-de-formal.msg @@ -97,6 +97,7 @@ MenuExamOfficeUsers: Benutzer:innen MenuLecturerInvite: Funktionäre hinzufügen MenuSchoolList: Bereiche MenuSchoolNew: Neuen Bereich anlegen +MenuSchoolDay d@Text: #{d} Tagesansicht MenuExternalExamGrades: Prüfungsleistungen MenuExternalExamUsers: Teilnehmer:innen MenuExternalExamEdit: Bearbeiten diff --git a/messages/uniworx/utils/navigation/menu/en-eu.msg b/messages/uniworx/utils/navigation/menu/en-eu.msg index d316e7812..c7e4eb0f8 100644 --- a/messages/uniworx/utils/navigation/menu/en-eu.msg +++ b/messages/uniworx/utils/navigation/menu/en-eu.msg @@ -97,6 +97,7 @@ MenuExamOfficeUsers: Users MenuLecturerInvite: Add functionaries MenuSchoolList: Departments MenuSchoolNew: Create new department +MenuSchoolDay d@Text: #{d} Day MenuExternalExamGrades: Exam results MenuExternalExamUsers: Participants MenuExternalExamEdit: Edit diff --git a/routes b/routes index 7420b21d1..c6aa0743e 100644 --- a/routes +++ b/routes @@ -157,8 +157,8 @@ /school SchoolListR GET !/school/new SchoolNewR GET POST /school/#SchoolId SchoolR: - / SchoolEditR GET POST - + /edit SchoolEditR GET POST + /day/#Day SchoolDayR GET POST /participants ParticipantsListR GET !evaluation /participants/#TermId/#SchoolId ParticipantsR GET !evaluation diff --git a/src/Application.hs b/src/Application.hs index 12e0cf9c3..ac5854c02 100644 --- a/src/Application.hs +++ b/src/Application.hs @@ -137,6 +137,7 @@ import Handler.Users.Add import Handler.Admin import Handler.Term import Handler.School +import Handler.School.DayTasks import Handler.Course import Handler.Sheet import Handler.Submission diff --git a/src/Foundation/Navigation.hs b/src/Foundation/Navigation.hs index 52e0566f0..5fe8c6c3d 100644 --- a/src/Foundation/Navigation.hs +++ b/src/Foundation/Navigation.hs @@ -144,11 +144,15 @@ breadcrumb PrintAckDirectR{}= i18nCrumb MsgMenuPrintAck $ Just PrintCenter breadcrumb PrintLogR = i18nCrumb MsgMenuPrintLog $ Just PrintCenterR breadcrumb SchoolListR = i18nCrumb MsgMenuSchoolList $ Just AdminR -breadcrumb (SchoolR ssh sRoute) = case sRoute of - SchoolEditR -> useRunDB . maybeT (i18nCrumb MsgBreadcrumbSchool $ Just SchoolListR) $ do +breadcrumb (SchoolR ssh SchoolEditR) = + useRunDB . maybeT (i18nCrumb MsgBreadcrumbSchool $ Just SchoolListR) $ do School{..} <- MaybeT $ get ssh isAdmin <- lift $ hasReadAccessTo SchoolListR return (CI.original schoolName, bool Nothing (Just SchoolListR) isAdmin) +breadcrumb (SchoolR _ssh (SchoolDayR d)) = do + dt <- formatTime SelFormatDate d + mr <- getMessageRender + return (mr $ MsgMenuSchoolDay dt, Just SchoolListR) breadcrumb SchoolNewR = i18nCrumb MsgMenuSchoolNew $ Just SchoolListR breadcrumb (ExamOfficeR EOExamsR) = i18nCrumb MsgMenuExamOfficeExams Nothing diff --git a/src/Handler/School/DayTasks.hs b/src/Handler/School/DayTasks.hs new file mode 100644 index 000000000..15fd0003f --- /dev/null +++ b/src/Handler/School/DayTasks.hs @@ -0,0 +1,36 @@ + +-- SPDX-FileCopyrightText: 2024 Steffen Jost +-- +-- SPDX-License-Identifier: AGPL-3.0-or-later + +{-# OPTIONS_GHC -fno-warn-orphans #-} + +module Handler.School.DayTasks + ( getSchoolDayR, postSchoolDayR + ) where + +import Import + +-- import Handler.Utils + +-- import qualified Data.Set as Set +-- import qualified Data.Map as Map +-- import qualified Data.Aeson as Aeson +-- import qualified Data.Text as Text + +-- import Database.Persist.Sql (updateWhereCount) +-- import Database.Esqueleto.Experimental ((:&)(..)) +-- -- import qualified Database.Esqueleto.Legacy as EL (on) -- only `on` and `from` are different, needed for dbTable using Esqueleto.Legacy +-- import qualified Database.Esqueleto.Experimental as E +-- import qualified Database.Esqueleto.Utils as E +-- import Database.Esqueleto.Utils.TH + + + + +getSchoolDayR, postSchoolDayR :: SchoolId -> Day -> Handler Html +getSchoolDayR = postSchoolDayR +postSchoolDayR _ssh _day = do + siteLayout "TODO" $ do + setTitle "Day Tasks" + [whamlet|TODO|]