Merge branch 'master' of github.com:colosa/processmaker
This commit is contained in:
@@ -488,6 +488,7 @@ class workspaceTools
|
||||
$triggers[] = $appCache->triggerAppDelegationUpdate($lang, $checkOnly);
|
||||
$triggers[] = $appCache->triggerApplicationUpdate($lang, $checkOnly);
|
||||
$triggers[] = $appCache->triggerApplicationDelete($lang, $checkOnly);
|
||||
$triggers[] = $appCache->triggerSubApplicationInsert($lang, $checkOnly);
|
||||
$triggers[] = $appCache->triggerContentUpdate($lang, $checkOnly);
|
||||
|
||||
if ($fill) {
|
||||
|
||||
@@ -1547,6 +1547,46 @@ class AppCacheView extends BaseAppCacheView
|
||||
return G::LoadTranslation('ID_EXIST');
|
||||
}
|
||||
|
||||
public function triggerSubApplicationInsert($lang, $recreate = false)
|
||||
{
|
||||
$cnn = Propel::getConnection("workflow");
|
||||
$stmt = $cnn->createStatement();
|
||||
|
||||
$rs = $stmt->executeQuery("SHOW TRIGGERS", ResultSet::FETCHMODE_ASSOC);
|
||||
$found = false;
|
||||
|
||||
while ($rs->next()) {
|
||||
$row = $rs->getRow();
|
||||
|
||||
if (strtolower($row["Trigger"] == "SUB_APPLICATION_INSERT") && strtoupper($row["Table"]) == "SUB_APPLICATION") {
|
||||
$found = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($recreate) {
|
||||
$rs = $stmt->executeQuery("DROP TRIGGER IF EXISTS SUB_APPLICATION_INSERT");
|
||||
$found = false;
|
||||
}
|
||||
|
||||
if (!$found) {
|
||||
$filenameSql = $this->pathToAppCacheFiles . "triggerSubApplicationInsert.sql";
|
||||
|
||||
if (!file_exists($filenameSql)) {
|
||||
throw (new Exception("file triggerSubApplicationInsert.sql doesn't exist"));
|
||||
}
|
||||
|
||||
$sql = file_get_contents($filenameSql);
|
||||
$sql = str_replace("{lang}", $lang, $sql);
|
||||
|
||||
$stmt->executeQuery($sql);
|
||||
|
||||
return G::LoadTranslation("ID_CREATED");
|
||||
}
|
||||
|
||||
return G::LoadTranslation("ID_EXIST");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retrieve the SQL code to create the APP_CACHE_VIEW triggers.
|
||||
*
|
||||
@@ -1559,6 +1599,7 @@ class AppCacheView extends BaseAppCacheView
|
||||
'triggerApplicationUpdate.sql',
|
||||
'triggerAppDelegationUpdate.sql',
|
||||
'triggerAppDelegationInsert.sql',
|
||||
"triggerSubApplicationInsert.sql",
|
||||
'triggerContentUpdate.sql'
|
||||
);
|
||||
|
||||
|
||||
@@ -753,7 +753,9 @@ class Installer extends Controller
|
||||
$this->mysqlQuery( @file_get_contents( PATH_HOME . 'engine/methods/setup/setupSchemas/triggerAppDelegationUpdate.sql' ) );
|
||||
$this->mysqlQuery( @file_get_contents( PATH_HOME . 'engine/methods/setup/setupSchemas/triggerApplicationUpdate.sql' ) );
|
||||
$this->mysqlQuery( @file_get_contents( PATH_HOME . 'engine/methods/setup/setupSchemas/triggerApplicationDelete.sql' ) );
|
||||
$this->mysqlQuery(@file_get_contents(PATH_HOME . "engine/methods/setup/setupSchemas/triggerSubApplicationInsert.sql"));
|
||||
$this->mysqlQuery( @file_get_contents( PATH_HOME . 'engine/methods/setup/setupSchemas/triggerContentUpdate.sql' ) );
|
||||
|
||||
$this->mysqlQuery( "INSERT INTO `CONFIGURATION` (
|
||||
`CFG_UID`,
|
||||
`CFG_VALUE`
|
||||
@@ -827,6 +829,9 @@ class Installer extends Controller
|
||||
//APPLICATION DELETE
|
||||
$res = $appCache->triggerApplicationDelete( $lang, true );
|
||||
|
||||
//SUB_APPLICATION INSERT
|
||||
$res = $appCache->triggerSubApplicationInsert($lang, false);
|
||||
|
||||
//CONTENT UPDATE
|
||||
$res = $appCache->triggerContentUpdate( $lang, true );
|
||||
|
||||
@@ -1038,6 +1043,7 @@ class Installer extends Controller
|
||||
$this->mssqlQuery( @file_get_contents( PATH_HOME . 'engine/plugins/enterprise/data/triggerAppDelegationUpdate.sql' ) );
|
||||
$this->mssqlQuery( @file_get_contents( PATH_HOME . 'engine/plugins/enterprise/data/triggerApplicationUpdate.sql' ) );
|
||||
$this->mssqlQuery( @file_get_contents( PATH_HOME . 'engine/plugins/enterprise/data/triggerApplicationDelete.sql' ) );
|
||||
$this->mysqlQuery(@file_get_contents(PATH_HOME . "engine/methods/setup/setupSchemas/triggerSubApplicationInsert.sql"));
|
||||
$this->mssqlQuery( @file_get_contents( PATH_HOME . 'engine/plugins/enterprise/data/triggerContentUpdate.sql' ) );
|
||||
$this->mssqlQuery( "INSERT INTO CONFIGURATION (
|
||||
CFG_UID,
|
||||
@@ -1366,7 +1372,7 @@ class Installer extends Controller
|
||||
$value = array(
|
||||
'login_defaultLanguage' => "pt-BR",
|
||||
"dateFormat" => 'd \d\e F \d\e Y'
|
||||
);
|
||||
);
|
||||
|
||||
$value = serialize($value);
|
||||
$query = "INSERT INTO CONFIGURATION (CFG_UID, CFG_VALUE) VALUES ('ENVIRONMENT_SETTINGS', '".mysql_real_escape_string($value)."')";
|
||||
|
||||
@@ -178,6 +178,9 @@ switch ($request) {
|
||||
$res = $appCache->triggerApplicationDelete( $lang, false );
|
||||
$result->info[] = array ('name' => G::LoadTranslation ( 'ID_CACHE_BUILDER_TRIGGER_APPLICATION_DELETE' ),'value' => $res);
|
||||
|
||||
//SUB_APPLICATION INSERT
|
||||
$res = $appCache->triggerSubApplicationInsert($lang, false);
|
||||
|
||||
//CONTENT UPDATE
|
||||
$res = $appCache->triggerContentUpdate( $lang, false );
|
||||
$result->info[] = array ("name" => G::LoadTranslation ( 'ID_CACHE_BUILDER_TRIGGER_CONTENT_UPDATE' ),"value" => $res);
|
||||
@@ -237,12 +240,13 @@ switch ($request) {
|
||||
$res = $appCache->triggerApplicationDelete( $lang, true );
|
||||
//$result->info[] = array ('name' => 'Trigger APPLICATION DELETE', 'value'=> $res);
|
||||
|
||||
//SUB_APPLICATION INSERT
|
||||
$res = $appCache->triggerSubApplicationInsert($lang, false);
|
||||
|
||||
//CONTENT UPDATE
|
||||
$res = $appCache->triggerContentUpdate( $lang, true );
|
||||
//$result->info[] = array("name" => "Trigger CONTENT UPDATE", "value" => $res);
|
||||
|
||||
|
||||
//build using the method in AppCacheView Class
|
||||
$res = $appCache->fillAppCacheView( $lang );
|
||||
//$result->info[] = array ('name' => 'build APP_CACHE_VIEW', 'value'=> $res);
|
||||
|
||||
@@ -42,7 +42,17 @@ SELECT
|
||||
APPLICATION.APP_NUMBER,
|
||||
APPLICATION.APP_STATUS,
|
||||
APP_DELEGATION.USR_UID,
|
||||
APP_LAST_USER.USR_UID,
|
||||
IF (
|
||||
APP_DELEGATION.DEL_PREVIOUS = 0 AND (SELECT SUBAPP.APP_UID FROM SUB_APPLICATION AS SUBAPP WHERE SUBAPP.APP_UID = APP_DELEGATION.APP_UID LIMIT 1) IS NOT NULL,
|
||||
(SELECT APPDEL2.USR_UID
|
||||
FROM SUB_APPLICATION AS SUBAPP, APP_DELEGATION AS APPDEL1, APP_DELEGATION AS APPDEL2
|
||||
WHERE SUBAPP.APP_UID = APP_DELEGATION.APP_UID AND
|
||||
SUBAPP.APP_PARENT = APPDEL1.APP_UID AND SUBAPP.DEL_INDEX_PARENT = APPDEL1.DEL_INDEX AND
|
||||
APPDEL1.APP_UID = APPDEL2.APP_UID AND APPDEL1.DEL_PREVIOUS = APPDEL2.DEL_INDEX
|
||||
LIMIT 1
|
||||
),
|
||||
APP_LAST_USER.USR_UID
|
||||
) AS PREVIOUS_USR_UID,
|
||||
APP_DELEGATION.TAS_UID,
|
||||
APP_DELEGATION.PRO_UID,
|
||||
substring(APP_DELEGATION.DEL_DELEGATE_DATE,1,19),
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
CREATE TRIGGER SUB_APPLICATION_INSERT BEFORE INSERT ON SUB_APPLICATION
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DECLARE PREVIOUS_USR_UID VARCHAR(32);
|
||||
|
||||
SET @PREVIOUS_USR_UID = '';
|
||||
|
||||
SET @PREVIOUS_USR_UID = (
|
||||
SELECT APPDEL2.USR_UID
|
||||
FROM APP_DELEGATION AS APPDEL1, APP_DELEGATION AS APPDEL2
|
||||
WHERE APPDEL1.APP_UID = NEW.APP_PARENT AND APPDEL1.DEL_INDEX = NEW.DEL_INDEX_PARENT AND
|
||||
APPDEL1.APP_UID = APPDEL2.APP_UID AND APPDEL1.DEL_PREVIOUS = APPDEL2.DEL_INDEX
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
IF (@PREVIOUS_USR_UID IS NULL) THEN
|
||||
SET @PREVIOUS_USR_UID = '';
|
||||
END IF;
|
||||
|
||||
-- Update record in APP_CACHE_VIEW
|
||||
UPDATE APP_CACHE_VIEW
|
||||
SET PREVIOUS_USR_UID = @PREVIOUS_USR_UID
|
||||
WHERE APP_UID = NEW.APP_UID AND DEL_INDEX = (SELECT APPDEL.DEL_INDEX
|
||||
FROM APP_DELEGATION AS APPDEL
|
||||
WHERE APPDEL.APP_UID = NEW.APP_UID AND APPDEL.DEL_PREVIOUS = 0
|
||||
LIMIT 1
|
||||
);
|
||||
|
||||
END
|
||||
Reference in New Issue
Block a user