chore(avs): auto licence synch preview show AVS-No as well
This commit is contained in:
parent
ab8b17229a
commit
6ffc49ae0e
@ -283,7 +283,7 @@ postAdminAvsR = do
|
|||||||
(f_set , fs_size) = showLics AvsLicenceVorfeld
|
(f_set , fs_size) = showLics AvsLicenceVorfeld
|
||||||
(revoke , rv_size) = showLics AvsNoLicence
|
(revoke , rv_size) = showLics AvsNoLicence
|
||||||
return $ Just [whamlet|
|
return $ Just [whamlet|
|
||||||
<h2>Licence check differences:
|
<h2>Licence check AVS-ID differences:
|
||||||
<dl .deflist>
|
<dl .deflist>
|
||||||
<dt .deflist__dt>Grant R (#{rg_size}):
|
<dt .deflist__dt>Grant R (#{rg_size}):
|
||||||
<dd .deflist__dd>#{r_grant}
|
<dd .deflist__dd>#{r_grant}
|
||||||
@ -308,7 +308,7 @@ postAdminAvsR = do
|
|||||||
let showApids apids
|
let showApids apids
|
||||||
| null apids = "[ ]"
|
| null apids = "[ ]"
|
||||||
| otherwise = Text.intercalate ", " (tshow <$> Set.toList apids)
|
| otherwise = Text.intercalate ", " (tshow <$> Set.toList apids)
|
||||||
procLic :: AvsLicence -> Bool -> Set AvsPersonId -> Html
|
procLic :: (Ord a, Show a) => AvsLicence -> Bool -> Set a -> Html
|
||||||
procLic aLic up apids
|
procLic aLic up apids
|
||||||
| n <- Set.size apids, n > 0 =
|
| n <- Set.size apids, n > 0 =
|
||||||
let subtype = Text.cons (bool '↧' '↥' up) $ Text.singleton $ licence2char aLic
|
let subtype = Text.cons (bool '↧' '↥' up) $ Text.singleton $ licence2char aLic
|
||||||
@ -349,18 +349,43 @@ postAdminAvsR = do
|
|||||||
l2 = guardMonoid (synchLevel >= 2) $ procLic AvsLicenceVorfeld True $ fltrIds avsLicenceDiffGrantVorfeld --grant Vorfeld
|
l2 = guardMonoid (synchLevel >= 2) $ procLic AvsLicenceVorfeld True $ fltrIds avsLicenceDiffGrantVorfeld --grant Vorfeld
|
||||||
l3 = guardMonoid (synchLevel >= 3) $ procLic AvsLicenceVorfeld False $ fltrIds avsLicenceDiffRevokeRollfeld --downgrade Rollfeld -> Vorfeld
|
l3 = guardMonoid (synchLevel >= 3) $ procLic AvsLicenceVorfeld False $ fltrIds avsLicenceDiffRevokeRollfeld --downgrade Rollfeld -> Vorfeld
|
||||||
l4 = guardMonoid (synchLevel >= 4) $ procLic AvsLicenceRollfeld True $ fltrIds avsLicenceDiffGrantRollfeld --grant Rollfeld
|
l4 = guardMonoid (synchLevel >= 4) $ procLic AvsLicenceRollfeld True $ fltrIds avsLicenceDiffGrantRollfeld --grant Rollfeld
|
||||||
return $ Just [shamlet|
|
avsIdChanges = [shamlet|
|
||||||
<h3>
|
<h3>
|
||||||
Next automatic AVS licence synchronisation:
|
Next automatic AVS-ID licence synchronisation:
|
||||||
<dl .deflist>
|
<dl .deflist>
|
||||||
^{l4}
|
^{l4}
|
||||||
^{l3}
|
^{l3}
|
||||||
^{l2}
|
^{l2}
|
||||||
^{l1}
|
^{l1}
|
||||||
$maybe reason <- reasonFilter
|
$maybe reason <- reasonFilter
|
||||||
<dt .deflist__dt>Filtered "#{reason}" (#{Set.size reasonFltrdIds}):
|
<dt .deflist__dt>Filtered "#{reason}" (#{Set.size reasonFltrdIds}):
|
||||||
<dd .deflist__dd>#{showApids reasonFltrdIds}
|
<dd .deflist__dd>#{showApids reasonFltrdIds}
|
||||||
|]
|
|]
|
||||||
|
----------------------------------------------------
|
||||||
|
-- translate AVS-IDs to AVS-NOs for convenience only
|
||||||
|
avsidnos <- runDBRead $ E.select $ do
|
||||||
|
ua <- X.from $ E.table @UserAvs
|
||||||
|
E.where_ $ ua E.^. UserAvsPersonId `E.in_` E.vals (Set.unions [avsLicenceDiffRevokeAll, avsLicenceDiffRevokeRollfeld, avsLicenceDiffGrantVorfeld, avsLicenceDiffGrantRollfeld]) -- , reasonFltrdIds])
|
||||||
|
return (ua E.^. UserAvsPersonId, ua E.^. UserAvsNoPerson)
|
||||||
|
let id2no = Map.fromList $ $(E.unValueN 2) <$> avsidnos
|
||||||
|
translate = setMapMaybe (`Map.lookup` id2no)
|
||||||
|
l1' = guardMonoid (synchLevel >= 1) $ procLic AvsNoLicence False $ translate $ fltrIds avsLicenceDiffRevokeAll --revoke Vorfeld and maybe also Rollfeld
|
||||||
|
l2' = guardMonoid (synchLevel >= 2) $ procLic AvsLicenceVorfeld True $ translate $ fltrIds avsLicenceDiffGrantVorfeld --grant Vorfeld
|
||||||
|
l3' = guardMonoid (synchLevel >= 3) $ procLic AvsLicenceVorfeld False $ translate $ fltrIds avsLicenceDiffRevokeRollfeld --downgrade Rollfeld -> Vorfeld
|
||||||
|
l4' = guardMonoid (synchLevel >= 4) $ procLic AvsLicenceRollfeld True $ translate $ fltrIds avsLicenceDiffGrantRollfeld --grant Rollfeld
|
||||||
|
autoNoDiffs = [shamlet|
|
||||||
|
<h3>
|
||||||
|
Next automatic licence changes translated to human readable AVS-Numbers, if known:
|
||||||
|
<dl .deflist>
|
||||||
|
^{l4'}
|
||||||
|
^{l3'}
|
||||||
|
^{l2'}
|
||||||
|
^{l1'}
|
||||||
|
$maybe reason <- reasonFilter
|
||||||
|
<dt .deflist__dt>Filtered "#{reason}" (#{Set.size reasonFltrdIds}):
|
||||||
|
<dd .deflist__dd>#{showApids $ translate reasonFltrdIds}
|
||||||
|
|]
|
||||||
|
return $ Just $ avsIdChanges <> autoNoDiffs
|
||||||
return (basediffs, autoDiffs)
|
return (basediffs, autoDiffs)
|
||||||
|
|
||||||
-- (Just BtnSynchLicences) -> do
|
-- (Just BtnSynchLicences) -> do
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user