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 LmsActResetData{} = True
|
||||||
isResetAct _ = False
|
isResetAct _ = False
|
||||||
|
|
||||||
isRestartResetAct :: LmsTableActionData -> Bool
|
isResetRestartAct :: LmsTableActionData -> Bool
|
||||||
isRestartResetAct LmsActRestartData{} = True
|
isResetRestartAct LmsActRestartData{} = True
|
||||||
isRestartResetAct other = isResetAct other
|
isResetRestartAct other = isResetAct other
|
||||||
|
|
||||||
|
|
||||||
lmsTableQuery :: QualificationId -> LmsTableExpr
|
lmsTableQuery :: QualificationId -> LmsTableExpr
|
||||||
@ -707,7 +707,7 @@ postLmsR sid qsh = do
|
|||||||
formResult lmsRes $ \case
|
formResult lmsRes $ \case
|
||||||
_ | not isAdmin -> addMessageI Error MsgUnauthorized -- only admins can use the form on this page
|
_ | 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
|
let usersList = Set.toList selectedUsers
|
||||||
numUsers = Set.size selectedUsers
|
numUsers = Set.size selectedUsers
|
||||||
isReset = isResetAct action
|
isReset = isResetAct action
|
||||||
@ -730,7 +730,7 @@ postLmsR sid qsh = do
|
|||||||
forM_ shortUsers $ upsertQualificationUser qid nowaday cutoff Nothing
|
forM_ shortUsers $ upsertQualificationUser qid nowaday cutoff Nothing
|
||||||
|
|
||||||
fromIntegral <$> (if isReset
|
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]
|
++ ([LmsUserStatus ==. Just LmsBlocked] ||. [LmsUserStatus ==. Just LmsExpired])) [LmsUserResetTries =. True]
|
||||||
else deleteWhereCount [LmsUserQualification ==. qid, LmsUserUser <-. usersList]
|
else deleteWhereCount [LmsUserQualification ==. qid, LmsUserUser <-. usersList]
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user