Delete Data via Modal; stub.
This commit is contained in:
parent
e63a08e160
commit
2140c21560
@ -223,7 +223,7 @@ NoCorrector: Kein Korrektor
|
|||||||
RemovedCorrections num@Int64: Korrektur-Daten wurden von #{display num} Abgaben entfernt.
|
RemovedCorrections num@Int64: Korrektur-Daten wurden von #{display num} Abgaben entfernt.
|
||||||
UpdatedAssignedCorrectorsAuto num@Int64: #{display num} Abgaben wurden unter den Korrektoren aufgeteilt.
|
UpdatedAssignedCorrectorsAuto num@Int64: #{display num} Abgaben wurden unter den Korrektoren aufgeteilt.
|
||||||
CouldNotAssignCorrectorsAuto num@Int64: #{display num} Abgaben konnten nicht automatisch zugewiesen werden:
|
CouldNotAssignCorrectorsAuto num@Int64: #{display num} Abgaben konnten nicht automatisch zugewiesen werden:
|
||||||
SelfCorrectors num@Int64: #{display num} Abgaben haben Abgebenden als eigenen Korrektor zugeteilt
|
SelfCorrectors num@Int64: #{display num} Abgaben wurden Abgebenden als eigenem Korrektor zugeteilt!
|
||||||
|
|
||||||
|
|
||||||
CorrectionsUploaded num@Int64: #{display num} Korrekturen wurden gespeichert:
|
CorrectionsUploaded num@Int64: #{display num} Korrekturen wurden gespeichert:
|
||||||
|
|||||||
2
routes
2
routes
@ -39,7 +39,7 @@
|
|||||||
/info VersionR GET !free
|
/info VersionR GET !free
|
||||||
|
|
||||||
/profile ProfileR GET POST !free !free
|
/profile ProfileR GET POST !free !free
|
||||||
/profile/data ProfileDataR GET !free !free
|
/profile/data ProfileDataR GET POST !free !free
|
||||||
|
|
||||||
/term TermShowR GET !free
|
/term TermShowR GET !free
|
||||||
/term/current TermCurrentR GET !free
|
/term/current TermCurrentR GET !free
|
||||||
|
|||||||
@ -53,9 +53,9 @@ postAdminTestR :: Handler Html
|
|||||||
postAdminTestR = do
|
postAdminTestR = do
|
||||||
((btnResult,_), _) <- runFormPost $ buttonForm
|
((btnResult,_), _) <- runFormPost $ buttonForm
|
||||||
case btnResult of
|
case btnResult of
|
||||||
(FormSuccess CreateInf) -> setMessage "Informatik-Knopf gedrückt"
|
(FormSuccess CreateInf) -> addMessage Info "Informatik-Knopf gedrückt"
|
||||||
(FormSuccess CreateMath) -> addMessage Warning "Knopf Mathematik erkannt"
|
(FormSuccess CreateMath) -> addMessage Warning "Knopf Mathematik erkannt"
|
||||||
_other -> return ()
|
_other -> addMessage Warning "KEIN Knopf erkannt"
|
||||||
getAdminTestR
|
getAdminTestR
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -140,13 +140,21 @@ postProfileR = do
|
|||||||
-- TODO
|
-- TODO
|
||||||
getProfileR
|
getProfileR
|
||||||
|
|
||||||
|
postProfileDataR :: Handler Html
|
||||||
|
postProfileDataR = do
|
||||||
|
(uid, User{..}) <- requireAuthPair
|
||||||
|
((btnResult,_), _) <- runFormPost $ buttonForm
|
||||||
|
case btnResult of
|
||||||
|
(FormSuccess BtnDelete) -> addMessage Warning "Delete-Knopf gedrückt"
|
||||||
|
(FormSuccess BtnAbort ) -> addMessage Warning "Knopf Abort erkannt"
|
||||||
|
_other -> addMessage Warning "KEIN Knopf erkannt"
|
||||||
|
addMessage Error "Löschen der Daten wurde noch nicht implementiert."
|
||||||
|
getProfileDataR
|
||||||
|
|
||||||
getProfileDataR :: Handler Html
|
getProfileDataR :: Handler Html
|
||||||
getProfileDataR = do
|
getProfileDataR = do
|
||||||
(uid, User{..}) <- requireAuthPair
|
(uid, User{..}) <- requireAuthPair
|
||||||
-- mr <- getMessageRender
|
-- mr <- getMessageRender
|
||||||
|
|
||||||
-- Tabelle mit eigenen Kursen
|
-- Tabelle mit eigenen Kursen
|
||||||
(hasRows, ownedCoursesTable) <- mkOwnedCoursesTable uid
|
(hasRows, ownedCoursesTable) <- mkOwnedCoursesTable uid
|
||||||
-- Tabelle mit allen Teilnehmer: Kurs (link), Datum
|
-- Tabelle mit allen Teilnehmer: Kurs (link), Datum
|
||||||
@ -163,6 +171,20 @@ getProfileDataR = do
|
|||||||
ownTutorialTable <- return [whamlet| Übungsgruppen werden momentan leider noch nicht unterstützt.|]
|
ownTutorialTable <- return [whamlet| Übungsgruppen werden momentan leider noch nicht unterstützt.|]
|
||||||
-- Tabelle mit allen Tutorials
|
-- Tabelle mit allen Tutorials
|
||||||
tutorialTable <- return [whamlet| Übungsgruppen werden momentan leider noch nicht unterstützt.|]
|
tutorialTable <- return [whamlet| Übungsgruppen werden momentan leider noch nicht unterstützt.|]
|
||||||
|
-- Delete Button
|
||||||
|
(btnWdgt, btnEnctype) <- generateFormPost (buttonForm :: Form BtnDelete)
|
||||||
|
-- TODO: move this into a Message and/or Widget-File
|
||||||
|
let delWdgt = [whamlet|
|
||||||
|
<form .form-inline method=post action=@{ProfileDataR} enctype=#{btnEnctype}>
|
||||||
|
<div>Sind Sie sich absolut sicher, alle gespeicherten Daten zu löschen?
|
||||||
|
Abgegebene Hausaufgaben werden dadurch rückwirkend gelöscht,
|
||||||
|
wodurch eventuell ein Klausurbonus nicht mehr anerkannt wird.
|
||||||
|
<div>
|
||||||
|
<em>Gilt nicht in der Testphase von Uni2work:
|
||||||
|
Klausurnoten können Sie hiermit nicht löschen.
|
||||||
|
Da diese 5 Jahre bis nach Ihrer Exmatrikulation aufbewahrt werden müssen.
|
||||||
|
<div>^{btnWdgt}
|
||||||
|
|]
|
||||||
defaultLayout $ do
|
defaultLayout $ do
|
||||||
$(widgetFile "profileData")
|
$(widgetFile "profileData")
|
||||||
$(widgetFile "dsgvDisclaimer")
|
$(widgetFile "dsgvDisclaimer")
|
||||||
|
|||||||
@ -16,6 +16,15 @@ modalStatic modalContent = do
|
|||||||
$(widgetFile "widgets/modalStatic")
|
$(widgetFile "widgets/modalStatic")
|
||||||
[whamlet|<div .tooltip__handle ##{uniqueId}>?|] -- SJ: confused why ## is needed here either?
|
[whamlet|<div .tooltip__handle ##{uniqueId}>?|] -- SJ: confused why ## is needed here either?
|
||||||
|
|
||||||
|
modalWidget :: Html -> WidgetT site IO () -> WidgetT site IO ()
|
||||||
|
modalWidget modalTrigger modalContent = do
|
||||||
|
uniqueId <- newIdent
|
||||||
|
let modalTriggerId = cons '#' uniqueId -- SJ: I am confused why this is needed here?
|
||||||
|
modalId :: Int32
|
||||||
|
modalId = 13
|
||||||
|
$(widgetFile "widgets/modalWidget")
|
||||||
|
[whamlet|<div .btn ##{uniqueId}>#{modalTrigger}|] -- SJ: confused why ## is needed here either?
|
||||||
|
|
||||||
modal :: Text -> Maybe [Char] -> WidgetT site IO ()
|
modal :: Text -> Maybe [Char] -> WidgetT site IO ()
|
||||||
modal modalTrigger (Just modalContent) = do -- WARNING: ModalContent should not have length 11. SJ: This is possibly bad. See Template!
|
modal modalTrigger (Just modalContent) = do -- WARNING: ModalContent should not have length 11. SJ: This is possibly bad. See Template!
|
||||||
let
|
let
|
||||||
|
|||||||
@ -34,7 +34,7 @@
|
|||||||
<li><br>
|
<li><br>
|
||||||
Modals:
|
Modals:
|
||||||
^{modal ".toggler1" Nothing}
|
^{modal ".toggler1" Nothing}
|
||||||
<a href="/" .btn.toggler1>Klick mich für Ajax-Test
|
<a href=@{UsersR} .btn.toggler1>Klick mich für Ajax-Test
|
||||||
<noscript>(Für Modals bitte JS aktivieren)</noscript>
|
<noscript>(Für Modals bitte JS aktivieren)</noscript>
|
||||||
^{modal ".toggler2" (Just "Test Inhalt für Modal")}
|
^{modal ".toggler2" (Just "Test Inhalt für Modal")}
|
||||||
<div .btn.toggler2>Klick mich für Content-Test
|
<div .btn.toggler2>Klick mich für Content-Test
|
||||||
|
|||||||
@ -1,11 +1,4 @@
|
|||||||
<div .container>
|
<div .container>
|
||||||
<div .alerts>
|
|
||||||
<div .alert .alert-danger>
|
|
||||||
<div .alert__content>
|
|
||||||
TODO: Alle Benutzerbezogenen Daten sollen hier angezeigt
|
|
||||||
und verlinkt werden
|
|
||||||
(alle Abgaben, Klausurnoten, etc.)
|
|
||||||
|
|
||||||
$if hasRows
|
$if hasRows
|
||||||
<div .container>
|
<div .container>
|
||||||
<h2> Eigene Kurse
|
<h2> Eigene Kurse
|
||||||
@ -58,8 +51,7 @@
|
|||||||
.
|
.
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
<em> TODO: Knopf zum Löschen aller Daten erstellen
|
^{modalWidget "Alle Benutzerbezogenen Daten löschen" delWdgt}
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<h4>Hinweise:
|
<h4>Hinweise:
|
||||||
<ul>
|
<ul>
|
||||||
|
|||||||
2
templates/widgets/modalWidget.hamlet
Normal file
2
templates/widgets/modalWidget.hamlet
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<div .modal.js-modal #modal-#{modalId} data-trigger=#{modalTriggerId} data-closeable=true>
|
||||||
|
^{modalContent}
|
||||||
Reference in New Issue
Block a user