Bladeren bron

Msgs create procedure for add unique msg, fix reload perms

Piotr Labudda 10 jaren geleden
bovenliggende
commit
00157c4e58
2 gewijzigde bestanden met toevoegingen van 133 en 108 verwijderingen
  1. 4 72
      SE/se-lib/Route/FixCrmProcesInitIdx.php
  2. 129 36
      SE/se-lib/Route/Msgs.php

+ 4 - 72
SE/se-lib/Route/FixCrmProcesInitIdx.php

@@ -1040,24 +1040,7 @@ SQL;
 					-- only when PARENT_ID changes and PARENT_ID exists in `CRM_PROCES_idx`
 					IF NEW.`PARENT_ID` IS NOT NULL AND NEW.`PARENT_ID`>0 AND (select count(*) from `CRM_PROCES_idx` where `ID_PROCES`=NEW.`PARENT_ID` limit 1)>0 THEN
 						-- throw warning to update perms
-						IF (select count(1) from `CRM_UI_MSGS` where `app_className`='FixCrmProcesInitIdx'
-									and `msg`='Update perms'
-									and `uiTargetType`='default_db_table'
-									and `uiTargetName`='CRM_PROCES'
-									and `A_STATUS`='WAITING'
-								) = 0 THEN
-							INSERT INTO `CRM_UI_MSGS` (`ID`
-									, `app_className`, `msg`, `msgType`
-									, `uiTargetType`, `uiTargetName`
-									, `userTargetType`
-									, `A_RECORD_CREATE_DATE`, `A_RECORD_CREATE_AUTHOR`)
-								VALUES (NULL
-									, 'FixCrmProcesInitIdx', 'Update perms', 'danger'
-									, 'default_db_table', 'CRM_PROCES'
-									, 'everyone'
-									, NOW(), coalesce(NEW.A_RECORD_UPDATE_AUTHOR,'trigger:FixCrmProcesInitIdx_CRM_PROCES_AFTER_INSERT')
-								);
-						END IF;
+						CALL CRM_UI_MSGS__addTableEveryoneUniqueMsg(coalesce(NEW.A_RECORD_CREATE_AUTHOR,':AFTER_INSERT'), 'FixCrmProcesInitIdx', 'danger', 'Update perms', 'CRM_PROCES');
 						-- UPDATE `P5-MSG:Route_FixCrmProcesInitIdx:ERROR: Update perms` SET x=1;
 					END IF;
 				END
@@ -1069,24 +1052,7 @@ SQL;
 					-- only when PARENT_ID changes and ID exists in `CRM_PROCES_idx`
 					IF NEW.`PARENT_ID`!=OLD.`PARENT_ID` AND (select count(*) from `CRM_PROCES_idx` where `ID_PROCES` in(NEW.`ID`, NEW.`PARENT_ID`, OLD.`PARENT_ID`) limit 1)>0 THEN
 						-- throw warning to update perms
-						IF (select count(1) from `CRM_UI_MSGS` where `app_className`='FixCrmProcesInitIdx'
-									and `msg`='Update perms'
-									and `uiTargetType`='default_db_table'
-									and `uiTargetName`='CRM_PROCES'
-									and `A_STATUS`='WAITING'
-								) = 0 THEN
-							INSERT INTO `CRM_UI_MSGS` (`ID`
-									, `app_className`, `msg`, `msgType`
-									, `uiTargetType`, `uiTargetName`
-									, `userTargetType`
-									, `A_RECORD_CREATE_DATE`, `A_RECORD_CREATE_AUTHOR`)
-								VALUES (NULL
-									, 'FixCrmProcesInitIdx', 'Update perms', 'danger'
-									, 'default_db_table', 'CRM_PROCES'
-									, 'everyone'
-									, NOW(), coalesce(NEW.A_RECORD_UPDATE_AUTHOR,'trigger:FixCrmProcesInitIdx_CRM_PROCES_AFTER_UPDATE')
-								);
-						END IF;
+						CALL CRM_UI_MSGS__addTableEveryoneUniqueMsg(coalesce(NEW.A_RECORD_UPDATE_AUTHOR,':AFTER_UPDATE'), 'FixCrmProcesInitIdx', 'danger', 'Update perms', 'CRM_PROCES');
 						-- UPDATE `P5-MSG:Route_FixCrmProcesInitIdx:ERROR: Update perms` SET x=1;
 					END IF;
 				END
@@ -1106,24 +1072,7 @@ SQL;
 							AND (select count(*) from `CRM_PRZYPADEK` przyp where przyp.`ID`=NEW.`ID_PRZYPADEK` and przyp.`FORM_TREAT` & 8 limit 1)>0
 						THEN
 						-- throw warning to update perms
-						IF (select count(1) from `CRM_UI_MSGS` where `app_className`='FixCrmProcesInitIdx'
-									and `msg`='Update perms'
-									and `uiTargetType`='default_db_table'
-									and `uiTargetName`='CRM_PROCES'
-									and `A_STATUS`='WAITING'
-								) = 0 THEN
-							INSERT INTO `CRM_UI_MSGS` (`ID`
-									, `app_className`, `msg`, `msgType`
-									, `uiTargetType`, `uiTargetName`
-									, `userTargetType`
-									, `A_RECORD_CREATE_DATE`, `A_RECORD_CREATE_AUTHOR`)
-								VALUES (NULL
-									, 'FixCrmProcesInitIdx', 'Update perms', 'danger'
-									, 'default_db_table', 'CRM_PROCES'
-									, 'everyone'
-									, NOW(), coalesce(NEW.A_RECORD_UPDATE_AUTHOR,'trigger:FixCrmProcesInitIdx_CRM_WSKAZNIK_AFTER_INSERT')
-								);
-						END IF;
+						CALL CRM_UI_MSGS__addTableEveryoneUniqueMsg(coalesce(NEW.A_RECORD_CREATE_AUTHOR,':AFTER_INSERT_WSK'), 'FixCrmProcesInitIdx', 'danger', 'Update perms', 'CRM_PROCES');
 						-- UPDATE `P5-MSG:Route_FixCrmProcesInitIdx:ERROR: Update perms` SET x=1;
 					END IF;
 				END
@@ -1152,24 +1101,7 @@ SQL;
 							AND (select count(*) from `CRM_PRZYPADEK` przyp where przyp.`ID` in(NEW.`ID_PRZYPADEK`,OLD.`ID_PRZYPADEK`) and przyp.`FORM_TREAT` & 8 limit 1)>0
 						THEN
 						-- throw warning to update perms
-						IF (select count(1) from `CRM_UI_MSGS` where `app_className`='FixCrmProcesInitIdx'
-									and `msg`='Update perms'
-									and `uiTargetType`='default_db_table'
-									and `uiTargetName`='CRM_PROCES'
-									and `A_STATUS`='WAITING'
-								) = 0 THEN
-							INSERT INTO `CRM_UI_MSGS` (`ID`
-									, `app_className`, `msg`, `msgType`
-									, `uiTargetType`, `uiTargetName`
-									, `userTargetType`
-									, `A_RECORD_CREATE_DATE`, `A_RECORD_CREATE_AUTHOR`)
-								VALUES (NULL
-									, 'FixCrmProcesInitIdx', 'Update perms', 'danger'
-									, 'default_db_table', 'CRM_PROCES'
-									, 'everyone'
-									, NOW(), coalesce(NEW.A_RECORD_UPDATE_AUTHOR,'trigger:FixCrmProcesInitIdx_CRM_WSKAZNIK_AFTER_UPDATE')
-								);
-						END IF;
+						CALL CRM_UI_MSGS__addTableEveryoneUniqueMsg(coalesce(NEW.A_RECORD_UPDATE_AUTHOR,':AFTER_UPDATE_WSK'), 'FixCrmProcesInitIdx', 'danger', 'Update perms', 'CRM_PROCES');
 						-- UPDATE `P5-MSG:Route_FixCrmProcesInitIdx:ERROR: Update perms` SET x=1;
 					END IF;
 				END

+ 129 - 36
SE/se-lib/Route/Msgs.php

@@ -108,45 +108,138 @@ BEGIN
 	CALL CRM_UI_MSGS__markAsExecuted(author, app_className, msg, 'default_db_table', uiTargetName, 'everyone', '');
 END
 SQL_QUERY;
-		$exampleFromCrmProcesInitIdx = <<<SQL_QUERY
-		CALL CRM_UI_MSGS__markTableEveryoneAsExecuted('update_proces_init_idx_rec','FixCrmProcesInitIdx','Update perms','CRM_PROCES');
-		update `CRM_UI_MSGS`
-			set `A_STATUS`='OFF_HARD'
-				, `actionExecutedTime`=NOW()
-				, `A_RECORD_UPDATE_DATE`=NOW()
-				, `A_RECORD_UPDATE_AUTHOR`='update_proces_init_idx_rec'
-			where `A_STATUS`='WAITING'
-				and `app_className`='FixCrmProcesInitIdx'
-				and `msg`='Update perms'
-				and `uiTargetType`='default_db_table'
-				and `uiTargetName`='CRM_PROCES'
-		;
+
+		$sqlList['RemoveProcedureAddUniqueMsg'] = "DROP PROCEDURE IF EXISTS `CRM_UI_MSGS__addUniqueMsg`";
+		$sqlList['InstallProcedureAddUniqueMsg'] = <<<SQL_QUERY
+CREATE DEFINER=`root`@`localhost` PROCEDURE `CRM_UI_MSGS__addUniqueMsg`(
+	IN author VARCHAR(40),
+	IN app_className VARCHAR(255),
+	IN msgType VARCHAR(16),
+	IN msg VARCHAR(255),
+	IN uiTargetType VARCHAR(255),
+	IN uiTargetName VARCHAR(255),
+	IN userTargetType VARCHAR(255),
+	IN userTargetName VARCHAR(255)
+)
+BEGIN
+	IF (select count(1)
+			from `CRM_UI_MSGS`
+			where `app_className`=app_className
+				and `msg`=msg
+				and `uiTargetType`=uiTargetType
+				and `uiTargetName`=uiTargetName
+				and `userTargetType`=userTargetType
+				and `userTargetName`=userTargetName
+				and `A_STATUS`='WAITING'
+			) = 0 THEN
+		INSERT INTO `CRM_UI_MSGS` (`ID`
+				, `app_className`, `msg`, `msgType`
+				, `uiTargetType`, `uiTargetName`
+				, `userTargetType`, `userTargetName`
+				, `A_RECORD_CREATE_DATE`, `A_RECORD_CREATE_AUTHOR`)
+			VALUES (NULL
+				, app_className, msg, msgType
+				, uiTargetType, uiTargetName
+				, userTargetType, userTargetName
+				, NOW(), author
+			);
+	END IF;
+END
 SQL_QUERY;
-		$exampleFromFixProjectPath = <<<SQL_QUERY
-		CALL CRM_UI_MSGS__markTableEveryoneAsExecuted('update_zasob_path_idx_rec','FixProjectPath','Update all paths','IN7_MK_BAZA_DYSTRYBUCJI');
-		update `CRM_UI_MSGS`
-			set `A_STATUS`='OFF_HARD'
-				, `actionExecutedTime`=NOW()
-				, `A_RECORD_UPDATE_DATE`=NOW()
-				, `A_RECORD_UPDATE_AUTHOR`='update_zasob_path_idx_rec'
-			where `A_STATUS`='WAITING'
-				and `app_className`='FixProjectPath'
-				and `msg`='Update all paths'
-				and `uiTargetType`='default_db_table'
-				and `uiTargetName`='IN7_MK_BAZA_DYSTRYBUCJI';
+		$sqlList['RemoveProcedureAddTableEveryoneUniqueMsg'] = "DROP PROCEDURE IF EXISTS `CRM_UI_MSGS__addTableEveryoneUniqueMsg`";
+		$sqlList['InstallProcedureAddTableEveryoneUniqueMsg'] = <<<SQL_QUERY
+CREATE DEFINER=`root`@`localhost` PROCEDURE `CRM_UI_MSGS__addTableEveryoneUniqueMsg`(
+	IN author VARCHAR(40),
+	IN app_className VARCHAR(255),
+	IN msgType VARCHAR(16),
+	IN msg VARCHAR(255),
+	IN uiTargetName VARCHAR(255)
+)
+BEGIN
+	CALL CRM_UI_MSGS__addUniqueMsg(author, app_className, msgType, msg, 'default_db_table', uiTargetName, 'everyone', '');
+END
 SQL_QUERY;
-		$exampleFromFixZasobPath = <<<SQL_QUERY
-		CALL CRM_UI_MSGS__markTableEveryoneAsExecuted('update_zasob_path_idx_rec','FixZasobPath','Update all paths','CRM_LISTA_ZASOBOW');
-		update `CRM_UI_MSGS`
-			set `A_STATUS`='OFF_HARD'
-				, `actionExecutedTime`=NOW()
-				, `A_RECORD_UPDATE_DATE`=NOW()
-				, `A_RECORD_UPDATE_AUTHOR`='update_zasob_path_idx_rec'
-			where `A_STATUS`='WAITING'
-				and `app_className`='FixZasobPath'
-				and `msg`='Update all paths'
+		$formFixCrmProcesIdx = <<<SQL_QUERY
+		CALL CRM_UI_MSGS__addUniqueMsg(coalesce(NEW.A_RECORD_UPDATE_AUTHOR,':AFTER_INSERT'), 'FixCrmProcesInitIdx', 'danger', 'Update perms', 'default_db_table', 'CRM_PROCES', 'everyone');
+		CALL CRM_UI_MSGS__addTableEveryoneUniqueMsg(coalesce(NEW.A_RECORD_CREATE_AUTHOR,':AFTER_INSERT'), 'FixCrmProcesInitIdx', 'danger', 'Update perms', 'CRM_PROCES');
+		IF (select count(1) from `CRM_UI_MSGS` where `app_className`='FixCrmProcesInitIdx'
+				and `msg`='Update perms'
 				and `uiTargetType`='default_db_table'
-				and `uiTargetName`='CRM_LISTA_ZASOBOW';
+				and `uiTargetName`='CRM_PROCES'
+				and `A_STATUS`='WAITING'
+			) = 0 THEN
+			INSERT INTO `CRM_UI_MSGS` (`ID`
+					, `app_className`, `msg`, `msgType`
+					, `uiTargetType`, `uiTargetName`
+					, `userTargetType`
+					, `A_RECORD_CREATE_DATE`, `A_RECORD_CREATE_AUTHOR`)
+				VALUES (NULL
+					, 'FixCrmProcesInitIdx', 'Update perms', 'danger'
+					, 'default_db_table', 'CRM_PROCES'
+					, 'everyone'
+					, NOW(), coalesce(NEW.A_RECORD_CREATE_AUTHOR,'trigger:FixCrmProcesInitIdx_CRM_PROCES_AFTER_INSERT')
+				);
+		END IF;
+
+		CALL CRM_UI_MSGS__addTableEveryoneUniqueMsg(coalesce(NEW.A_RECORD_UPDATE_AUTHOR,':AFTER_UPDATE'), 'FixCrmProcesInitIdx', 'danger', 'Update perms', 'CRM_PROCES');
+		IF (select count(1) from `CRM_UI_MSGS` where `app_className`='FixCrmProcesInitIdx'
+					and `msg`='Update perms'
+					and `uiTargetType`='default_db_table'
+					and `uiTargetName`='CRM_PROCES'
+					and `A_STATUS`='WAITING'
+				) = 0 THEN
+			INSERT INTO `CRM_UI_MSGS` (`ID`
+					, `app_className`, `msg`, `msgType`
+					, `uiTargetType`, `uiTargetName`
+					, `userTargetType`
+					, `A_RECORD_CREATE_DATE`, `A_RECORD_CREATE_AUTHOR`)
+				VALUES (NULL
+					, 'FixCrmProcesInitIdx', 'Update perms', 'danger'
+					, 'default_db_table', 'CRM_PROCES'
+					, 'everyone'
+					, NOW(), coalesce(NEW.A_RECORD_UPDATE_AUTHOR,'trigger:FixCrmProcesInitIdx_CRM_PROCES_AFTER_UPDATE')
+				);
+		END IF;
+
+		CALL CRM_UI_MSGS__addTableEveryoneUniqueMsg(coalesce(NEW.A_RECORD_CREATE_AUTHOR,':AFTER_INSERT_WSK'), 'FixCrmProcesInitIdx', 'danger', 'Update perms', 'CRM_PROCES');
+		IF (select count(1) from `CRM_UI_MSGS` where `app_className`='FixCrmProcesInitIdx'
+					and `msg`='Update perms'
+					and `uiTargetType`='default_db_table'
+					and `uiTargetName`='CRM_PROCES'
+					and `A_STATUS`='WAITING'
+				) = 0 THEN
+			INSERT INTO `CRM_UI_MSGS` (`ID`
+					, `app_className`, `msg`, `msgType`
+					, `uiTargetType`, `uiTargetName`
+					, `userTargetType`
+					, `A_RECORD_CREATE_DATE`, `A_RECORD_CREATE_AUTHOR`)
+				VALUES (NULL
+					, 'FixCrmProcesInitIdx', 'Update perms', 'danger'
+					, 'default_db_table', 'CRM_PROCES'
+					, 'everyone'
+					, NOW(), coalesce(NEW.A_RECORD_CREATE_AUTHOR,'trigger:FixCrmProcesInitIdx_CRM_WSKAZNIK_AFTER_INSERT')
+				);
+		END IF;
+
+		CALL CRM_UI_MSGS__addTableEveryoneUniqueMsg(coalesce(NEW.A_RECORD_UPDATE_AUTHOR,':AFTER_UPDATE_WSK'), 'FixCrmProcesInitIdx', 'danger', 'Update perms', 'CRM_PROCES');
+		IF (select count(1) from `CRM_UI_MSGS` where `app_className`='FixCrmProcesInitIdx'
+					and `msg`='Update perms'
+					and `uiTargetType`='default_db_table'
+					and `uiTargetName`='CRM_PROCES'
+					and `A_STATUS`='WAITING'
+				) = 0 THEN
+			INSERT INTO `CRM_UI_MSGS` (`ID`
+					, `app_className`, `msg`, `msgType`
+					, `uiTargetType`, `uiTargetName`
+					, `userTargetType`
+					, `A_RECORD_CREATE_DATE`, `A_RECORD_CREATE_AUTHOR`)
+				VALUES (NULL
+					, 'FixCrmProcesInitIdx', 'Update perms', 'danger'
+					, 'default_db_table', 'CRM_PROCES'
+					, 'everyone'
+					, NOW(), coalesce(NEW.A_RECORD_UPDATE_AUTHOR,'trigger:FixCrmProcesInitIdx_CRM_WSKAZNIK_AFTER_UPDATE')
+				);
+		END IF;
 SQL_QUERY;
 		$db = DB::getDB();
 		if ($db->has_errors()) {