chore(qualifications): restrict regular renewal to half valid duration

This commit is contained in:
Steffen Jost 2023-09-21 14:32:32 +00:00
parent e59a2fc373
commit 61d414e3d5

View File

@ -198,8 +198,8 @@ renewValidQualificationUsers qid renewalTime uids =
Just Qualification{qualificationValidDuration=Just renewalMonths} -> do
cutoff <- maybe (liftIO getCurrentTime) return renewalTime
quEntsAll <- selectValidQualifications qid uids cutoff
let cutoffday = utctDay cutoff
maxValidTo = addGregorianMonthsRollOver (toInteger renewalMonths) cutoffday
let cutoffday = utctDay cutoff
maxValidTo = addGregorianMonthsRollOver (toInteger $ renewalMonths `div` 2) cutoffday
quEnts = filter (\q -> maxValidTo >= (q ^. _entityVal . _qualificationUserValidUntil)) quEntsAll
forM_ quEnts $ \(Entity quId QualificationUser{..}) -> do
let newValidTo = addGregorianMonthsRollOver (toInteger renewalMonths) qualificationUserValidUntil