Model descriptions mostly done

This commit is contained in:
Steffen Jost 2019-03-15 10:56:25 +01:00
parent 7e66b72618
commit 8d13d9278f
3 changed files with 35 additions and 35 deletions

View File

@ -2,38 +2,38 @@ Sheet -- exercise sheet for a given course
course CourseId course CourseId
name (CI Text) name (CI Text)
description Html Maybe description Html Maybe
type SheetType type SheetType -- Does it count towards overall course grade?
grouping SheetGroup grouping SheetGroup -- May participants submit in groups of certain sizes?
markingText Html Maybe markingText Html Maybe -- Instructions for correctors, included in marking templates
visibleFrom UTCTime Maybe visibleFrom UTCTime Maybe -- Invisible to enrolled participants before
activeFrom UTCTime activeFrom UTCTime -- Download of questions and submission is permitted afterwards
activeTo UTCTime activeTo UTCTime -- Submission is only permitted before
hintFrom UTCTime Maybe hintFrom UTCTime Maybe -- Additional files are made available
solutionFrom UTCTime Maybe solutionFrom UTCTime Maybe -- Solution is made available
uploadMode UploadMode uploadMode UploadMode -- Take apart Zip-Archives or not?
submissionMode SheetSubmissionMode default='UserSubmissions' submissionMode SheetSubmissionMode default='UserSubmissions' -- Submission upload by students or through tutors only?
autoDistribute Bool default=false autoDistribute Bool default=false -- Should correctors be assigned submissions automagically?
CourseSheet course name CourseSheet course name
deriving Generic deriving Generic
SheetEdit SheetEdit -- who edited when a row in table "Course", kept indefinitely
user UserId user UserId
time UTCTime time UTCTime
sheet SheetId sheet SheetId
SheetPseudonym SheetPseudonym -- for anonoymous external submissions (ie paper submission tracked in uni2work)
sheet SheetId sheet SheetId
pseudonym Pseudonym pseudonym Pseudonym -- should be attached to submission
user UserId user UserId
UniqueSheetPseudonym sheet pseudonym UniqueSheetPseudonym sheet pseudonym
UniqueSheetPseudonymUser sheet user UniqueSheetPseudonymUser sheet user
SheetCorrector SheetCorrector -- grant corrector role to user for a sheet
user UserId user UserId
sheet SheetId sheet SheetId
load Load load Load -- portion of work that will be assigned to this corrector
state CorrectorState default='CorrectorNormal' state CorrectorState default='CorrectorNormal' -- whether a corrector is assigned his load this time (e.g. in case of sickness)
UniqueSheetCorrector user sheet UniqueSheetCorrector user sheet
deriving Show Eq Ord deriving Show Eq Ord
SheetFile SheetFile -- a file that is part of an exercise sheet
sheet SheetId sheet SheetId
file FileId file FileId
type SheetFileType type SheetFileType -- excercise, marking, hint or solution
UniqueSheetFile file sheet type UniqueSheetFile file sheet type

View File

@ -1,34 +1,34 @@
Submission Submission -- submission for marking by a CourseParticipant
sheet SheetId sheet SheetId
ratingPoints Points Maybe -- "Just" does not mean done ratingPoints Points Maybe -- "Just" does not mean done; not yet visible to participant
ratingComment Text Maybe -- "Just" does not mean done ratingComment Text Maybe -- "Just" does not mean done; not yet visible to participant
ratingBy UserId Maybe -- assigned corrector ratingBy UserId Maybe -- assigned corrector
ratingAssigned UTCTime Maybe -- time assigned corrector ratingAssigned UTCTime Maybe -- time when corrector was assigned
ratingTime UTCTime Maybe -- "Just" here indicates done! ratingTime UTCTime Maybe -- "Just" here indicates done; marking is made visible to participant
deriving Show Generic deriving Show Generic
SubmissionEdit SubmissionEdit -- user uploads new version of their submission
user UserId user UserId -- track id, important for group submissions
time UTCTime time UTCTime
submission SubmissionId submission SubmissionId
SubmissionFile SubmissionFile -- files that are part of a submission
submission SubmissionId submission SubmissionId
file FileId file FileId
isUpdate Bool -- is this the file updated by a corrector (original will always be retained) isUpdate Bool -- is this the file updated by a corrector (original will always be retained)
isDeletion Bool -- only set if isUpdate is also set, but file was deleted by corrector isDeletion Bool -- only set if isUpdate is also set, but file was deleted by corrector
UniqueSubmissionFile file submission isUpdate UniqueSubmissionFile file submission isUpdate
deriving Show deriving Show
SubmissionUser -- Actual submission participant SubmissionUser -- which submission belongs to whom
user UserId user UserId
submission SubmissionId submission SubmissionId
UniqueSubmissionUser user submission UniqueSubmissionUser user submission -- multiple users may share same submission, in case of (ad-hoc) submission groups
SubmissionGroup SubmissionGroup -- pre-defined submission groups; some courses only allow pre-defined submission groups
course CourseId course CourseId
name Text Maybe name Text Maybe
SubmissionGroupEdit SubmissionGroupEdit -- who edited a submissionGroup when?
user UserId user UserId
time UTCTime time UTCTime
submissionGroup SubmissionGroupId submissionGroup SubmissionGroupId
SubmissionGroupUser -- Registered submission groups, independent of actual SubmissionUser SubmissionGroupUser -- Registered submission groups, just for checking upon submission, but independent of actual SubmissionUser
submissionGroup SubmissionGroupId submissionGroup SubmissionGroupId
user UserId user UserId
UniqueSubmissionGroupUser submissionGroup user UniqueSubmissionGroupUser submissionGroup user

View File

@ -304,7 +304,7 @@ postAdminFeaturesR = do
, ("name", FilterColumn $ mkContainsFilter (E.^. StudyTermCandidateName)) , ("name", FilterColumn $ mkContainsFilter (E.^. StudyTermCandidateName))
, ("incidence", FilterColumn $ mkExactFilter (E.^. StudyTermCandidateIncidence)) -- TODO containts filter desired here , ("incidence", FilterColumn $ mkExactFilter (E.^. StudyTermCandidateIncidence)) -- TODO containts filter desired here
] ]
dbtFilterUI = \mPrev -> mconcat dbtFilterUI mPrev = mconcat
-- [ prismAForm (singletonFilter "key") mPrev $ aopt intField (fslI MsgStudyTermsKey) -- Typing problem exactFilter suffices here -- [ prismAForm (singletonFilter "key") mPrev $ aopt intField (fslI MsgStudyTermsKey) -- Typing problem exactFilter suffices here
[ prismAForm (singletonFilter "key") mPrev $ aopt (searchField False) (fslI MsgStudyTermsKey) [ prismAForm (singletonFilter "key") mPrev $ aopt (searchField False) (fslI MsgStudyTermsKey)
, prismAForm (singletonFilter "name") mPrev $ aopt (searchField False) (fslI MsgStudyTermsName) , prismAForm (singletonFilter "name") mPrev $ aopt (searchField False) (fslI MsgStudyTermsName)