diff --git a/messages/dummy/de.msg b/messages/dummy/de.msg index f3ca7cae1..5a24922aa 100644 --- a/messages/dummy/de.msg +++ b/messages/dummy/de.msg @@ -1 +1,2 @@ -DummyIdent: Nutzer-Kennung \ No newline at end of file +DummyIdent: Nutzer-Kennung +DummyNoFormData: Keine Formulardaten empfangen \ No newline at end of file diff --git a/messages/uniworx/de.msg b/messages/uniworx/de.msg index 247b2a780..13055bc32 100644 --- a/messages/uniworx/de.msg +++ b/messages/uniworx/de.msg @@ -93,6 +93,7 @@ SheetEditOk tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetNa SheetNameDup tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: Es gibt bereits ein Übungsblatt #{sheetName} in diesem Kurs #{display tid}-#{display ssh}-#{csh}. SheetDelHead tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{sheetName} wirklich aus Kurs #{display tid}-#{display ssh}-#{csh} herauslöschen? Alle assoziierten Abgaben und Korrekturen gehen ebenfalls verloren! SheetDelOk tid@TermId ssh@SchoolId csh@CourseShorthand sheetName@SheetName: #{display tid}-#{display ssh}-#{csh}: #{sheetName} gelöscht. +SheetDelHasSubmissions count@Int: Inkl. #{tshow count} #{pluralDE count "Abgabe" "Abgaben"}! SheetDeleteQuestion: Wollen Sie das unten aufgeführte Übungsblatt und alle zugehörigen Abgaben wirklich löschen? SheetDeleted: Übungsblatt gelöscht diff --git a/src/Auth/Dummy.hs b/src/Auth/Dummy.hs index b8debc0ca..bb26aa344 100644 --- a/src/Auth/Dummy.hs +++ b/src/Auth/Dummy.hs @@ -13,6 +13,7 @@ import qualified Data.CaseInsensitive as CI data DummyMessage = MsgDummyIdent + | MsgDummyNoFormData dummyForm :: ( RenderMessage site FormMessage @@ -48,7 +49,9 @@ dummyLogin = AuthPlugin{..} FormFailure errs -> do lift . forM_ errs $ addMessage Error . toHtml redirect LoginR - FormMissing -> redirect LoginR + FormMissing -> do + lift $ addMessageI Warning MsgDummyNoFormData + redirect LoginR FormSuccess ident -> lift . setCredsRedirect $ Creds "dummy" (CI.original ident) [] apDispatch _ _ = notFound diff --git a/src/Handler/Course.hs b/src/Handler/Course.hs index 3ac565d92..59c898aab 100644 --- a/src/Handler/Course.hs +++ b/src/Handler/Course.hs @@ -6,6 +6,7 @@ import Utils.Lens -- import Utils.DB import Handler.Utils import Handler.Utils.Table.Cells +import Handler.Utils.Course import Handler.Utils.Delete -- import Data.Time @@ -391,28 +392,10 @@ getCDeleteR, postCDeleteR :: TermId -> SchoolId -> CourseShorthand -> Handler Ht getCDeleteR = postCDeleteR postCDeleteR tid ssh csh = do Entity cId _ <- runDB . getBy404 $ TermSchoolCourseShort tid ssh csh - deleteR DeleteRoute - { drRecords = Set.singleton cId - , drRenderRecord = \(Entity _ Course{courseName, courseTerm, courseSchool}) -> do - School{schoolName} <- getJust courseSchool - return [whamlet| - #{courseName} (_{SomeMessage $ ShortTermIdentifier (unTermKey courseTerm)}, #{schoolName}) - |] - , drRecordConfirmString = \(Entity _ Course{courseShorthand, courseTerm, courseSchool}) -> - return [st|#{unSchoolKey courseSchool}/#{termToText (unTermKey courseTerm)}/#{courseShorthand}|] - , drCaption = SomeMessage MsgCourseDeleteQuestion - , drSuccessMessage = SomeMessage MsgCourseDeleted - , drAbort = SomeRoute $ CourseR tid ssh csh CShowR - , drSuccess = SomeRoute CourseListR + deleteR $ (courseDeleteRoute $ Set.singleton cId) + { drAbort = SomeRoute $ CourseR tid ssh csh CShowR + , drSuccess = SomeRoute $ TermSchoolCourseListR tid ssh } -{- TODO - | False -- DELETE -- TODO: This no longer works that way!!! See new way in Handler.Term.termEditHandler - , Just cid <- cfCourseId res -> do - runDB $ deleteCascade cid -- TODO Sicherheitsabfrage einbauen! - let cti = toPathPiece $ cfTerm res - addMessage Info [shamlet| Kurs #{cti}/#{cfShort res} wurde gelöscht!|] - redirect $ TermCourseListR $ cfTerm res --} -- | Course Creation and Editing diff --git a/src/Handler/Profile.hs b/src/Handler/Profile.hs index 4f421ec3c..0058fee8e 100644 --- a/src/Handler/Profile.hs +++ b/src/Handler/Profile.hs @@ -106,9 +106,9 @@ postProfileDataR = do defaultLayout $(widgetFile "deletedUser") - (FormSuccess BtnAbort ) -> do - addMessageI Info MsgAborted - redirect ProfileDataR + -- (FormSuccess BtnAbort ) -> do + -- addMessageI Info MsgAborted + -- redirect ProfileDataR _other -> getProfileDataR diff --git a/src/Handler/Sheet.hs b/src/Handler/Sheet.hs index b14be5e43..0450740dc 100644 --- a/src/Handler/Sheet.hs +++ b/src/Handler/Sheet.hs @@ -533,20 +533,8 @@ getSDelR, postSDelR :: TermId -> SchoolId -> CourseShorthand -> SheetName -> Han getSDelR = postSDelR postSDelR tid ssh csh shn = do sid <- runDB $ fetchSheetId tid ssh csh shn - deleteR DeleteRoute - { drRecords = Set.singleton sid - , drRenderRecord = \(Entity _ Sheet{sheetName, sheetCourse}) -> do - Course{courseTerm, courseSchool, courseName} <- getJust sheetCourse - School{schoolName} <- getJust courseSchool - return [whamlet| - #{sheetName} (_{ShortTermIdentifier (unTermKey courseTerm)}, #{schoolName}, #{courseName}) - |] - , drRecordConfirmString = \(Entity _ Sheet{sheetName, sheetCourse}) -> do - Course{courseTerm, courseSchool, courseShorthand} <- getJust sheetCourse - return [st|#{termToText (unTermKey courseTerm)}/#{unSchoolKey courseSchool}/#{courseShorthand}/#{sheetName}|] - , drCaption = SomeMessage MsgSheetDeleteQuestion - , drSuccessMessage = SomeMessage MsgSheetDeleted - , drAbort = SomeRoute $ CSheetR tid ssh csh shn SShowR + deleteR $ (sheetDeleteRoute $ Set.singleton sid) + { drAbort = SomeRoute $ CSheetR tid ssh csh shn SShowR , drSuccess = SomeRoute $ CourseR tid ssh csh SheetListR } diff --git a/src/Handler/Submission.hs b/src/Handler/Submission.hs index 8357e4023..9626ba382 100644 --- a/src/Handler/Submission.hs +++ b/src/Handler/Submission.hs @@ -20,7 +20,6 @@ import Network.Mime import Data.Monoid (Any(..)) import Data.Maybe (fromJust) -- import qualified Data.Maybe -import qualified Data.Text as Text import qualified Data.Text.Encoding as Text import Data.CaseInsensitive (CI) @@ -397,30 +396,7 @@ getSubDelR, postSubDelR :: TermId -> SchoolId -> CourseShorthand -> SheetName -> getSubDelR = postSubDelR postSubDelR tid ssh csh shn cID = do subId <- runDB $ submissionMatchesSheet tid ssh csh shn cID - deleteR DeleteRoute - { drRecords = Set.singleton subId - , drRenderRecord = \(Entity subId' Submission{submissionSheet}) -> do - Sheet{sheetName, sheetCourse} <- getJust submissionSheet - Course{courseName, courseSchool, courseTerm} <- getJust sheetCourse - School{schoolName} <- getJust courseSchool - subUsers <- selectList [SubmissionUserSubmission ==. subId'] [] - subNames <- fmap (sortOn snd) . forM subUsers $ \(Entity _ SubmissionUser{submissionUserUser}) -> (userDisplayName &&& userSurname) <$> getJust submissionUserUser - return [whamlet| - $newline never -