Avoid reported confusion of bookmark using users
This commit is contained in:
parent
5a9ca00ff6
commit
953f7af122
@ -190,7 +190,8 @@ SheetErrVisibility: "Beginn Abgabezeitraum" muss nach "Sichbar für Teilnehmer a
|
|||||||
SheetErrDeadlineEarly: "Ende Abgabezeitraum" muss nach "Beginn Abzeitraum" liegen
|
SheetErrDeadlineEarly: "Ende Abgabezeitraum" muss nach "Beginn Abzeitraum" liegen
|
||||||
SheetErrHintEarly: Hinweise dürfen erst nach Beginn des Abgabezeitraums herausgegeben werden
|
SheetErrHintEarly: Hinweise dürfen erst nach Beginn des Abgabezeitraums herausgegeben werden
|
||||||
SheetErrSolutionEarly: Lösungen dürfen erst nach Ende der Abgabezeitraums herausgegeben werden
|
SheetErrSolutionEarly: Lösungen dürfen erst nach Ende der Abgabezeitraums herausgegeben werden
|
||||||
|
SheetNoCurrent: Es gibt momentan kein aktives Übungsblatt.
|
||||||
|
SheetNoOldUnassigned: Alle Abgaben inaktiver Blätter sind bereits einen Korrektor zugeteilt.
|
||||||
|
|
||||||
Deadline: Abgabe
|
Deadline: Abgabe
|
||||||
Done: Eingereicht
|
Done: Eingereicht
|
||||||
@ -794,7 +795,7 @@ MenuSheetEdit: Übungsblatt editieren
|
|||||||
MenuSheetDelete: Übungsblatt löschen
|
MenuSheetDelete: Übungsblatt löschen
|
||||||
MenuSheetClone: Als neues Übungsblatt klonen
|
MenuSheetClone: Als neues Übungsblatt klonen
|
||||||
MenuCorrectionsUpload: Korrekturen hochladen
|
MenuCorrectionsUpload: Korrekturen hochladen
|
||||||
MenuCorrectionsDownload: Abgaben herunterladen
|
MenuCorrectionsDownload: Offene Abgaben herunterladen
|
||||||
MenuCorrectionsCreate: Abgaben registrieren
|
MenuCorrectionsCreate: Abgaben registrieren
|
||||||
MenuCorrectionsGrade: Abgaben online korrigieren
|
MenuCorrectionsGrade: Abgaben online korrigieren
|
||||||
MenuAuthPreds: Authorisierungseinstellungen
|
MenuAuthPreds: Authorisierungseinstellungen
|
||||||
|
|||||||
2
routes
2
routes
@ -95,7 +95,7 @@
|
|||||||
/ex SheetListR GET !course-registered !materials !corrector
|
/ex SheetListR GET !course-registered !materials !corrector
|
||||||
/ex/new SheetNewR GET POST
|
/ex/new SheetNewR GET POST
|
||||||
/ex/current SheetCurrentR GET !course-registered !materials !corrector
|
/ex/current SheetCurrentR GET !course-registered !materials !corrector
|
||||||
/ex/unassigned SheetOldUnassigned GET
|
/ex/unassigned SheetOldUnassignedR GET
|
||||||
/ex/#SheetName SheetR:
|
/ex/#SheetName SheetR:
|
||||||
/show SShowR GET !timeANDcourse-registered !timeANDmaterials !corrector !timeANDtutor
|
/show SShowR GET !timeANDcourse-registered !timeANDmaterials !corrector !timeANDtutor
|
||||||
/edit SEditR GET POST
|
/edit SEditR GET POST
|
||||||
|
|||||||
@ -1450,6 +1450,8 @@ instance YesodBreadcrumbs UniWorX where
|
|||||||
breadcrumb (CourseR tid ssh csh CCorrectionsR) = return ("Abgaben" , Just $ CourseR tid ssh csh CShowR)
|
breadcrumb (CourseR tid ssh csh CCorrectionsR) = return ("Abgaben" , Just $ CourseR tid ssh csh CShowR)
|
||||||
breadcrumb (CourseR tid ssh csh SheetListR) = return ("Übungen" , Just $ CourseR tid ssh csh CShowR)
|
breadcrumb (CourseR tid ssh csh SheetListR) = return ("Übungen" , Just $ CourseR tid ssh csh CShowR)
|
||||||
breadcrumb (CourseR tid ssh csh SheetNewR ) = return ("Neu", Just $ CourseR tid ssh csh SheetListR)
|
breadcrumb (CourseR tid ssh csh SheetNewR ) = return ("Neu", Just $ CourseR tid ssh csh SheetListR)
|
||||||
|
breadcrumb (CourseR tid ssh csh SheetCurrentR) = return ("Aktuelles Blatt", Just $ CourseR tid ssh csh SheetListR)
|
||||||
|
breadcrumb (CourseR tid ssh csh SheetOldUnassignedR) = return ("Offene Abgaben", Just $ CourseR tid ssh csh SheetListR)
|
||||||
breadcrumb (CourseR tid ssh csh CCommR ) = return ("Kursmitteilung", Just $ CourseR tid ssh csh CShowR)
|
breadcrumb (CourseR tid ssh csh CCommR ) = return ("Kursmitteilung", Just $ CourseR tid ssh csh CShowR)
|
||||||
breadcrumb (CourseR tid ssh csh CTutorialListR) = return ("Tutorien", Just $ CourseR tid ssh csh CShowR)
|
breadcrumb (CourseR tid ssh csh CTutorialListR) = return ("Tutorien", Just $ CourseR tid ssh csh CShowR)
|
||||||
breadcrumb (CourseR tid ssh csh CTutorialNewR) = return ("Anlegen", Just $ CourseR tid ssh csh CTutorialListR)
|
breadcrumb (CourseR tid ssh csh CTutorialNewR) = return ("Anlegen", Just $ CourseR tid ssh csh CTutorialListR)
|
||||||
@ -1949,7 +1951,7 @@ pageActions (CourseR tid ssh csh SheetListR) =
|
|||||||
{ menuItemType = PageActionPrime
|
{ menuItemType = PageActionPrime
|
||||||
, menuItemLabel = MsgMenuSheetOldUnassigned
|
, menuItemLabel = MsgMenuSheetOldUnassigned
|
||||||
, menuItemIcon = Nothing
|
, menuItemIcon = Nothing
|
||||||
, menuItemRoute = SomeRoute $ CourseR tid ssh csh SheetOldUnassigned
|
, menuItemRoute = SomeRoute $ CourseR tid ssh csh SheetOldUnassignedR
|
||||||
, menuItemModal = False
|
, menuItemModal = False
|
||||||
, menuItemAccessCallback' = runDB . maybeT (return False) $ do
|
, menuItemAccessCallback' = runDB . maybeT (return False) $ do
|
||||||
void . MaybeT $ sheetOldUnassigned tid ssh csh
|
void . MaybeT $ sheetOldUnassigned tid ssh csh
|
||||||
|
|||||||
@ -146,16 +146,33 @@ makeSheetForm msId template = identifyForm FIDsheet $ \html -> do
|
|||||||
|
|
||||||
|
|
||||||
getSheetCurrentR :: TermId -> SchoolId -> CourseShorthand -> Handler Html
|
getSheetCurrentR :: TermId -> SchoolId -> CourseShorthand -> Handler Html
|
||||||
getSheetCurrentR tid ssh csh = runDB $ do
|
getSheetCurrentR tid ssh csh = do
|
||||||
let redi shn = redirectAccess $ CSheetR tid ssh csh shn SShowR
|
mbShn <- runDB $ sheetCurrent tid ssh csh
|
||||||
shn <- sheetCurrent tid ssh csh
|
case mbShn of
|
||||||
maybe notFound redi shn
|
Just shn -> redirectAccess $ CSheetR tid ssh csh shn SShowR
|
||||||
|
Nothing -> do -- no current sheet exists
|
||||||
|
-- users should never see a link to this URL in this situation,
|
||||||
|
-- but we had confused users that used a bookmark instead.
|
||||||
|
let headingShort = [whamlet|_{MsgMenuSheetCurrent}|]
|
||||||
|
headingLong = prependCourseTitle tid ssh csh MsgMenuSheetCurrent
|
||||||
|
siteLayout headingShort $ do
|
||||||
|
setTitleI headingLong
|
||||||
|
[whamlet|_{MsgSheetNoCurrent}|]
|
||||||
|
|
||||||
getSheetOldUnassigned :: TermId -> SchoolId -> CourseShorthand -> Handler ()
|
|
||||||
getSheetOldUnassigned tid ssh csh = runDB $ do
|
getSheetOldUnassignedR:: TermId -> SchoolId -> CourseShorthand -> Handler Html
|
||||||
let redi shn = redirectAccess $ CSheetR tid ssh csh shn SSubsR
|
getSheetOldUnassignedR tid ssh csh = do
|
||||||
shn <- sheetOldUnassigned tid ssh csh
|
mbShn <- runDB $ sheetOldUnassigned tid ssh csh
|
||||||
maybe notFound redi shn
|
case mbShn of
|
||||||
|
Just shn -> redirectAccess $ CSheetR tid ssh csh shn SSubsR
|
||||||
|
Nothing -> do -- no unassigned submissions in any inactive sheet
|
||||||
|
-- users should never see a link to this URL in this situation,
|
||||||
|
-- but we had confused users that used a bookmark instead.
|
||||||
|
let headingShort = [whamlet|_{MsgMenuSheetOldUnassigned}|]
|
||||||
|
headingLong = prependCourseTitle tid ssh csh MsgMenuSheetOldUnassigned
|
||||||
|
siteLayout headingShort $ do
|
||||||
|
setTitleI headingLong
|
||||||
|
[whamlet|_{MsgSheetNoOldUnassigned}|]
|
||||||
|
|
||||||
getSheetListR :: TermId -> SchoolId -> CourseShorthand -> Handler Html
|
getSheetListR :: TermId -> SchoolId -> CourseShorthand -> Handler Html
|
||||||
getSheetListR tid ssh csh = do
|
getSheetListR tid ssh csh = do
|
||||||
|
|||||||
Reference in New Issue
Block a user