38606949b0
chore(lms): implement lms termination action
...
also:
- track last LmsSate for orphans
- make note searchable
towards #2605
2025-02-28 17:06:33 +01:00
e9fefa75bd
refactor(lms): ensure days/months in qualification settings are always used correctly and implement settings for orphans
...
- extensive refactoring for qualification lms settings
- qualificationAuditDuration changed from months to days
- qualificationAuditDuration no longer optional
- qualificationAuditDuration is only used for LMS; clarified
- three new settings:
+ orphan-deletion-days:
+ orphan-deletion-batch:
+ orphan-deletion-repeat-hours:
2025-02-28 17:05:50 +01:00
14140c982b
refactor(memcached): checking memcached key security mechanisms
...
RESULTS:
Keys for memcached use their Binary representation!
This means that the following three are all interchangeable as a key:
newtype Foo1 = Foo1 { someInt1 :: Int } deriving newtype (Binary)
data Foo2 = Foo2 { someInt2 :: Int } deriving (Binary)
type Foo3 = Int
Therefore it is best to use $(memcachedHere) or $(memcachedByHere) if possible or add another type
2025-02-28 16:38:41 +01:00
ce125b6495
chore(daily): show course associated qualifications
2025-02-28 16:38:41 +01:00
2ed626ea4a
chore(avs): towards #124 add filter for multiple firm users with block reason '%firm%'
...
- also add warning to admin avs licence difference for AVS R licence holders about to be changed
2024-08-09 18:33:23 +02:00
8f54ea1051
refactor(qualifications): unify qualification selectField mechanics
2024-08-07 17:50:38 +02:00
c1dbd61c14
chore(mail): minor code cleanup mailCenterR
...
-- hiding currently unneded dbtForm
-- slightly better formatting for MIME encoded word
2024-08-07 13:52:47 +02:00
cfd25348ad
fix(course): fix #148 course qualification ordering
...
some refactoring done along the way, fixing a bug in relation to #150 as well
2024-08-01 17:45:18 +02:00
d853e8559b
fix(lms): allow 2nd reminders to be independent of renewal period
2024-07-12 17:14:48 +02:00
0725a9a908
chore(lms): towards #169 option to prevent qualifications to renew automatically upon e-learning
2024-07-03 15:51:42 +02:00
99f03078a1
chore(db): use runDBRead more often
2024-07-02 17:37:34 +02:00
e25a8569c5
chore(lms): add action to manually enqueue qual holder for e-learning
2024-06-27 16:29:25 +02:00
f8c36636ff
fix(letter): expiry and valid dates were wrong
2024-06-25 14:11:50 +02:00
d7a94b9619
chore(lms): include lms ids in qualification audit log events triggered by e-learning
2023-11-03 14:41:31 +01:00
5d8d8cf17e
fix(course): grant qualifications now issues and unblocks
2023-10-19 11:21:35 +00:00
e3b6a7e4c6
chore(qualification): block expired qualification users explicitly
2023-10-06 11:16:49 +00:00
8b0218ba89
refactor(qualification): more efficient correct code to discern expiry notifications
2023-09-28 11:29:02 +00:00
cdb23115ef
refactor(lms): clean lms handling code
2023-09-27 15:36:05 +00:00
bb708ca540
fix(qualifications): latest block could ignore itself
2023-09-25 15:46:48 +00:00
61d414e3d5
chore(qualifications): restrict regular renewal to half valid duration
2023-09-21 14:32:32 +00:00
273cc288d4
chore(lms): more discreet debug info for simultaneous blocks
2023-09-21 08:17:43 +00:00
11752dc5ac
fix(lms): treat simultaneous blocks/unblocks correctly
2023-09-20 14:52:01 +00:00
dfa07a95eb
fix(time): midnight timezone conversion bug eliminated
2023-09-20 11:14:47 +00:00
520e649fc8
chore(lms): minor refactoring for selectValidQualifications
2023-09-20 09:51:43 +00:00
ecd1a0fc21
fix(lms): simultaneous block/unblock lets unblock win in all situations
2023-09-19 12:56:19 +00:00
c6f2b21927
Merge branch 'test' into fradrive/lms-type-refactor
2023-08-25 14:10:55 +00:00
34ada53de0
fix(build): refix test commits somehow
2023-08-25 13:58:21 +00:00
3085b8d91d
chore(lms): implement report dispatch job DONE
2023-08-25 12:35:21 +00:00
12f4bcfa1b
chore(lms): WIP implement report dispatch job, PART 2
2023-08-24 15:45:54 +00:00
9c156f1b58
chore(lms): WIP implement report dispatch job
2023-08-23 15:42:55 +00:00
5397c7be35
fix(qualification): new block/unblock mechanism working now
2023-07-26 08:59:08 +00:00
9cf7f3965a
fix(block): negate condition to test
2023-07-24 13:50:16 +00:00
3d595271d9
fix(db): migration qualification block
2023-07-03 13:48:01 +00:00
ab48e40ac7
fix(build): major qualfication block quirks fixed
2023-06-30 13:15:39 +00:00
9abf8b69bf
refactor(qualification): rework lms view and user lms modal
2023-06-27 15:15:32 +00:00
878f98604c
refactor(qualifications): suggestions for qualification view block acts (WIP)
2023-06-26 16:28:17 +00:00
a28fb72021
refactor(qualification): blocks need exact time for ordering
2023-06-26 10:07:41 +00:00
ff7675542a
refactor(qualifications): update basic qualification blocking routines II (WIP)
2023-06-23 16:37:08 +00:00
d5c345ef69
refactor(qualifications): working on lms background jobs (WIP)
2023-06-23 09:14:53 +00:00
f22252ecc3
refactor(qualifications): update basic qualification blocking routines (WIP)
2023-06-22 16:10:06 +00:00
43dbe18110
refactor(qualifications): idea how to work with blocks as a table (WIP)
2023-06-16 14:07:02 +00:00
a0295c7654
refactor(qualification): work on blocking WIP
2023-06-13 16:43:44 +00:00
d377d717d2
refactor(qualification): WIP db migration implemented
2023-05-24 16:25:34 +00:00
c63d3b76dd
chore(qualifications): fix #65 by adding a column with a bool indicator for validity
2023-05-23 09:15:48 +00:00
1de1cdbfd4
chore(letter): option to avoid sending a notification upon blocking
2023-05-10 10:41:15 +00:00
4c5ce11b09
refactor(qualifications): notification mechanic tied to button only for all invalid qualifications
2023-05-08 17:19:46 +00:00
56aa593c8d
chore(lms): Fix #45 subsequent lms success also unblocks e-learning blocks
2023-05-04 11:24:09 +00:00
a64a2368db
chore(qualification): Fix #46 by add qualification grant act to qualification view
2023-05-04 10:58:55 +00:00
09c4eb3a7b
chore(qualifications): use blocking mechanism (WIP)
2023-03-15 17:10:32 +00:00
Steffen Jost
b3861144aa
chore(qualifications): renew regularly implemented
2023-02-21 13:45:34 +01:00