Feat: 1. User-level access added to Dogs, Command Categories, Locations, Button Shapes, Images, Distraction Types, Distraction Intensity Levels, Bribes, Response Quality Metrics, Obedience Levels. \n 2. New user (Founding Partner) creation setup in database and front-end but front-end not tested.
This commit is contained in:
@@ -78,20 +78,21 @@ BEGIN
|
||||
FROM fetchmetrics.CORE_Msg_Error_Type MET
|
||||
WHERE MET.code = 'MYSQL_ERROR'
|
||||
;
|
||||
|
||||
SELECT
|
||||
t_ERROR.id_error
|
||||
, t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error_Calc_Command t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
IF a_show_errors = 1 THEN
|
||||
SELECT
|
||||
t_ERROR.id_error
|
||||
, t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error_Calc_Command t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
END IF;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Command;
|
||||
END;
|
||||
@@ -343,7 +344,7 @@ BEGIN
|
||||
, v_id_permission_command_view -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, a_debug -- a_debug
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
@@ -362,7 +363,7 @@ BEGIN
|
||||
, v_id_permission_command_view -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, a_debug -- a_debug
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Calc_User_Access_Calc_Command (
|
||||
@@ -410,7 +411,7 @@ BEGIN
|
||||
|
||||
-- Command Categories
|
||||
IF v_has_filter_command_category_id = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_ids_command_category, ',', a_debug);
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_ids_command_category, ',', 0);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
@@ -431,7 +432,7 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
IF v_has_filter_command_category_name = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_names_command_category, ',', a_debug);
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_names_command_category, ',', 0);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
@@ -584,7 +585,7 @@ BEGIN
|
||||
(
|
||||
v_has_filter_command_category_name = 0
|
||||
)
|
||||
OR COMMAND_CATEGORY_FILTERS.does_meet_name_filter = 1
|
||||
OR COMMAND_CATEGORY_FILTERS.does_meet_name_filter = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY
|
||||
LEFT JOIN Command_Category_Filters COMMAND_CATEGORY_FILTERS ON COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY_FILTERS.id_command_category
|
||||
@@ -617,7 +618,7 @@ BEGIN
|
||||
|
||||
-- Commands
|
||||
IF v_has_filter_command_id = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_ids_command, ',', a_debug);
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_ids_command, ',', 0);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
@@ -638,7 +639,7 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
IF v_has_filter_command_name = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_names_command, ',', a_debug);
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_names_command, ',', 0);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
@@ -659,7 +660,7 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
IF v_has_filter_command_hand_signal_default_description = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_hand_signal_default_descriptions_command, ',', a_debug);
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_hand_signal_default_descriptions_command, ',', 0);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
@@ -680,7 +681,7 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
IF v_has_filter_command_notes = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_notes_command, ',', a_debug);
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_notes_command, ',', 0);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
@@ -958,14 +959,13 @@ BEGIN
|
||||
DELETE t_COMMAND
|
||||
FROM tmp_Command_Calc_Command t_COMMAND
|
||||
LEFT JOIN tmp_Command_Category_Calc_Command t_COMMAND_CATEGORY ON t_COMMAND.id_command_category = t_COMMAND_CATEGORY.id_command_category
|
||||
LEFT JOIN fetchmetrics.DOG_Command_Category_User_Link COMMAND_CATEGORY_USER_LINK ON t_COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY_USER_LINK.id_command_category
|
||||
LEFT JOIN tmp_Calc_User_Access_Calc_Command t_USER ON COMMAND_CATEGORY_USER_LINK.id_user = t_USER.id_user
|
||||
LEFT JOIN tmp_Calc_User_Access_Calc_Command t_USER ON t_COMMAND_CATEGORY.id_user = t_USER.id_user
|
||||
WHERE
|
||||
(
|
||||
a_require_all_id_search_filters_met = 1
|
||||
AND (
|
||||
t_COMMAND.does_meet_id_filters = 0
|
||||
OR t_COMMAND_CATEGORY.does_meet_id_filters = 0
|
||||
OR IFNULL(t_COMMAND_CATEGORY.does_meet_id_filters, 0) = 0
|
||||
OR IFNULL(t_USER.does_meet_id_filters, 0) = 0
|
||||
)
|
||||
)
|
||||
@@ -973,24 +973,24 @@ BEGIN
|
||||
a_require_all_non_id_search_filters_met = 1
|
||||
AND (
|
||||
t_COMMAND.does_meet_non_id_filters = 0
|
||||
OR t_COMMAND_CATEGORY.does_meet_non_id_filters = 0
|
||||
OR IFNULL(t_COMMAND_CATEGORY.does_meet_non_id_filters, 0) = 0
|
||||
OR IFNULL(t_USER.does_meet_non_id_filters, 0) = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND t_COMMAND.does_meet_id_filters = 0
|
||||
AND t_COMMAND_CATEGORY.does_meet_id_filters = 0
|
||||
AND IFNULL(t_COMMAND_CATEGORY.does_meet_id_filters, 0) = 0
|
||||
AND IFNULL(t_USER.does_meet_id_filters, 0) = 0
|
||||
)
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND t_COMMAND.does_meet_non_id_filters = 0
|
||||
AND t_COMMAND_CATEGORY.does_meet_non_id_filters = 0
|
||||
AND IFNULL(t_COMMAND_CATEGORY.does_meet_non_id_filters, 0) = 0
|
||||
AND IFNULL(t_USER.does_meet_non_id_filters, 0) = 0
|
||||
)
|
||||
;
|
||||
|
||||
/*
|
||||
WITH
|
||||
Category_And_Best_Command AS (
|
||||
SELECT
|
||||
@@ -1000,58 +1000,9 @@ BEGIN
|
||||
FROM tmp_Command_Calc_Command t_COMMAND
|
||||
GROUP BY t_COMMAND.id_command_category
|
||||
)
|
||||
/*
|
||||
, Command_Category_Access AS (
|
||||
SELECT
|
||||
COMMAND_CATEGORY.id_command_category
|
||||
, CASE WHEN
|
||||
v_is_super_user = 1
|
||||
OR (
|
||||
t_USER.id_user IS NOT NULL
|
||||
AND IFNULL(ACCESS_LEVEL.priority, v_priority_access_level_none) <= v_priority_access_level_view
|
||||
)
|
||||
THEN 1 ELSE 0 END AS can_user_access_command_category
|
||||
, ROW_NUMBER() OVER (
|
||||
PARTITION BY COMMAND_CATEGORY.id_command_category
|
||||
ORDER BY CASE WHEN
|
||||
v_is_super_user = 1
|
||||
OR (
|
||||
t_USER.id_user IS NOT NULL
|
||||
AND IFNULL(ACCESS_LEVEL.priority, v_priority_access_level_none) <= v_priority_access_level_view
|
||||
)
|
||||
THEN 1 ELSE 0 END DESC
|
||||
) AS index_link_in_command_category
|
||||
, t_USER.does_meet_id_filters AS does_user_meet_id_filters
|
||||
, t_USER.does_meet_non_id_filters AS does_user_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY
|
||||
LEFT JOIN fetchmetrics.DOG_Command_Category_User_Link COMMAND_CATEGORY_USER_LINK
|
||||
ON COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY_USER_LINK.id_command_category
|
||||
AND (
|
||||
(
|
||||
a_get_inactive_command_category = 1
|
||||
AND a_get_inactive_user = 1
|
||||
)
|
||||
OR COMMAND_CATEGORY_USER_LINK.active = 1
|
||||
)
|
||||
LEFT JOIN tmp_Calc_User_Access_Calc_Command t_USER
|
||||
ON COMMAND_CATEGORY_USER_LINK.id_user = t_USER.id_user
|
||||
AND (
|
||||
a_get_inactive_user = 1
|
||||
OR t_USER.active = 1
|
||||
)
|
||||
LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL
|
||||
ON COMMAND_CATEGORY_USER_LINK.id_access_level = ACCESS_LEVEL.id_access_level
|
||||
AND ACCESS_LEVEL.active = 1
|
||||
)
|
||||
*/
|
||||
SELECT *
|
||||
DELETE t_COMMAND_CATEGORY -- SELECT *
|
||||
FROM tmp_Command_Category_Calc_Command t_COMMAND_CATEGORY
|
||||
LEFT JOIN Category_And_Best_Command CATEGORY_BEST ON t_COMMAND_CATEGORY.id_command_category = CATEGORY_BEST.id_command_category
|
||||
/*
|
||||
LEFT JOIN Command_Category_Access COMMAND_CATEGORY_ACCESS
|
||||
ON t_COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY_ACCESS.id_command_category
|
||||
AND COMMAND_CATEGORY_ACCESS.index_link_in_command_category = 1
|
||||
*/
|
||||
LEFT JOIN tmp_Calc_User_Access_Calc_Command t_USER ON t_COMMAND_CATEGORY.id_user = t_USER.id_user
|
||||
WHERE
|
||||
(
|
||||
@@ -1083,16 +1034,14 @@ BEGIN
|
||||
AND IFNULL(t_USER.does_meet_non_id_filters, 0) = 0
|
||||
)
|
||||
;
|
||||
*/
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After filter Commands and Categories';
|
||||
-- SELECT * FROM tmp_Command_Category_Calc_Command;
|
||||
-- SELECT * FROM tmp_Command_Calc_Command;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Before non-permitted data deletion';
|
||||
SELECT '(&) Before non-permitted data deletion';
|
||||
SELECT * FROM tmp_Command_Category_Calc_Command;
|
||||
SELECT * FROM tmp_Command_Calc_Command;
|
||||
SELECT * FROM tmp_Msg_Error_Calc_Command;
|
||||
|
||||
Reference in New Issue
Block a user