|
|
@@ -42,6 +42,11 @@ class Route_Msgs extends RouteBase {
|
|
|
die('OK');
|
|
|
}
|
|
|
|
|
|
+ public function reinstallFunctionsAction() {
|
|
|
+ $this->reinstallFunctions();
|
|
|
+ die('OK');
|
|
|
+ }
|
|
|
+
|
|
|
public function runAction() {
|
|
|
$msgId = V::get('_msgId', 0, $_REQUEST, 'int');
|
|
|
if ($msgId > 0) {
|
|
|
@@ -62,6 +67,99 @@ class Route_Msgs extends RouteBase {
|
|
|
die('OK');
|
|
|
}
|
|
|
|
|
|
+ public function reinstallFunctions() {
|
|
|
+ $sqlList = array();
|
|
|
+ $sqlList['RemoveProcedureMarkAsExecuted'] = "DROP PROCEDURE IF EXISTS `CRM_UI_MSGS__markAsExecuted`";
|
|
|
+ $sqlList['InstallProcedureMarkAsExecuted'] = <<<SQL_QUERY
|
|
|
+CREATE DEFINER=`root`@`localhost` PROCEDURE `CRM_UI_MSGS__markAsExecuted`(
|
|
|
+ IN author VARCHAR(40),
|
|
|
+ IN app_className VARCHAR(255),
|
|
|
+ IN msg VARCHAR(255),
|
|
|
+ IN uiTargetType VARCHAR(255),
|
|
|
+ IN uiTargetName VARCHAR(255),
|
|
|
+ IN userTargetType VARCHAR(255),
|
|
|
+ IN userTargetName VARCHAR(255)
|
|
|
+)
|
|
|
+BEGIN
|
|
|
+ update `CRM_UI_MSGS`
|
|
|
+ set `A_STATUS`='OFF_HARD'
|
|
|
+ , `actionExecutedTime`=NOW()
|
|
|
+ , `A_RECORD_UPDATE_DATE`=NOW()
|
|
|
+ , `A_RECORD_UPDATE_AUTHOR`=author
|
|
|
+ where `A_STATUS`='WAITING' -- TODO: not in('DELETED', 'OFF_HARD')
|
|
|
+ and `app_className`=app_className
|
|
|
+ and `msg`=msg
|
|
|
+ and `uiTargetType`=uiTargetType
|
|
|
+ and `uiTargetName`=uiTargetName
|
|
|
+ and `userTargetType`=userTargetType
|
|
|
+ and `userTargetName`=userTargetName
|
|
|
+ ;
|
|
|
+END
|
|
|
+SQL_QUERY;
|
|
|
+ $sqlList['RemoveProcedureMarkTableEveryoneAsExecuted'] = "DROP PROCEDURE IF EXISTS `CRM_UI_MSGS__markTableEveryoneAsExecuted`";
|
|
|
+ $sqlList['InstallProcedureMarkTableEveryoneAsExecuted'] = <<<SQL_QUERY
|
|
|
+CREATE DEFINER=`root`@`localhost` PROCEDURE `CRM_UI_MSGS__markTableEveryoneAsExecuted`(
|
|
|
+ IN author VARCHAR(40),
|
|
|
+ IN app_className VARCHAR(255),
|
|
|
+ IN msg VARCHAR(255),
|
|
|
+ IN uiTargetName VARCHAR(255)
|
|
|
+)
|
|
|
+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'
|
|
|
+ ;
|
|
|
+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';
|
|
|
+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'
|
|
|
+ and `uiTargetType`='default_db_table'
|
|
|
+ and `uiTargetName`='CRM_LISTA_ZASOBOW';
|
|
|
+SQL_QUERY;
|
|
|
+ $db = DB::getDB();
|
|
|
+ if ($db->has_errors()) {
|
|
|
+ throw new Exception("DB Errors: " . implode("\n<br>", $db->get_errors()));
|
|
|
+ }
|
|
|
+ foreach ($sqlList as $sqlName => $sql) {
|
|
|
+ $res = $db->query($sql);
|
|
|
+ if ($db->has_errors()) {
|
|
|
+ throw new Exception("DB Errors at sql '{$sqlName}': " . implode("\n<br>", $db->get_errors()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public function reinstall() {
|
|
|
$sqlList = array();
|
|
|
$sqlList['RemoveTable'] = "DROP TABLE IF EXISTS `CRM_UI_MSGS`";
|
|
|
@@ -104,6 +202,7 @@ class Route_Msgs extends RouteBase {
|
|
|
throw new Exception("DB Errors at sql '{$sqlName}': " . implode("\n<br>", $db->get_errors()));
|
|
|
}
|
|
|
}
|
|
|
+ $this->reinstallFunctions();
|
|
|
}
|
|
|
|
|
|
public function getActiveMessagesForTable($tblName) {
|