fix(lms): reset e-learning more lenient
This commit is contained in:
parent
93052f5e74
commit
8b0737e2aa
@ -391,9 +391,9 @@ isResetAct :: LmsTableActionData -> Bool
|
||||
isResetAct LmsActResetData{} = True
|
||||
isResetAct _ = False
|
||||
|
||||
isRestartResetAct :: LmsTableActionData -> Bool
|
||||
isRestartResetAct LmsActRestartData{} = True
|
||||
isRestartResetAct other = isResetAct other
|
||||
isResetRestartAct :: LmsTableActionData -> Bool
|
||||
isResetRestartAct LmsActRestartData{} = True
|
||||
isResetRestartAct other = isResetAct other
|
||||
|
||||
|
||||
lmsTableQuery :: QualificationId -> LmsTableExpr
|
||||
@ -707,7 +707,7 @@ postLmsR sid qsh = do
|
||||
formResult lmsRes $ \case
|
||||
_ | not isAdmin -> addMessageI Error MsgUnauthorized -- only admins can use the form on this page
|
||||
|
||||
(action, selectedUsers) | isRestartResetAct action -> do
|
||||
(action, selectedUsers) | isResetRestartAct action -> do
|
||||
let usersList = Set.toList selectedUsers
|
||||
numUsers = Set.size selectedUsers
|
||||
isReset = isResetAct action
|
||||
@ -730,7 +730,7 @@ postLmsR sid qsh = do
|
||||
forM_ shortUsers $ upsertQualificationUser qid nowaday cutoff Nothing
|
||||
|
||||
fromIntegral <$> (if isReset
|
||||
then updateWhereCount ([LmsUserQualification ==. qid, LmsUserUser <-. usersList, LmsUserResetTries ==. False, LmsUserLocked ==. True]
|
||||
then updateWhereCount ([LmsUserQualification ==. qid, LmsUserUser <-. usersList, LmsUserResetTries ==. False] -- , LmsUserLocked ==. True] -- needs to be locked for reset, but this is counter-intuitive for users; should be harmles, but delays reset until lock is effective
|
||||
++ ([LmsUserStatus ==. Just LmsBlocked] ||. [LmsUserStatus ==. Just LmsExpired])) [LmsUserResetTries =. True]
|
||||
else deleteWhereCount [LmsUserQualification ==. qid, LmsUserUser <-. usersList]
|
||||
)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user