fix(block): negate condition to test

This commit is contained in:
Steffen Jost 2023-07-24 13:50:16 +00:00
parent 8d64ca9842
commit 9cf7f3965a
2 changed files with 7 additions and 3 deletions

View File

@ -213,7 +213,7 @@ data Transaction
{ transactionUser :: UserId -- qualification holder that is updated
-- , transactionQualificationUser :: QualificationUserId -- not neccessary due to UniqueQualificationUser
, transactionQualification :: QualificationId
, transactionQualificationBlock :: QualificationUserBlock
, transactionQualificationBlock :: QualificationUserBlock -- TODO --
}
deriving (Eq, Ord, Read, Show, Generic)

View File

@ -10,6 +10,8 @@ module Handler.Utils.Qualification
import Import
import qualified Data.Text as Text
-- import Data.Time.Calendar (CalendarDiffDays(..))
-- import Database.Persist.Sql (updateWhereCount)
import qualified Database.Esqueleto.Experimental as E -- might need TypeApplications Lang-Pragma
@ -209,6 +211,7 @@ qualificationUserBlocking ::
, Num n
) => QualificationId -> [UserId] -> Bool -> QualificationBlockReason -> Bool -> ReaderT (YesodPersistBackend (HandlerSite m)) m n
qualificationUserBlocking qid uids unblock (qualificationBlockReasonText -> reason) notify = do
$logWarnS "BLOCK" $ Text.intercalate " - " [tshow qid, tshow uids, tshow unblock, tshow reason, tshow notify]
authUsr <- liftHandler maybeAuthId
now <- liftIO getCurrentTime
-- -- Code would work, but problematic
@ -226,9 +229,10 @@ qualificationUserBlocking qid uids unblock (qualificationBlockReasonText -> reas
qualUser <- E.from $ E.table @QualificationUser
E.where_ $ qualUser E.^. QualificationUserQualification E.==. E.val qid
E.&&. qualUser E.^. QualificationUserUser `E.in_` E.valList uids
E.&&. quserBlock (not unblock) now qualUser -- only unblock blocked qualification and vice versa
E.&&. quserBlock (unblock) now qualUser -- only unblock blocked qualification and vice versa -- TODO: (not unblock) <-> unblock !!!CHECK THIS ONCE MORE !!!
return (qualUser E.^. QualificationUserId, qualUser E.^. QualificationUserUser)
let toChange = E.unValue . fst <$> toChange'
$logWarnS "BLOCK" $ tshow toChange
E.insertMany_ $ map (\quid -> QualificationUserBlock
{ qualificationUserBlockQualificationUser = quid
, qualificationUserBlockUnblock = unblock
@ -244,7 +248,7 @@ qualificationUserBlocking qid uids unblock (qualificationBlockReasonText -> reas
{ -- transactionQualificationUser = quid
transactionQualification = qid
, transactionUser = uid
, transactionQualificationBlock = error "TODO" -- CONTINUE HERE
, transactionQualificationBlock = error "TODO" -- CONTINUE HERE !!! --
}
return $ fromIntegral $ length toChange