73 lines
3.0 KiB
Plaintext
73 lines
3.0 KiB
Plaintext
Qualification
|
|
school SchoolId --TODO: Ansprechpartner der Schule in Briefe erwähnen
|
|
shorthand (CI Text)
|
|
name (CI Text)
|
|
description StoredMarkup Maybe -- user-defined large Html, ought to contain full description
|
|
validDuration Word Maybe -- qualification is valid for this number of months
|
|
auditDuration Word Maybe -- number of month to keep audit log
|
|
refreshWithin CalendarDiffDays Maybe -- refresher is scheduled within this number of month before expiry
|
|
elearningOnly Bool -- successful E-learing automatically increases validity
|
|
-- refreshInvitation StoredMarkup -- hard-coded I18N-MSGs used instead, but displayed on qualification page
|
|
-- expiryNotification StoredMarkup Maybe -- configurable user-profile-notifcations are used instead
|
|
UniqueSchoolShort school shorthand -- must be unique per school and shorthand
|
|
UniqueSchoolName school name -- must be unique per school and name
|
|
deriving Generic
|
|
|
|
QualificationEdit
|
|
user User
|
|
time UTCTime
|
|
qualification QualificationId OnDeleteCascade OnUpdateCascade
|
|
deriving Generic
|
|
|
|
-- TODO: connect Qualification with Exams!
|
|
|
|
QualificationUser
|
|
user User
|
|
qualification QualificationId
|
|
validUntil UTCTime
|
|
lastRefresh UTCTime -- lastRefresh > validUntil possible, if Qualification^elearningOnly == False
|
|
firstHeld UTCTime -- first time the qualification was earned, should never change
|
|
UniqueQualificationUser qualification user
|
|
deriving Generic
|
|
|
|
|
|
|
|
-- LMS Interface Tables, need regular processing by background jobs
|
|
LmsUser
|
|
qualification QualificationId
|
|
user UserId
|
|
ident LmsIdent
|
|
pin Text
|
|
resetPin Bool -- should the pin be reset?
|
|
delete Bool -- should the ident be deleted? TODO: do we need this?
|
|
started UTCTime Maybe
|
|
submitted UTCTime Maybe -- ident was sent to LMS (should happen only once)
|
|
ended UTCTime Maybe -- ident was deleted in LMS
|
|
UniqueLmsUser qualification ident
|
|
deriving Generic
|
|
|
|
-- LmsUserlist stores LMS upload ofr later processing only
|
|
LmsUserlist
|
|
qualification QualificationId
|
|
ident LmsIdent
|
|
failed Bool
|
|
timestamp UTCTime default=now()
|
|
deriving Generic
|
|
|
|
-- LmsUserlist stores LMS upload ofr later processing only
|
|
LmsResult
|
|
qualification QualificationId
|
|
ident LmsIdent
|
|
success Day
|
|
timestamp UTCTime default=now()
|
|
deriving Generic
|
|
|
|
-- Logs all processed rows from LmsUserlist and LmsResult
|
|
LmsAudit
|
|
qualification QualificationId
|
|
ident LmsIdent
|
|
notificationType LmsNotification
|
|
received UTCTime
|
|
processed UTCTime default=now()
|
|
deriving Generic
|