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:
File diff suppressed because it is too large
Load Diff
@@ -10,6 +10,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog (
|
||||
id_dog INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, name VARCHAR(250) NOT NULL
|
||||
, appearance VARCHAR(1000)
|
||||
, mass_kg DECIMAL(7, 3)
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
/*
|
||||
Must remove existing Temp Ids from DOG_Command_Category before dropping table!
|
||||
|
||||
*/
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
|
||||
@@ -10,6 +10,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Category (
|
||||
id_command_category INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, name VARCHAR(250) NOT NULL
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
/*
|
||||
Must remove existing Temp Ids from DOG_Command_Category before dropping table!
|
||||
|
||||
DROP TABLE fetchmetrics.DOG_Command_Category_Temp
|
||||
*/
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
|
||||
@@ -10,7 +10,8 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Location (
|
||||
id_location INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_locaiton_parent INT
|
||||
, id_temp INT
|
||||
, id_location_parent INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, name VARCHAR(250) NOT NULL
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
/*
|
||||
Must remove existing Temp Ids from DOG_Command_Category before dropping table!
|
||||
|
||||
DROP TABLE fetchmetrics.DOG_Location_Temp;
|
||||
|
||||
*/
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
|
||||
@@ -10,6 +10,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Button_Shape (
|
||||
id_button_shape INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, name VARCHAR(250) NOT NULL
|
||||
, notes TEXT
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
/*
|
||||
Must remove existing Temp Ids from DOG_Button_Shape_Temp before dropping table!
|
||||
|
||||
DROP TABLE fetchmetrics.DOG_Button_Shape_Temp;
|
||||
|
||||
*/
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
|
||||
@@ -10,6 +10,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Image (
|
||||
id_image INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, id_file_type INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Image_id_file_type
|
||||
FOREIGN KEY (id_file_type)
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
/*
|
||||
Must remove existing Temp Ids from DOG_Image_Temp before dropping table!
|
||||
|
||||
DROP TABLE fetchmetrics.DOG_Image_Temp;
|
||||
|
||||
*/
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
|
||||
@@ -10,6 +10,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Type (
|
||||
id_type INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, name VARCHAR(250) NOT NULL
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
/*
|
||||
Must remove existing Temp Ids from DOG_Distraction_Type_Temp before dropping table!
|
||||
|
||||
DROP TABLE fetchmetrics.DOG_Distraction_Type_Temp;
|
||||
|
||||
*/
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
|
||||
@@ -10,6 +10,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Intensity_Level (
|
||||
id_intensity_level INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, name VARCHAR(250) NOT NULL
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
/*
|
||||
Must remove existing Temp Ids from DOG_Distraction_Type_Temp before dropping table!
|
||||
|
||||
DROP TABLE fetchmetrics.DOG_Distraction_Type_Temp;
|
||||
|
||||
*/
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
|
||||
@@ -10,6 +10,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Bribe (
|
||||
id_bribe INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, name VARCHAR(250) NOT NULL
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
/*
|
||||
Must remove existing Temp Ids from DOG_Bribe_Temp before dropping table!
|
||||
|
||||
DROP TABLE fetchmetrics.DOG_Bribe_Temp;
|
||||
|
||||
*/
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
|
||||
@@ -10,6 +10,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Response_Quality_Metric (
|
||||
id_metric INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, id_unit_measurement INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Response_Quality_Metric_id_unit_measurement
|
||||
FOREIGN KEY (id_unit_measurement)
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
/*
|
||||
Must remove existing Temp Ids from DOG_Response_Quality_Metric_Temp before dropping table!
|
||||
|
||||
DROP TABLE fetchmetrics.DOG_Response_Quality_Metric_Temp;
|
||||
|
||||
*/
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
|
||||
@@ -10,6 +10,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Obedience_Level (
|
||||
id_obedience_level INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, name VARCHAR(250) NOT NULL
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
/*
|
||||
Must remove existing Temp Ids from DOG_Obedience_Level_Temp before dropping table!
|
||||
|
||||
DROP TABLE fetchmetrics.DOG_Obedience_Level_Temp;
|
||||
|
||||
*/
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
|
||||
216
static/MySQL/70518_p_dog_save_new_founding_partner.sql
Normal file
216
static/MySQL/70518_p_dog_save_new_founding_partner.sql
Normal file
@@ -0,0 +1,216 @@
|
||||
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS p_dog_save_new_founding_partner;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE p_dog_save_new_founding_partner (
|
||||
IN a_comment VARCHAR(500)
|
||||
, IN a_guid BINARY(36)
|
||||
, IN a_id_user_auth0 VARCHAR(256)
|
||||
, IN a_email_user VARCHAR(256)
|
||||
, IN a_debug BIT
|
||||
)
|
||||
BEGIN
|
||||
DECLARE v_code_type_error_bad_data VARCHAR(100);
|
||||
DECLARE v_id_access_level_edit INT;
|
||||
DECLARE v_id_change_set INT;
|
||||
DECLARE v_id_permission_product INT;
|
||||
DECLARE v_id_permission_user_edit INT;
|
||||
DECLARE v_id_role_manager INT;
|
||||
DECLARE v_is_super_user BIT;
|
||||
DECLARE v_id_type_error_bad_data INT;
|
||||
DECLARE v_can_edit_user BIT;
|
||||
DECLARE v_priority_access_level_admin INT;
|
||||
DECLARE v_priority_access_level_none INT;
|
||||
DECLARE v_priority_access_level_user INT;
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
|
||||
DECLARE exit handler for SQLEXCEPTION
|
||||
BEGIN
|
||||
GET DIAGNOSTICS CONDITION 1
|
||||
@sqlstate = RETURNED_SQLSTATE
|
||||
, @errno = MYSQL_ERRNO
|
||||
, @text = MESSAGE_TEXT
|
||||
;
|
||||
|
||||
ROLLBACK;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM fetchmetrics.CORE_Msg_Error_Type MET
|
||||
WHERE MET.code = 'MYSQL_ERROR'
|
||||
;
|
||||
SELECT *
|
||||
FROM tmp_Msg_Error;
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error;
|
||||
END;
|
||||
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
SET v_id_permission_user_edit := (SELECT GROUP_CONCAT(PERMISSION.id_permission SEPARATOR ',') FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'USER_CREATE' LIMIT 1);
|
||||
SET v_priority_access_level_admin := (SELECT ACCESS_LEVEL.priority FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'ADMIN' LIMIT 1);
|
||||
SET v_priority_access_level_none := (SELECT ACCESS_LEVEL.priority FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'NONE' LIMIT 1);
|
||||
SET v_id_role_manager := (SELECT ROLES.id_role FROM fetchmetrics.DOG_Role ROLES WHERE ROLES.code = 'COMPANY_MANAGER' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TABLE IF EXISTS tmp_User_Save_User;
|
||||
|
||||
CREATE TABLE tmp_User_Save_User (
|
||||
id_user INT NOT NULL
|
||||
, id_role INT
|
||||
, id_user_auth0 VARCHAR(250)
|
||||
, firstname VARCHAR(250)
|
||||
, surname VARCHAR(250)
|
||||
, email VARCHAR(254)
|
||||
, is_email_verified BIT DEFAULT 0
|
||||
, is_super_user BIT DEFAULT 0
|
||||
, active BIT DEFAULT 1
|
||||
, name_error VARCHAR(1000)
|
||||
);
|
||||
|
||||
CREATE TABLE tmp_Msg_Error (
|
||||
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
id_type INT NOT NULL,
|
||||
code VARCHAR(250) NOT NULL,
|
||||
msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM fetchmetrics.PH_Apply_Founding_Partner_Form AFPF WHERE AFPF.email = a_email_user) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, MET.code
|
||||
, 'Founding Partner not found.'
|
||||
FROM fetchmetrics.CORE_Msg_Error_Type MET
|
||||
WHERE MET.id_type = v_id_type_error_bad_data
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Get data from Temp table
|
||||
INSERT INTO tmp_User_Save_User (
|
||||
id_user
|
||||
, id_user_auth0
|
||||
, id_role
|
||||
, email
|
||||
, firstname
|
||||
, surname
|
||||
, name_error
|
||||
)
|
||||
VALUES (
|
||||
-1 -- AS id_user
|
||||
, a_id_user_auth0
|
||||
, v_id_role_manager
|
||||
, a_email_user
|
||||
, (SELECT LEFT(AFPF.name_contact, LOCATE(' ', AFPF.name_contact) - 1) FROM fetchmetrics.PH_Apply_Founding_Partner_Form AFPF WHERE AFPF.email = a_email_user) -- AS firstname
|
||||
, (SELECT SUBSTRING(AFPF.name_contact, LOCATE(' ', AFPF.name_contact) + 1) FROM fetchmetrics.PH_Apply_Founding_Partner_Form AFPF WHERE AFPF.email = a_email_user) -- AS surname
|
||||
, COALESCE(a_email_user, a_id_user_auth0) -- AS name_error
|
||||
);
|
||||
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
|
||||
START TRANSACTION;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_User (
|
||||
id_user_auth0
|
||||
, firstname
|
||||
, surname
|
||||
, email
|
||||
, is_email_verified
|
||||
, is_super_user
|
||||
, active
|
||||
)
|
||||
SELECT
|
||||
t_USER.id_user_auth0
|
||||
, t_USER.firstname
|
||||
, t_USER.surname
|
||||
, t_USER.email
|
||||
, t_USER.is_email_verified
|
||||
, t_USER.is_super_user
|
||||
, t_USER.active
|
||||
FROM tmp_User_Save_User t_USER
|
||||
;
|
||||
|
||||
UPDATE tmp_User_Save_User t_USER
|
||||
INNER JOIN fetchmetrics.DOG_User USER ON t_USER.id_user_auth0 = USER.id_user_auth0
|
||||
SET t_USER.id_user = USER.id_user
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_User_Role_Link (
|
||||
id_role
|
||||
, id_user
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_USER.id_role
|
||||
, t_USER.id_user
|
||||
, 1 -- active
|
||||
, t_USER.id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_User_Save_User t_USER
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
# Errors
|
||||
SELECT *
|
||||
FROM tmp_Msg_Error t_ME
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * from tmp_User_Save_User;
|
||||
END IF;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TABLE IF EXISTS tmp_User_Save_User;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.PH_Apply_Founding_Partner_Form;
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_User;
|
||||
|
||||
CALL fetchmetrics.p_dog_save_new_founding_partner (
|
||||
'Test' -- a_comment
|
||||
, 'lipsandchipsanddipslipsandchipsanddi' -- a_guid
|
||||
, 'nipples' -- id_user-auth0
|
||||
, 'edwardmanic.ms@gmail.com' -- email -- 'teddy@demoltd.co.uk'
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_User;
|
||||
459
static/MySQL/71002_p_dog_save_dog.sql
Normal file
459
static/MySQL/71002_p_dog_save_dog.sql
Normal file
@@ -0,0 +1,459 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_dog;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_save_dog (
|
||||
IN a_comment VARCHAR(500),
|
||||
IN a_guid BINARY(36),
|
||||
IN a_id_user INT,
|
||||
IN a_debug BIT
|
||||
)
|
||||
BEGIN
|
||||
DECLARE v_can_admin BIT;
|
||||
DECLARE v_can_create BIT;
|
||||
DECLARE v_code_type_error_bad_data VARCHAR(100);
|
||||
DECLARE v_id_access_level_edit INT;
|
||||
DECLARE v_id_access_level_view INT;
|
||||
DECLARE v_id_change_set INT;
|
||||
DECLARE v_id_permission_dog_edit INT;
|
||||
DECLARE v_id_type_error_bad_data INT;
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
|
||||
DECLARE exit handler for SQLEXCEPTION
|
||||
BEGIN
|
||||
GET DIAGNOSTICS CONDITION 1
|
||||
@sqlstate = RETURNED_SQLSTATE
|
||||
, @errno = MYSQL_ERRNO
|
||||
, @text = MESSAGE_TEXT
|
||||
;
|
||||
|
||||
ROLLBACK;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
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 t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error;
|
||||
END;
|
||||
|
||||
SET SESSION group_concat_max_len=15000;
|
||||
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_permission_dog_edit := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Dog;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Dog (
|
||||
id_temp INT
|
||||
, id_dog INT
|
||||
, name VARCHAR(250)
|
||||
, appearance VARCHAR(1000)
|
||||
, mass_kg DECIMAL(7, 3)
|
||||
, notes TEXT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
, name_error VARCHAR(250)
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
|
||||
-- Get data from Temp table
|
||||
INSERT INTO tmp_Dog (
|
||||
id_temp
|
||||
, id_dog
|
||||
, name
|
||||
, appearance
|
||||
, mass_kg
|
||||
, notes
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
DOG_T.id_temp
|
||||
, COALESCE(DOG.id_dog, DOG_T.id_dog) AS id_dog
|
||||
, COALESCE(
|
||||
DOG_T.name
|
||||
, DOG.name
|
||||
) AS name
|
||||
, COALESCE(
|
||||
DOG_T.appearance
|
||||
, DOG.appearance
|
||||
) AS appearance
|
||||
, COALESCE(
|
||||
DOG_T.mass_kg
|
||||
, DOG.mass_kg
|
||||
) AS mass_kg
|
||||
, COALESCE(
|
||||
DOG_T.notes
|
||||
, DOG.notes
|
||||
) AS notes
|
||||
, COALESCE(DOG_T.active, 1) AS active
|
||||
, CASE WHEN IFNULL(DOG_T.id_dog, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Dog_Temp DOG_T
|
||||
LEFT JOIN fetchmetrics.DOG_Dog DOG ON DOG_T.id_dog = DOG.id_dog
|
||||
WHERE DOG_T.guid = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Dog_Temp records';
|
||||
SELECT * FROM tmp_Dog;
|
||||
SELECT COUNT(*) FROM tmp_Dog;
|
||||
END IF;
|
||||
|
||||
-- Error names
|
||||
UPDATE tmp_Dog t_DOG
|
||||
SET t_DOG.name_error = COALESCE(t_DOG.code, t_DOG.name, t_DOG.id_dog, '(No Dog)')
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After set name_error';
|
||||
SELECT * FROM tmp_Dog;
|
||||
SELECT COUNT(*) FROM tmp_Dog;
|
||||
END IF;
|
||||
|
||||
/*
|
||||
-- Missing Dog Ids
|
||||
UPDATE tmp_Dog t_DOG
|
||||
LEFT JOIN fetchmetrics.DOG_Dog DOG ON t_DOG.code = DOG.code
|
||||
SET
|
||||
t_DOG.id_dog = DOG.id_dog
|
||||
, t_DOG.is_new = 0
|
||||
WHERE
|
||||
IFNULL(t_DOG.id_dog, 0) < 1
|
||||
AND NOT ISNULL(DOG.id_dog)
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After set missing id_dog';
|
||||
SELECT * FROM tmp_Dog;
|
||||
SELECT COUNT(*) FROM tmp_Dog;
|
||||
END IF;
|
||||
*/
|
||||
|
||||
-- Validation
|
||||
-- Missing mandatory fields
|
||||
-- name
|
||||
IF EXISTS ( SELECT * FROM tmp_Dog t_DOG WHERE t_DOG.name IS NULL ) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog(s) do not have a valid Name: ', GROUP_CONCAT(t_DOG.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Dog t_DOG
|
||||
WHERE t_DOG.name IS NULL
|
||||
;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Permissions
|
||||
-- Can Create
|
||||
CALL fetchmetrics.p_dog_calc_user_access(
|
||||
a_guid
|
||||
, 0 -- get_all_user
|
||||
, 0 -- get_inactive_user
|
||||
, a_id_user -- ids_user
|
||||
, '' -- a_auth0_ids_user
|
||||
, '' -- a_names_user
|
||||
, '' -- a_emails_user
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 0 -- a_require_any_non_id_search_filters_met
|
||||
, v_id_permission_dog_edit -- ids_permission
|
||||
, v_id_access_level_edit -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
SELECT
|
||||
IFNULL(CU_T.has_access, 0)
|
||||
INTO
|
||||
v_can_create
|
||||
FROM fetchmetrics.DOG_Calc_User_Access_Temp CU_T
|
||||
WHERE CU_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
IF v_can_create = 0 THEN
|
||||
DELETE t_ME
|
||||
FROM tmp_Msg_Error t_ME
|
||||
WHERE t_ME.id_type <> v_id_type_error_no_permission
|
||||
;
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to edit Dogs.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * from tmp_Dog;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Dog;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
START TRANSACTION;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Dog_Change_Set (
|
||||
comment
|
||||
, id_user_updated_last_by
|
||||
, updated_last_on
|
||||
)
|
||||
VALUES (
|
||||
a_comment
|
||||
, a_id_user
|
||||
, v_time_start
|
||||
)
|
||||
;
|
||||
|
||||
SET v_id_change_set := LAST_INSERT_ID();
|
||||
|
||||
UPDATE fetchmetrics.DOG_Dog DOG
|
||||
INNER JOIN tmp_Dog t_DOG
|
||||
ON DOG.id_dog = t_DOG.id_dog
|
||||
AND t_DOG.is_new = 0
|
||||
SET
|
||||
DOG.name = t_DOG.name
|
||||
, DOG.appearance = t_DOG.appearance
|
||||
, DOG.mass_kg = t_DOG.mass_kg
|
||||
, DOG.notes = t_DOG.notes
|
||||
, DOG.active = t_DOG.active
|
||||
, DOG.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Dog t_DOG
|
||||
WHERE
|
||||
t_DOG.is_new = 1
|
||||
AND t_DOG.active = 1
|
||||
LIMIT 1
|
||||
) THEN
|
||||
INSERT INTO fetchmetrics.DOG_Dog (
|
||||
id_temp
|
||||
, name
|
||||
, appearance
|
||||
, mass_kg
|
||||
, notes
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_DOG.id_temp AS id_temp
|
||||
, t_DOG.name AS name
|
||||
, t_DOG.appearance AS appearance
|
||||
, t_DOG.mass_kg AS mass_kg
|
||||
, t_DOG.notes AS notes
|
||||
, t_DOG.active AS active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Dog t_DOG
|
||||
WHERE
|
||||
t_DOG.is_new = 1
|
||||
AND t_DOG.active = 1
|
||||
;
|
||||
|
||||
UPDATE tmp_Dog t_DOG
|
||||
INNER JOIN fetchmetrics.DOG_Dog DOG ON t_DOG.id_temp = DOG.id_temp
|
||||
SET t_DOG.id_dog = DOG.id_dog
|
||||
WHERE
|
||||
t_DOG.is_new = 1
|
||||
AND t_DOG.active = 1
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Dog_User_Link (
|
||||
id_dog
|
||||
, id_user
|
||||
, id_access_level
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_DOG.id_dog
|
||||
, a_id_user
|
||||
, v_id_access_level_view
|
||||
, 1 -- active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Dog t_DOG
|
||||
WHERE
|
||||
t_DOG.is_new = 1
|
||||
AND t_DOG.active = 1
|
||||
;
|
||||
END IF;
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE FROM fetchmetrics.DOG_Dog_Temp
|
||||
WHERE GUID = a_guid
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- Errors
|
||||
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 t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Dog;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE tmp_Dog;
|
||||
DROP TEMPORARY TABLE tmp_Msg_Error;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
'ripplesipplenippletippledipplekipple'
|
||||
DELETE FROM fetchmetrics.DOG_Dog_Audit WHERE id_dog > 740;
|
||||
DELETE FROM fetchmetrics.DOG_Dog WHERE id_dog > 740;
|
||||
* /
|
||||
delete
|
||||
from fetchmetrics.DOG_Dog_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Dog_Temp
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Dog_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Dog
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Dog
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Dog_Temp (
|
||||
id_dog
|
||||
, code
|
||||
, name
|
||||
, active
|
||||
, guid
|
||||
)
|
||||
VALUES (
|
||||
-1 -- id_dog
|
||||
, 'ACTIVITIES' -- code
|
||||
, 'A Sport Is Fun' -- name
|
||||
, 1 -- active
|
||||
, 'ripplesipplenippletippledipplekipple'
|
||||
);
|
||||
|
||||
CALL fetchmetrics.p_dog_save_dog (
|
||||
'nipples'
|
||||
, 'ripplesipplenippletippledipplekipple'
|
||||
, 1
|
||||
, 1
|
||||
);
|
||||
|
||||
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Dog_Temp
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Dog_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Dog
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Dog
|
||||
;
|
||||
|
||||
*/
|
||||
@@ -15,8 +15,9 @@ BEGIN
|
||||
DECLARE v_can_create BIT;
|
||||
DECLARE v_code_type_error_bad_data VARCHAR(100);
|
||||
DECLARE v_id_access_level_edit INT;
|
||||
DECLARE v_id_access_level_view INT;
|
||||
DECLARE v_id_change_set INT;
|
||||
DECLARE v_id_permission_dog_new INT;
|
||||
DECLARE v_id_permission_command_edit INT;
|
||||
DECLARE v_id_type_error_bad_data INT;
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
|
||||
@@ -72,8 +73,9 @@ BEGIN
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_permission_command_edit := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'COMMAND_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
@@ -123,6 +125,7 @@ BEGIN
|
||||
, COALESCE(
|
||||
COMMAND_CATEGORY_T.code
|
||||
, COMMAND_CATEGORY.code
|
||||
, UPPER(COMMAND_CATEGORY_T.name)
|
||||
) AS code
|
||||
, COALESCE(
|
||||
COMMAND_CATEGORY_T.name
|
||||
@@ -361,7 +364,7 @@ BEGIN
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 0 -- a_require_any_non_id_search_filters_met
|
||||
, v_id_permission_dog_new -- ids_permission
|
||||
, v_id_permission_command_edit -- ids_permission
|
||||
, v_id_access_level_edit -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
@@ -435,25 +438,64 @@ BEGIN
|
||||
, COMMAND_CATEGORY.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Command_Category (
|
||||
code
|
||||
, name
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_COMMAND_CATEGORY.code AS code
|
||||
, t_COMMAND_CATEGORY.name AS name
|
||||
, t_COMMAND_CATEGORY.active AS active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Command_Category t_COMMAND_CATEGORY
|
||||
WHERE
|
||||
t_COMMAND_CATEGORY.is_new = 1
|
||||
AND t_COMMAND_CATEGORY.active = 1
|
||||
;
|
||||
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Command_Category t_COMMAND_CATEGORY
|
||||
WHERE
|
||||
t_COMMAND_CATEGORY.is_new = 1
|
||||
AND t_COMMAND_CATEGORY.active = 1
|
||||
LIMIT 1
|
||||
) THEN
|
||||
INSERT INTO fetchmetrics.DOG_Command_Category (
|
||||
id_temp
|
||||
, code
|
||||
, name
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_COMMAND_CATEGORY.id_temp AS id_temp
|
||||
, t_COMMAND_CATEGORY.code AS code
|
||||
, t_COMMAND_CATEGORY.name AS name
|
||||
, t_COMMAND_CATEGORY.active AS active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Command_Category t_COMMAND_CATEGORY
|
||||
WHERE
|
||||
t_COMMAND_CATEGORY.is_new = 1
|
||||
AND t_COMMAND_CATEGORY.active = 1
|
||||
;
|
||||
|
||||
UPDATE tmp_Command_Category t_COMMAND_CATEGORY
|
||||
INNER JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON t_COMMAND_CATEGORY.id_temp = COMMAND_CATEGORY.id_temp
|
||||
SET t_COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY.id_command_category
|
||||
WHERE
|
||||
t_COMMAND_CATEGORY.is_new = 1
|
||||
AND t_COMMAND_CATEGORY.active = 1
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Command_Category_User_Link (
|
||||
id_command_category
|
||||
, id_user
|
||||
, id_access_level
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_COMMAND_CATEGORY.id_command_category
|
||||
, a_id_user
|
||||
, v_id_access_level_view
|
||||
, 1 -- active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Command_Category t_COMMAND_CATEGORY
|
||||
WHERE
|
||||
t_COMMAND_CATEGORY.is_new = 1
|
||||
AND t_COMMAND_CATEGORY.active = 1
|
||||
;
|
||||
END IF;
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
@@ -484,6 +526,7 @@ BEGIN
|
||||
SELECT * FROM tmp_Command_Category;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE tmp_Command_Category_Copy;
|
||||
DROP TEMPORARY TABLE tmp_Command_Category;
|
||||
DROP TEMPORARY TABLE tmp_Msg_Error;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -450,26 +450,66 @@ BEGIN
|
||||
, LOCATIONS.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Location (
|
||||
id_location_parent
|
||||
, code
|
||||
, name
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_LOCATIONS.id_location_parent AS id_location_parent
|
||||
, t_LOCATIONS.code AS code
|
||||
, t_LOCATIONS.name AS name
|
||||
, t_LOCATIONS.active AS active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Location t_LOCATIONS
|
||||
WHERE
|
||||
t_LOCATIONS.is_new = 1
|
||||
AND t_LOCATIONS.active = 1
|
||||
;
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Location t_LOCATIONS
|
||||
WHERE
|
||||
t_LOCATIONS.is_new = 1
|
||||
AND t_LOCATIONS.active = 1
|
||||
LIMIT 1
|
||||
) THEN
|
||||
INSERT INTO fetchmetrics.DOG_Location (
|
||||
id_temp
|
||||
, id_location_parent
|
||||
, code
|
||||
, name
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_LOCATIONS.id_temp
|
||||
, t_LOCATIONS.id_location_parent AS id_location_parent
|
||||
, t_LOCATIONS.code AS code
|
||||
, t_LOCATIONS.name AS name
|
||||
, t_LOCATIONS.active AS active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Location t_LOCATIONS
|
||||
WHERE
|
||||
t_LOCATIONS.is_new = 1
|
||||
AND t_LOCATIONS.active = 1
|
||||
;
|
||||
|
||||
UPDATE tmp_Location t_LOCATIONS
|
||||
INNER JOIN fetchmetrics.DOG_Location LOCATIONS ON t_LOCATIONS.id_temp = LOCATIONS.id_temp
|
||||
SET t_LOCATIONS.id_location = LOCATIONS.id_location
|
||||
WHERE
|
||||
t_LOCATIONS.is_new = 1
|
||||
AND t_LOCATIONS.active = 1
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Location_User_Link (
|
||||
id_location
|
||||
, id_user
|
||||
, id_access_level
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_LOCATIONS.id_location
|
||||
, a_id_user
|
||||
, v_id_access_level_view
|
||||
, 1 -- active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Location t_LOCATIONS
|
||||
WHERE
|
||||
t_LOCATIONS.is_new = 1
|
||||
AND t_LOCATIONS.active = 1
|
||||
;
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
@@ -58,6 +58,8 @@ BEGIN
|
||||
;
|
||||
END;
|
||||
|
||||
SET a_id_user := NULLIF(a_id_user, 0);
|
||||
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_id_type_error_bad_data := (SELECT id_type FROM fetchmetrics.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
|
||||
|
||||
@@ -13,8 +13,9 @@ h2 {
|
||||
|
||||
.container.save.button-cancel {
|
||||
position: fixed;
|
||||
top: 10vh;
|
||||
right: 10vh;
|
||||
top: 1vh;
|
||||
right: 5vh;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
table.table-main tbody {
|
||||
|
||||
@@ -3,6 +3,13 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
.container.save.button-cancel {
|
||||
position: fixed;
|
||||
top: 1vh;
|
||||
right: 5vh;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.container-input {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
5
static/dist/css/dog_assessment.bundle.css
vendored
5
static/dist/css/dog_assessment.bundle.css
vendored
@@ -79,8 +79,9 @@ h2 {
|
||||
|
||||
.container.save.button-cancel {
|
||||
position: fixed;
|
||||
top: 10vh;
|
||||
right: 10vh;
|
||||
top: 1vh;
|
||||
right: 5vh;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
table.table-main tbody {
|
||||
|
||||
File diff suppressed because one or more lines are too long
7
static/dist/css/user_company.bundle.css
vendored
7
static/dist/css/user_company.bundle.css
vendored
@@ -70,6 +70,13 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
.container.save.button-cancel {
|
||||
position: fixed;
|
||||
top: 1vh;
|
||||
right: 5vh;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.container-input {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
2
static/dist/css/user_company.bundle.css.map
vendored
2
static/dist/css/user_company.bundle.css.map
vendored
@@ -1 +1 @@
|
||||
{"version":3,"file":"css/user_company.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;;AAGA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;AACf;IACI,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;;AChEA;IACI,aAAa;AACjB;;AAEA;IACI,cAAc;AAClB;AACA;IACI,gBAAgB;IAChB,gBAAgB;AACpB;;AAEA;IACI,YAAY;AAChB,C","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/user/company.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n#pageBody {\n max-height: 88vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n#formFilters {\n display: none;\n}\n\n.container-input {\n margin: 0 auto;\n}\n.container-input input {\n max-width: 250px;\n padding: 1vh 1vw;\n}\n\n.container-input textarea {\n width: 300px;\n}"],"names":[],"sourceRoot":""}
|
||||
{"version":3,"file":"css/user_company.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;;AAGA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;AACf;IACI,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,mBAAmB;QACnB,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;;AChEA;IACI,aAAa;AACjB;;AAEA;IACI,eAAe;IACf,QAAQ;IACR,UAAU;IACV,UAAU;AACd;;AAEA;IACI,cAAc;AAClB;AACA;IACI,gBAAgB;IAChB,gBAAgB;AACpB;;AAEA;IACI,YAAY;AAChB,C","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/user/company.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n#pageBody {\n max-height: 88vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0.75vh 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n#formFilters {\n display: none;\n}\n\n.container.save.button-cancel {\n position: fixed;\n top: 1vh;\n right: 5vh;\n z-index: 2;\n}\n\n.container-input {\n margin: 0 auto;\n}\n.container-input input {\n max-width: 250px;\n padding: 1vh 1vw;\n}\n\n.container-input textarea {\n width: 300px;\n}"],"names":[],"sourceRoot":""}
|
||||
Reference in New Issue
Block a user