diff --git a/messages/uniworx/misc/de-de-formal.msg b/messages/uniworx/misc/de-de-formal.msg index 1aae9ada9..8d74b8cf6 100644 --- a/messages/uniworx/misc/de-de-formal.msg +++ b/messages/uniworx/misc/de-de-formal.msg @@ -2824,8 +2824,8 @@ BtnExamAutoOccurrenceCalculate: Verteilungstabelle berechnen BtnExamAutoOccurrenceAccept: Verteilung akzeptieren BtnExamAutoOccurrenceNudgeUp: + BtnExamAutoOccurrenceNudgeDown: - -BtnExamAutoOccurrenceIgnoreEnable: Ignorieren -BtnExamAutoOccurrenceIgnoreDisable: Berücksichtigen +BtnExamAutoOccurrenceIgnore: Ignorieren +BtnExamAutoOccurrenceReconsider: Berücksichtigen ExamRoomMappingSurname: Nachnamen beginnend mit ExamRoomMappingMatriculation: Matrikelnummern endend in ExamRoomMappingRandom: Verteilung diff --git a/messages/uniworx/misc/en-eu.msg b/messages/uniworx/misc/en-eu.msg index d6c8c5734..07665597a 100644 --- a/messages/uniworx/misc/en-eu.msg +++ b/messages/uniworx/misc/en-eu.msg @@ -2824,8 +2824,8 @@ BtnExamAutoOccurrenceCalculate: Calculate assignment rules BtnExamAutoOccurrenceAccept: Accept assignments BtnExamAutoOccurrenceNudgeUp: + BtnExamAutoOccurrenceNudgeDown: - -BtnExamAutoOccurrenceIgnoreEnable: Ignore -BtnExamAutoOccurrenceIgnoreDisable: Reconsider +BtnExamAutoOccurrenceIgnore: Ignore +BtnExamAutoOccurrenceReconsider: Reconsider ExamRoomMappingSurname: Surnames starting with ExamRoomMappingMatriculation: Matriculation numbers ending in ExamRoomMappingRandom: Distribution diff --git a/src/Handler/Exam/AutoOccurrence.hs b/src/Handler/Exam/AutoOccurrence.hs index c48166e7e..18529f1bc 100644 --- a/src/Handler/Exam/AutoOccurrence.hs +++ b/src/Handler/Exam/AutoOccurrence.hs @@ -1,4 +1,5 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-} +{-# OPTIONS_GHC -Wwarn #-} module Handler.Exam.AutoOccurrence ( examAutoOccurrenceCalculateWidget @@ -15,7 +16,6 @@ import qualified Data.Set as Set import qualified Database.Esqueleto as E import Database.Persist.Sql (updateWhereCount) - newtype ExamAutoOccurrenceCalculateForm = ExamAutoOccurrenceCalculateForm { eaofConfig :: ExamAutoOccurrenceConfig } deriving stock (Eq, Ord, Read, Show, Generic, Typeable) @@ -36,7 +36,7 @@ data ExamAutoOccurrenceButton = BtnExamAutoOccurrenceCalculate | BtnExamAutoOccurrenceAccept | BtnExamAutoOccurrenceNudgeUp | BtnExamAutoOccurrenceNudgeDown - | BtnExamAutoOccurrenceIgnoreEnable | BtnExamAutoOccurrenceIgnoreDisable + | BtnExamAutoOccurrenceIgnore | BtnExamAutoOccurrenceReconsider deriving (Eq, Ord, Read, Show, Enum, Bounded, Generic, Typeable) instance Universe ExamAutoOccurrenceButton instance Finite ExamAutoOccurrenceButton @@ -69,6 +69,9 @@ examAutoOccurrenceNudgeForm occId protoForm html = do cID <- encrypt occId (btnRes, wgt) <- identifyForm (FIDExamAutoOccurrenceNudge $ ciphertext cID) (buttonForm' [BtnExamAutoOccurrenceNudgeUp, BtnExamAutoOccurrenceNudgeDown]) html oldDataRes <- globalPostParamField PostExamAutoOccurrencePrevious secretJsonField + liftIO $ do + putStrLn "\n\nnudge" + print $ eaocNudge . eaofConfig <$> oldDataRes oldDataId <- newIdent let protoForm' = fromMaybe def $ oldDataRes <|> protoForm @@ -84,7 +87,7 @@ examAutoOccurrenceNudgeForm occId protoForm html = do examAutoOccurrenceIgnoreRoomsForm :: ExamOccurrenceId -> Maybe ExamAutoOccurrenceCalculateForm -> Form ExamAutoOccurrenceCalculateForm examAutoOccurrenceIgnoreRoomsForm occId protoForm html = do cID <- encrypt occId - (btnRes, wgt) <- identifyForm (FIDExamAutoOccurrenceIgnoreRooms $ ciphertext cID) (buttonForm' [BtnExamAutoOccurrenceIgnoreEnable, BtnExamAutoOccurrenceIgnoreDisable]) html + (btnRes, wgt) <- identifyForm (FIDExamAutoOccurrenceIgnoreRoom $ ciphertext cID) (buttonForm' [BtnExamAutoOccurrenceIgnore, BtnExamAutoOccurrenceReconsider]) html oldDataRes <- globalPostParamField PostExamAutoOccurrencePrevious secretJsonField oldDataId <- newIdent @@ -93,9 +96,9 @@ examAutoOccurrenceIgnoreRoomsForm occId protoForm html = do where action EAOIRAutomatic = EAOIRManual {eaoirmIgnored=Set.empty, eaoirmSorted=True} action ir@EAOIRManual {eaoirmIgnored, eaoirmSorted} = case btn of - BtnExamAutoOccurrenceIgnoreEnable -> EAOIRManual {eaoirmIgnored=Set.insert occId eaoirmIgnored, eaoirmSorted} - BtnExamAutoOccurrenceIgnoreDisable -> EAOIRManual {eaoirmIgnored=Set.delete occId eaoirmIgnored, eaoirmSorted} - _other -> ir + BtnExamAutoOccurrenceIgnore -> EAOIRManual {eaoirmIgnored=Set.insert occId eaoirmIgnored, eaoirmSorted} + BtnExamAutoOccurrenceReconsider -> EAOIRManual {eaoirmIgnored=Set.delete occId eaoirmIgnored, eaoirmSorted} + _other -> ir res = genForm <$> btnRes oldDataView = fieldView (secretJsonField :: Field Handler _) oldDataId (toPathPiece PostExamAutoOccurrencePrevious) [] (Right . fromMaybe protoForm' $ formResult' res) False return (res, wgt <> oldDataView) diff --git a/src/Utils/Form.hs b/src/Utils/Form.hs index a2145e5e3..6bbdf33bd 100644 --- a/src/Utils/Form.hs +++ b/src/Utils/Form.hs @@ -229,7 +229,7 @@ data FormIdentifier | FIDUserAuthMode | FIDUserAssimilate | FIDUserRights | FIDUserAuthentication | FIDAllUsersAction | FIDLanguage - | FIDExamAutoOccurrenceCalculate | FIDExamAutoOccurrenceConfirm | FIDExamAutoOccurrenceNudge UUID | FIDExamAutoOccurrenceIgnoreRooms UUID + | FIDExamAutoOccurrenceCalculate | FIDExamAutoOccurrenceConfirm | FIDExamAutoOccurrenceNudge UUID | FIDExamAutoOccurrenceIgnoreRoom UUID | FIDAllocationAccept | FIDTestDownload | FIDAllocationRegister