chore(course-teaser): focussing on course information
Using lenses to focus on course, lecturer list and register status. TODO: moved .julius file (no courseId available). TODO: overwrite default template mode for course list and define lenses there
This commit is contained in:
parent
2fb49ef4e3
commit
1be333a09a
@ -390,7 +390,7 @@ data DBStyle r = DBStyle
|
||||
, dbsCellTemplate :: DBSTemplateMode r
|
||||
}
|
||||
|
||||
data DBSTemplateMode r = DBSTDefault | DBSTCourse (Lens' r (Entity Course))
|
||||
data DBSTemplateMode r = DBSTDefault | DBSTCourse (Lens' r (Entity Course)) (Traversal' r (Entity User)) (Lens' r Bool)
|
||||
|
||||
instance Default (DBStyle r) where
|
||||
def = DBStyle
|
||||
@ -868,11 +868,11 @@ dbTable PSValidator{..} dbtable@DBTable{ dbtIdent = dbtIdent'@(toPathPiece -> db
|
||||
wHeaders <- maybe (return Nothing) (fmap Just . genHeaders) pSortable
|
||||
|
||||
wRows <- forM rows $ \row' -> forM (oneColonnadeEncode <$> getColonnade dbtColonnade) $ \(($ row') -> cell') -> case dbsCellTemplate of
|
||||
DBSTCourse c -> let
|
||||
DBSTCourse c l r -> let
|
||||
Course{..} = row' ^. c . _entityVal
|
||||
courseId = "cid" :: Text -- TODO:
|
||||
courseLecturer = "courseLecturer" :: Text -- TODO: use tuple of lenses in DBStyle
|
||||
isRegistered = False -- TODO:
|
||||
lecturers = toListOf l row'
|
||||
courseLecturers = intercalate ", " $ userSurname . entityVal <$> lecturers
|
||||
isRegistered = row' ^. r
|
||||
courseSchoolName = unSchoolKey courseSchool
|
||||
in return $(widgetFile "table/cell/course-teaser")
|
||||
DBSTDefault -> do
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<div .course-teaser :isRegistered:.course-teaser--registered #course-#{courseId} tabindex='1'>
|
||||
<div .course-teaser :isRegistered:.course-teaser--registered tabindex='1'>
|
||||
<div .course-teaser__chevron>
|
||||
<div .course-teaser__shorthand>_{courseShorthand}
|
||||
<div .course-teaser__title>
|
||||
<a href=@{AdminTestR}>_{courseName}
|
||||
<div .course-teaser__registration>_{MsgRegistered}
|
||||
<div .course-teaser__lecturer-label>_{MsgLecturerFor}
|
||||
<div .course-teaser__lecturer-value>_{courseLecturer}
|
||||
<div .course-teaser__lecturer-value>_{courseLecturers}
|
||||
<div .course-teaser__duedate-label>_{MsgRegisterTo}
|
||||
<div .course-teaser__duedate-value>^{utcTimeToWidget courseRegisterTo}
|
||||
<div .course-teaser__school-label>_{MsgCourseSchool}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user