diff --git a/models/lms.model b/models/lms.model index 616940762..9f3fc2288 100644 --- a/models/lms.model +++ b/models/lms.model @@ -40,18 +40,19 @@ Qualification -- - PinReset==1 mit bestehendem Passwort kann problemlos erneut gesendet werden -- - Flag "interner Mitarbeiter" wird von Know-How ignoriert / nicht ausgewertet (legacy) -QualificationPrecondition -- NOTE: this can only be enforced through a background job adding or removing qualifications - qualification QualificationId OnDeleteCascade OnUpdateCascade -- AND: not unique, ie. qualification can have multiple required preconditions - required [QualificationId] -- OR : alternatives, any one will suffice - continuous Bool -- expiring precondition blocks qualification - deriving Generic +-- QualificationPrecondition -- NOTE: this can only be enforced through a background job adding or removing qualifications +-- qualification QualificationId OnDeleteCascade OnUpdateCascade -- AND: not unique, ie. qualification can have multiple required preconditions +-- required [QualificationId] -- OR : alternatives, any one will suffice +-- continuous Bool -- expiring precondition blocks qualification +-- deriving Generic -- Maybe an alternative for online qualification validity checking, transitivity through recursive CTEs? (already available in our version) --- QualificationRequirement --- qualification QualificationId OnDeleteCascade OnUpdateCascade --- requirement QualificationId OnDeleteCascade OnUpdateCascade --- group Text -- OR: several requirements within the same group are considered equivalent --- UniqueQualificationRequirement qualification requirement +QualificationRequirement + qualification QualificationId OnDeleteCascade OnUpdateCascade + requirement QualificationId OnDeleteCascade OnUpdateCascade + group Text -- OR: several requirements within the same group are considered equivalent + UniqueQualificationRequirement qualification requirement + deriving Generic -- -- TODO: connect Qualification with Exams! @@ -81,6 +82,7 @@ QualificationUserBlock from UTCTime reason Text blocker UserId Maybe + precondition Bool default=false -- if true, this was due to a precondition deriving Eq Ord Read Show Generic -- LMS Interface Tables, need regular processing by background jobs, per QualificationId: