Quellcode durchsuchen

FixAcl add goto and ret. lvl 2

Piotr Labudda vor 10 Jahren
Ursprung
Commit
5b7718f5be
1 geänderte Dateien mit 44 neuen und 0 gelöschten Zeilen
  1. 44 0
      SE/se-lib/Route/FixCrmProcesInitIdx.php

+ 44 - 0
SE/se-lib/Route/FixCrmProcesInitIdx.php

@@ -835,6 +835,50 @@ BEGIN
 			where i.`TYPE`='GOTO_AND_RETURN'
 		;
 
+		-- // TODO: fill with goto_and_ret level 2
+		-- gc  p(5105) is GOTO_AND_RETURN_CHILD pID(5061) pI(5039) pIM(5040) pG(5040)
+		-- gc  p(5105) is GOTO_AND_RETURN_CHILD pID(5061) pI(5039) pIM(5100) pG(5100)
+		-- gg  p(5103) is GOTO_AND_RETURN       pID(5105) pI(5103) pIM(5039) pG(NULL)
+		-- +   p(5103) is GOTO_AND_RETURN_LVL2  pID(5105) pI(5103) pIM(5040) pG(5040)
+		-- +   p(5103) is GOTO_AND_RETURN_LVL2  pID(5105) pI(5103) pIM(5100) pG(5100)
+		insert ignore into `CRM_PROCES_idx_TEMP`  (`ID_PROCES`,`TYPE`,`PARENT_ID`,`idx_PROCES_INIT_ID`,`idx_MAIN_PROCES_INIT_ID`,`idx_PROCES_WITH_GROUPS_ID`)
+			select gg.`ID_PROCES` as `ID_PROCES`
+				, 'GOTO_AND_RETURN_LVL2' as `TYPE`
+				, gg.`PARENT_ID` as `PARENT_ID`
+				, gg.`idx_PROCES_INIT_ID` as `idx_PROCES_INIT_ID`
+				, gc.`idx_MAIN_PROCES_INIT_ID` as `idx_MAIN_PROCES_INIT_ID`
+				, IF(gg.`idx_PROCES_WITH_GROUPS_ID` is null, gc.`idx_PROCES_WITH_GROUPS_ID`, gg.`idx_PROCES_WITH_GROUPS_ID`) as `idx_PROCES_WITH_GROUPS_ID`
+		--		, 'gc', gc.*, 'gg', gg.*
+			from `CRM_PROCES_idx_TEMP` gg
+				join `CRM_PROCES_idx_TEMP` gc on(gc.`ID_PROCES`=gg.`PARENT_ID`)
+			where gg.`TYPE`='GOTO_AND_RETURN'
+				and gc.`TYPE`='GOTO_AND_RETURN_CHILD'
+		;
+
+		-- // TODO: fill childrens for goto_and_ret level 2
+		-- i   p(5103) is GOTO_AND_RETURN_LVL2       pID(5105) pI(5103) pIM(5040) pG(5040)
+		-- i   p(5103) is GOTO_AND_RETURN_LVL2       pID(5105) pI(5103) pIM(5100) pG(5100)
+		-- ic  p(5104) is GOTO_AND_RETURN_CHILD      pID(5103) pI(5103) pIM(5039) pG(NULL)
+		-- ic  p(5104) is GOTO_AND_RETURN_CHILD      pID(5103) pI(5103) pIM(5039) pG(NULL)
+		-- +   p(5104) is GOTO_AND_RETURN_CHILD_LVL2 pID(5103) pI(5103) pIM(5100) pG(5100)
+		-- +   p(5104) is GOTO_AND_RETURN_CHILD_LVL2 pID(5103) pI(5103) pIM(5040) pG(5040)
+		insert ignore into `CRM_PROCES_idx_TEMP` (`ID_PROCES`,`TYPE`,`PARENT_ID`,`idx_PROCES_INIT_ID`,`idx_MAIN_PROCES_INIT_ID`,`idx_PROCES_WITH_GROUPS_ID`)
+			select ic.`ID_PROCES`
+				, 'GOTO_AND_RETURN_CHILD_LVL2' as `TYPE`
+				, ic.`PARENT_ID` as `PARENT_ID`
+				, ic.`idx_PROCES_INIT_ID` as `idx_PROCES_INIT_ID`
+				, i.`idx_MAIN_PROCES_INIT_ID` as `idx_MAIN_PROCES_INIT_ID`
+				, IF(ic.`idx_PROCES_WITH_GROUPS_ID` is null, i.`idx_PROCES_WITH_GROUPS_ID`, ic.`idx_PROCES_WITH_GROUPS_ID`) as `idx_PROCES_WITH_GROUPS_ID`
+		--		, 'i', i.*, 'ic', ic.*
+			from `CRM_PROCES_idx_TEMP` i
+				join `CRM_PROCES_idx_TEMP` ic on(
+					ic.`idx_PROCES_INIT_ID`=i.`ID_PROCES`
+					and ic.`ID_PROCES`!=i.`ID_PROCES`
+					and ic.`TYPE`='GOTO_AND_RETURN_CHILD'
+				)
+			where i.`TYPE`='GOTO_AND_RETURN_LVL2'
+		;
+
 		-- IDX.1--clear-CRM_PROCES_idx
 		truncate table `CRM_PROCES_idx`;