Fix: Permissions.
This commit is contained in:
@@ -741,6 +741,7 @@ BEGIN
|
||||
User_Access_Level AS (
|
||||
SELECT
|
||||
USER.id_user
|
||||
, ROLE_PERMISSION_LINK.id_permission
|
||||
, MIN(IFNULL(ACCESS_LEVEL.priority, v_priority_access_level_none)) AS priority_access_level
|
||||
FROM fetchmetrics.DOG_User USER -- tmp_Calc_User_Access_Calc_User_Access t_CALC_USER_ACCESS
|
||||
LEFT JOIN fetchmetrics.DOG_User_Role_Link USER_ROLE_LINK
|
||||
@@ -752,28 +753,37 @@ BEGIN
|
||||
LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL
|
||||
ON ROLE_PERMISSION_LINK.id_access_level = ACCESS_LEVEL.id_access_level
|
||||
AND ACCESS_LEVEL.active = 1
|
||||
GROUP BY USER.id_user
|
||||
GROUP BY
|
||||
USER.id_user
|
||||
, ROLE_PERMISSION_LINK.id_permission
|
||||
)
|
||||
, User_Role_And_Access_Level AS (
|
||||
SELECT
|
||||
USER_ACCESS_LEVEL.id_user
|
||||
, USER_ACCESS_LEVEL.id_permission
|
||||
, USER_ACCESS_LEVEL.priority_access_level
|
||||
, ROLE_PERMISSION_LINK.id_role
|
||||
, ROW_NUMBER() OVER (PARTITION BY USER_ACCESS_LEVEL.id_user, USER_ACCESS_LEVEL.priority_access_level) AS index_link_in_user_and_priority_access_level
|
||||
, ROW_NUMBER() OVER (PARTITION BY USER_ACCESS_LEVEL.id_user, USER_ACCESS_LEVEL.id_permission ORDER BY USER_ACCESS_LEVEL.priority_access_level) AS index_link_in_user_and_permission
|
||||
FROM User_Access_Level USER_ACCESS_LEVEL
|
||||
LEFT JOIN fetchmetrics.DOG_User_Role_Link USER_ROLE_LINK
|
||||
ON USER_ACCESS_LEVEL.id_user = USER_ROLE_LINK.id_user
|
||||
AND USER_ROLE_LINK.active = 1
|
||||
/*
|
||||
LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL
|
||||
ON USER_ACCESS_LEVEL.priority_access_level = ACCESS_LEVEL.priority
|
||||
AND ACCESS_LEVEL.active = 1
|
||||
*/
|
||||
LEFT JOIN fetchmetrics.DOG_Role_Permission_Link ROLE_PERMISSION_LINK
|
||||
ON ACCESS_LEVEL.id_access_level = ROLE_PERMISSION_LINK.id_access_level
|
||||
AND USER_ROLE_LINK.id_role = ROLE_PERMISSION_LINK.id_role
|
||||
-- ON ACCESS_LEVEL.id_access_level = ROLE_PERMISSION_LINK.id_access_level
|
||||
ON USER_ROLE_LINK.id_role = ROLE_PERMISSION_LINK.id_role
|
||||
AND USER_ACCESS_LEVEL.id_permission = ROLE_PERMISSION_LINK.id_permission
|
||||
AND ROLE_PERMISSION_LINK.active = 1
|
||||
)
|
||||
UPDATE tmp_Calc_User_Access_Calc_User_Access t_CALC_USER_ACCESS
|
||||
INNER JOIN User_Role_And_Access_Level USER_ROLE_AND_ACCESS_LEVEL ON t_CALC_USER_ACCESS.id_user = USER_ROLE_AND_ACCESS_LEVEL.id_user
|
||||
INNER JOIN User_Role_And_Access_Level USER_ROLE_AND_ACCESS_LEVEL
|
||||
ON t_CALC_USER_ACCESS.id_user = USER_ROLE_AND_ACCESS_LEVEL.id_user
|
||||
AND USER_ROLE_AND_ACCESS_LEVEL.id_permission = v_id_permission_required
|
||||
AND USER_ROLE_AND_ACCESS_LEVEL.index_link_in_user_and_permission = 1
|
||||
SET
|
||||
t_CALC_USER_ACCESS.id_role = USER_ROLE_AND_ACCESS_LEVEL.id_role
|
||||
, t_CALC_USER_ACCESS.priority_access_level_user = USER_ROLE_AND_ACCESS_LEVEL.priority_access_level
|
||||
|
||||
Reference in New Issue
Block a user