Material Delete implemented
This commit is contained in:
parent
2aa73b7694
commit
f6e29a7fa7
@ -235,7 +235,9 @@ MaterialEditHeading materialName@MaterialName: Material "#{materialName}" editie
|
||||
MaterialEditTitle materialName@MaterialName: Material "#{materialName}" editieren
|
||||
MaterialSaveOk tid@TermId ssh@SchoolId csh@CourseShorthand materialName@MaterialName: Material "#{materialName}" erfolgreich gespeichert in Kurs #{display tid}-#{display ssh}-#{csh}
|
||||
MaterialNameDup tid@TermId ssh@SchoolId csh@CourseShorthand materialName@MaterialName: Es gibt bereits Material mit Namen "#{materialName}" in diesem Kurs #{display tid}-#{display ssh}-#{csh}
|
||||
MaterialDeleteQuestion: Wollen Sie das unten aufgeführte Material wirklich löschen?
|
||||
MaterialDeleteCaption: Wollen Sie das unten aufgeführte Material wirklich löschen?
|
||||
MaterialDelHasFiles count@Int64: inklusive #{tshow count} #{pluralDE count "Datei" "Dateien"}
|
||||
MaterialIsVisible: Achtung, dieses Material wurde bereits veröffentlicht.
|
||||
MaterialDeleted materialName@MaterialName: Material "#{materialName}" gelöscht
|
||||
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ import Database.Esqueleto.Utils.TH
|
||||
import Utils.Lens
|
||||
import Utils.Form
|
||||
import Handler.Utils
|
||||
-- import Handler.Utils.Delete
|
||||
import Handler.Utils.Delete
|
||||
import Handler.Utils.Table.Cells
|
||||
import Handler.Utils.Table.Columns
|
||||
|
||||
@ -309,18 +309,31 @@ handleMaterialEdit tid ssh csh cid template dbMaterial = do
|
||||
getMDelR, postMDelR :: TermId -> SchoolId -> CourseShorthand -> MaterialName -> Handler Html
|
||||
getMDelR = postMDelR
|
||||
postMDelR tid ssh csh mnm = do
|
||||
_matEnt <- runDB $ fetchMaterial tid ssh csh mnm
|
||||
error "todo" -- CONTINUE HERE
|
||||
{-
|
||||
matEnt <- runDB $ fetchMaterial tid ssh csh mnm
|
||||
deleteR DeleteRoute
|
||||
{ drRecords = Set.singleton $ entityKey matEnt
|
||||
, drGetInfo = error "todo"
|
||||
, drUnjoin = error "todo"
|
||||
, drRenderRecord = error "todo"
|
||||
, drRecordConfirmString = error "todo"
|
||||
, drCaption = SomeMessage MsgMaterialDeleteQuestion
|
||||
, drGetInfo = \(material `E.InnerJoin` course) -> do
|
||||
E.on $ material E.^. MaterialCourse E.==. course E.^. CourseId
|
||||
let filecount = E.sub_select . E.from $ \matfile -> do
|
||||
E.where_ $ matfile E.^. MaterialFileMaterial E.==. material E.^. MaterialId
|
||||
return (E.countRows :: E.SqlExpr (E.Value Int64))
|
||||
return (material,course,filecount)
|
||||
, drUnjoin = \(material `E.InnerJoin` _course) -> material
|
||||
, drRenderRecord = \(Entity _ Material{..}, Entity _ Course{..}, E.Value fileCount) -> do
|
||||
now <- liftIO getCurrentTime
|
||||
let isPublished = NTop (Just now) >= NTop materialVisibleFrom
|
||||
pCT = prependCourseTitle courseTerm courseSchool courseShorthand
|
||||
return [whamlet|
|
||||
_{SomeMessage $ pCT $ MsgMaterialHeading materialName}
|
||||
$if fileCount /= 0
|
||||
<i>_{SomeMessage $ MsgMaterialDelHasFiles fileCount}
|
||||
$if isPublished
|
||||
_{SomeMessage $ MsgMaterialIsVisible}
|
||||
|]
|
||||
, drRecordConfirmString = \(Entity _ Material{..}, Entity _ Course{..}, E.Value fileCount) ->
|
||||
return $ [st|#{termToText (unTermKey courseTerm)}/#{unSchoolKey courseSchool}/#{courseShorthand}/#{materialName}|] <> bool mempty [st| + #{tshow fileCount} Files|] (fileCount /= 0)
|
||||
, drCaption = SomeMessage MsgMaterialDeleteCaption
|
||||
, drSuccessMessage = SomeMessage $ MsgMaterialDeleted mnm
|
||||
, drSuccess = SomeRoute $ CourseR tid ssh csh MaterialListR
|
||||
, drAbort = SomeRoute $ CourseR tid ssh csh $ MaterialR mnm MShowR
|
||||
}
|
||||
-}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user