Minor cleaning: Handler/Utils/Term removed
This commit is contained in:
parent
dce59dbae9
commit
a29255f87c
@ -21,6 +21,36 @@ import Yesod.Form.Bootstrap3
|
|||||||
|
|
||||||
import qualified Database.Esqueleto as E
|
import qualified Database.Esqueleto as E
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
validateTerm :: Term -> [Text]
|
||||||
|
validateTerm (Term{..}) =
|
||||||
|
[ msg | (False, msg) <-
|
||||||
|
[ --startOk
|
||||||
|
( termStart `withinTerm` termName
|
||||||
|
, "Jahreszahl im Namenskürzel stimmt nicht mit Semesterbeginn überein."
|
||||||
|
)
|
||||||
|
, -- endOk
|
||||||
|
( termStart < termEnd
|
||||||
|
, "Semester darf nicht enden, bevor es begann."
|
||||||
|
)
|
||||||
|
, -- startOk
|
||||||
|
( termLectureStart < termLectureEnd
|
||||||
|
, "Vorlesungszeit muss vor ihrem Ende anfgangen."
|
||||||
|
)
|
||||||
|
, -- lecStartOk
|
||||||
|
( termStart <= termLectureStart
|
||||||
|
, "Semester muss vor der Vorlesungszeit beginnen."
|
||||||
|
)
|
||||||
|
, -- lecEndOk
|
||||||
|
( termEnd >= termLectureEnd
|
||||||
|
, "Vorlesungszeit muss vor dem Semester enden."
|
||||||
|
)
|
||||||
|
] ]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
getTermShowR :: Handler TypedContent
|
getTermShowR :: Handler TypedContent
|
||||||
getTermShowR = do
|
getTermShowR = do
|
||||||
-- terms <- runDB $ selectList [] [Desc TermStart]
|
-- terms <- runDB $ selectList [] [Desc TermStart]
|
||||||
|
|||||||
@ -12,7 +12,6 @@ module Handler.Utils
|
|||||||
import Import
|
import Import
|
||||||
|
|
||||||
import Handler.Utils.DateTime as Handler.Utils
|
import Handler.Utils.DateTime as Handler.Utils
|
||||||
import Handler.Utils.Term as Handler.Utils
|
|
||||||
import Handler.Utils.Form as Handler.Utils
|
import Handler.Utils.Form as Handler.Utils
|
||||||
import Handler.Utils.Table as Handler.Utils
|
import Handler.Utils.Table as Handler.Utils
|
||||||
import Handler.Utils.Table.Pagination as Handler.Utils
|
import Handler.Utils.Table.Pagination as Handler.Utils
|
||||||
|
|||||||
@ -218,7 +218,27 @@ pointsField = checkBool (>= 0) MsgPointsNotPositive Field{..}
|
|||||||
sci <- maybe (Left $ MsgInvalidNumber t) Right (readMaybe $ unpack t :: Maybe Scientific)
|
sci <- maybe (Left $ MsgInvalidNumber t) Right (readMaybe $ unpack t :: Maybe Scientific)
|
||||||
return . fromRational $ round (sci * 100) % 100
|
return . fromRational $ round (sci * 100) % 100
|
||||||
|
|
||||||
--termField: see Utils.Term
|
|
||||||
|
termActiveField :: Field Handler TermId
|
||||||
|
termActiveField = selectField $ optionsPersistKey [TermActive ==. True] [Desc TermStart] termName
|
||||||
|
|
||||||
|
termActiveOld :: Field Handler TermIdentifier
|
||||||
|
termActiveOld = convertField unTermKey TermKey $ selectField $ optionsPersistKey [TermActive ==. True] [Desc TermStart] termName
|
||||||
|
|
||||||
|
termNewField :: Field Handler TermIdentifier
|
||||||
|
termNewField = checkMMap checkTerm termToText textField
|
||||||
|
where
|
||||||
|
errTextParse :: Text
|
||||||
|
errTextParse = "Semester: S oder W gefolgt von Jahreszahl"
|
||||||
|
|
||||||
|
errTextFreigabe :: TermIdentifier -> Text
|
||||||
|
errTextFreigabe ti = "Semester " `T.append` (termToText ti) `T.append` " wurde noch nicht freigegeben."
|
||||||
|
|
||||||
|
checkTerm :: Text -> HandlerT UniWorX IO (Either Text TermIdentifier)
|
||||||
|
checkTerm t = case termFromText t of
|
||||||
|
Left _ -> return $ Left errTextParse
|
||||||
|
res@(Right _) -> return res
|
||||||
|
|
||||||
|
|
||||||
schoolField :: Field Handler SchoolId
|
schoolField :: Field Handler SchoolId
|
||||||
schoolField = selectField $ optionsPersistKey [] [Asc SchoolName] schoolName
|
schoolField = selectField $ optionsPersistKey [] [Asc SchoolName] schoolName
|
||||||
|
|||||||
@ -1,59 +0,0 @@
|
|||||||
{-# LANGUAGE RecordWildCards #-}
|
|
||||||
{-# LANGUAGE NoImplicitPrelude #-}
|
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
|
||||||
{-# LANGUAGE TemplateHaskell #-}
|
|
||||||
{-# LANGUAGE QuasiQuotes #-}
|
|
||||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
|
||||||
{-# LANGUAGE TypeFamilies #-}
|
|
||||||
module Handler.Utils.Term where
|
|
||||||
|
|
||||||
import Import
|
|
||||||
import qualified Data.Text as T
|
|
||||||
import Model.Types
|
|
||||||
-- import Data.Maybe
|
|
||||||
|
|
||||||
|
|
||||||
termActiveField :: Field Handler TermId
|
|
||||||
termActiveField = selectField $ optionsPersistKey [TermActive ==. True] [Desc TermStart] termName
|
|
||||||
|
|
||||||
termActiveOld :: Field Handler TermIdentifier
|
|
||||||
termActiveOld = convertField unTermKey TermKey $ selectField $ optionsPersistKey [TermActive ==. True] [Desc TermStart] termName
|
|
||||||
|
|
||||||
termNewField :: Field Handler TermIdentifier
|
|
||||||
termNewField = checkMMap checkTerm termToText textField
|
|
||||||
where
|
|
||||||
errTextParse :: Text
|
|
||||||
errTextParse = "Semester: S oder W gefolgt von Jahreszahl"
|
|
||||||
|
|
||||||
errTextFreigabe :: TermIdentifier -> Text
|
|
||||||
errTextFreigabe ti = "Semester " `T.append` (termToText ti) `T.append` " wurde noch nicht freigegeben."
|
|
||||||
|
|
||||||
checkTerm :: Text -> HandlerT UniWorX IO (Either Text TermIdentifier)
|
|
||||||
checkTerm t = case termFromText t of
|
|
||||||
Left _ -> return $ Left errTextParse
|
|
||||||
res@(Right _) -> return res
|
|
||||||
|
|
||||||
validateTerm :: Term -> [Text]
|
|
||||||
validateTerm (Term{..}) =
|
|
||||||
[ msg | (False, msg) <-
|
|
||||||
[ --startOk
|
|
||||||
( termStart `withinTerm` termName
|
|
||||||
, "Jahreszahl im Namenskürzel stimmt nicht mit Semesterbeginn überein."
|
|
||||||
)
|
|
||||||
, -- endOk
|
|
||||||
( termStart < termEnd
|
|
||||||
, "Semester darf nicht enden, bevor es begann."
|
|
||||||
)
|
|
||||||
, -- startOk
|
|
||||||
( termLectureStart < termLectureEnd
|
|
||||||
, "Vorlesungszeit muss vor ihrem Ende anfgangen."
|
|
||||||
)
|
|
||||||
, -- lecStartOk
|
|
||||||
( termStart <= termLectureStart
|
|
||||||
, "Semester muss vor der Vorlesungszeit beginnen."
|
|
||||||
)
|
|
||||||
, -- lecEndOk
|
|
||||||
( termEnd >= termLectureEnd
|
|
||||||
, "Vorlesungszeit muss vor dem Semester enden."
|
|
||||||
)
|
|
||||||
] ]
|
|
||||||
@ -78,9 +78,6 @@ Handler.Utils.Table.Pagination.Types
|
|||||||
Handler.Utils.Templates
|
Handler.Utils.Templates
|
||||||
: Modals
|
: Modals
|
||||||
|
|
||||||
Handler.Utils.Term
|
|
||||||
: Formularfelder für Terms
|
|
||||||
|
|
||||||
Handler.Utils.Zip
|
Handler.Utils.Zip
|
||||||
: Conduit-basiertes ZIP Parsen und Erstellen
|
: Conduit-basiertes ZIP Parsen und Erstellen
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user