marcosfpa wrote:Could it explain better which code file exactly should I change?
I would like to resolve this issue in my installation before the developers because we do not know how long they will take ...
Marcos,
1. Open PhpMyAdmin by going to
http://your-address/phpmyadmin in your web browser.
2. Login as the the "root" user.
3. Then, go to the database for your workspace which is named "wf_workflow" by default.
4. Go to the APP_DELEGATION table.
5. In the top level menu, select
More > Triggers.
Triggers_For_APP_DELEGATION_table.png (224.6 KiB) Viewed 7221 times
6. Then, click on the "edit" link for the APP_DELEGATION_INSERT trigger:
Edit_APP_DELEGATION_INSERT_trigger.png (65.57 KiB) Viewed 7221 times
7. In the dialog box that appears:
EditTriggerAPP_DELEGATION_INSERT.png (45.51 KiB) Viewed 7221 times
Replace this trigger code:
Code: Select allBEGIN
DECLARE DEFAULT_LANG VARCHAR(2);
DECLARE APP_NUMBER INT;
DECLARE APP_STATUS VARCHAR(32);
DECLARE APP_CREATE_DATE DATETIME;
DECLARE APP_UPDATE_DATE DATETIME;
DECLARE APP_TITLE VARCHAR(255);
DECLARE APP_PRO_TITLE VARCHAR(255);
DECLARE APP_TAS_TITLE VARCHAR(255);
DECLARE APP_CURRENT_USER VARCHAR(255);
DECLARE PREVIOUS_USR_UID VARCHAR(32);
DECLARE APP_DEL_PREVIOUS_USER VARCHAR(255);
DECLARE APP_THREAD_STATUS VARCHAR(32);
SET @DEFAULT_LANG = 'en';
SET @APP_CURRENT_USER = '';
SELECT APPLICATION.APP_NUMBER into @APP_NUMBER FROM APPLICATION WHERE APP_UID = NEW.APP_UID LIMIT 1;
SELECT APPLICATION.APP_STATUS into @APP_STATUS FROM APPLICATION WHERE APP_UID = NEW.APP_UID LIMIT 1;
SELECT APPLICATION.APP_CREATE_DATE into @APP_CREATE_DATE FROM APPLICATION WHERE APP_UID = NEW.APP_UID LIMIT 1;
SELECT APPLICATION.APP_UPDATE_DATE into @APP_UPDATE_DATE FROM APPLICATION WHERE APP_UID = NEW.APP_UID LIMIT 1;
SELECT APPLICATION.APP_TITLE into @APP_TITLE FROM APPLICATION WHERE NEW.APP_UID=APPLICATION.APP_UID LIMIT 1;
IF ( @APP_TITLE IS NULL ) THEN
SET @APP_TITLE = '';
END IF;
SELECT PROCESS.PRO_TITLE into @APP_PRO_TITLE FROM PROCESS WHERE NEW.PRO_UID=PROCESS.PRO_UID LIMIT 1;
SELECT TASK.TAS_TITLE into @APP_TAS_TITLE FROM TASK WHERE NEW.TAS_UID=TASK.TAS_UID LIMIT 1;
SELECT CONCAT(USERS.USR_LASTNAME, ' ', USERS.USR_FIRSTNAME) INTO @APP_CURRENT_USER FROM USERS WHERE USR_UID = NEW.USR_UID LIMIT 1;
IF ( @APP_CURRENT_USER IS NULL ) THEN
SET @APP_CURRENT_USER = '';
END IF;
IF ( NEW.DEL_PREVIOUS > 0 ) THEN
SELECT USR_UID INTO @PREVIOUS_USR_UID FROM APP_DELEGATION WHERE APP_UID = NEW.APP_UID AND DEL_INDEX = NEW.DEL_PREVIOUS LIMIT 1;
SELECT CONCAT(USERS.USR_LASTNAME, ' ', USERS.USR_FIRSTNAME) INTO @APP_DEL_PREVIOUS_USER FROM USERS WHERE USR_UID = @PREVIOUS_USR_UID LIMIT 1;
IF ( @APP_DEL_PREVIOUS_USER IS NULL ) THEN
SET @APP_DEL_PREVIOUS_USER = '';
END IF;
ELSE
SET @APP_DEL_PREVIOUS_USER = '';
SET @PREVIOUS_USR_UID = '';
END IF;
SELECT APP_THREAD_STATUS INTO @APP_THREAD_STATUS FROM APP_THREAD WHERE APP_UID = NEW.APP_UID AND DEL_INDEX = NEW.DEL_PREVIOUS LIMIT 1;
IF ( @APP_THREAD_STATUS IS NULL ) THEN
SET @APP_THREAD_STATUS = 'OPEN';
END IF;
SET @TAS_TYPE = (SELECT TAS_TYPE FROM TASK WHERE TAS_UID = NEW.TAS_UID LIMIT 1);
UPDATE APP_CACHE_VIEW SET DEL_LAST_INDEX = 0 WHERE APP_UID = NEW.APP_UID;
INSERT INTO `APP_CACHE_VIEW` (
APP_UID,
DEL_INDEX,
APP_NUMBER,
APP_STATUS,
USR_UID,
PREVIOUS_USR_UID,
TAS_UID,
PRO_UID,
DEL_DELEGATE_DATE,
DEL_INIT_DATE,
DEL_FINISH_DATE,
DEL_TASK_DUE_DATE,
DEL_RISK_DATE,
DEL_THREAD_STATUS,
APP_THREAD_STATUS,
APP_TITLE,
APP_PRO_TITLE,
APP_TAS_TITLE,
APP_CURRENT_USER,
APP_DEL_PREVIOUS_USER,
DEL_PRIORITY,
DEL_DURATION,
DEL_QUEUE_DURATION,
DEL_DELAY_DURATION,
DEL_STARTED,
DEL_FINISHED,
DEL_DELAYED,
APP_CREATE_DATE,
APP_FINISH_DATE,
APP_UPDATE_DATE,
APP_OVERDUE_PERCENTAGE,
DEL_LAST_INDEX
)
VALUES (
NEW.APP_UID,
NEW.DEL_INDEX,
@APP_NUMBER,
@APP_STATUS,
NEW.USR_UID,
@PREVIOUS_USR_UID,
NEW.TAS_UID,
NEW.PRO_UID,
NEW.DEL_DELEGATE_DATE,
NEW.DEL_INIT_DATE,
NEW.DEL_FINISH_DATE,
NEW.DEL_TASK_DUE_DATE,
NEW.DEL_RISK_DATE,
NEW.DEL_THREAD_STATUS,
@APP_THREAD_STATUS,
@APP_TITLE,
@APP_PRO_TITLE,
@APP_TAS_TITLE,
@APP_CURRENT_USER,
@APP_DEL_PREVIOUS_USER,
NEW.DEL_PRIORITY,
NEW.DEL_DURATION,
NEW.DEL_QUEUE_DURATION,
NEW.DEL_DELAY_DURATION,
NEW.DEL_STARTED,
NEW.DEL_FINISHED,
NEW.DEL_DELAYED,
@APP_CREATE_DATE,
NULL,
@APP_UPDATE_DATE,
NEW.APP_OVERDUE_PERCENTAGE,
NEW.DEL_LAST_INDEX
);
END
With this code:
Code: Select allBEGIN
DECLARE DEFAULT_LANG VARCHAR(2);
DECLARE APP_NUMBER INT;
DECLARE APP_STATUS VARCHAR(32);
DECLARE APP_CREATE_DATE DATETIME;
DECLARE APP_UPDATE_DATE DATETIME;
DECLARE APP_TITLE VARCHAR(255);
DECLARE APP_PRO_TITLE VARCHAR(255);
DECLARE APP_TAS_TITLE VARCHAR(255);
DECLARE APP_CURRENT_USER VARCHAR(255);
DECLARE PREVIOUS_USR_UID VARCHAR(32);
DECLARE APP_DEL_PREVIOUS_USER VARCHAR(255);
DECLARE APP_THREAD_STATUS VARCHAR(32);
SET @DEFAULT_LANG = 'en';
SET @APP_CURRENT_USER = '';
SELECT APPLICATION.APP_NUMBER into @APP_NUMBER FROM APPLICATION WHERE APP_UID = NEW.APP_UID LIMIT 1;
SELECT APPLICATION.APP_STATUS into @APP_STATUS FROM APPLICATION WHERE APP_UID = NEW.APP_UID LIMIT 1;
SELECT APPLICATION.APP_CREATE_DATE into @APP_CREATE_DATE FROM APPLICATION WHERE APP_UID = NEW.APP_UID LIMIT 1;
SELECT APPLICATION.APP_UPDATE_DATE into @APP_UPDATE_DATE FROM APPLICATION WHERE APP_UID = NEW.APP_UID LIMIT 1;
SELECT APPLICATION.APP_TITLE into @APP_TITLE FROM APPLICATION WHERE NEW.APP_UID=APPLICATION.APP_UID LIMIT 1;
IF ( @APP_TITLE IS NULL ) THEN
SET @APP_TITLE = '';
END IF;
SELECT PROCESS.PRO_TITLE into @APP_PRO_TITLE FROM PROCESS WHERE NEW.PRO_UID=PROCESS.PRO_UID LIMIT 1;
SELECT TASK.TAS_TITLE into @APP_TAS_TITLE FROM TASK WHERE NEW.TAS_UID=TASK.TAS_UID LIMIT 1;
SELECT CONCAT(USERS.USR_LASTNAME, ' ', USERS.USR_FIRSTNAME) INTO @APP_CURRENT_USER FROM USERS WHERE USR_UID = NEW.USR_UID LIMIT 1;
IF ( @APP_CURRENT_USER IS NULL ) THEN
SET @APP_CURRENT_USER = '';
END IF;
IF ( NEW.DEL_PREVIOUS > 0 ) THEN
SELECT USR_UID INTO @PREVIOUS_USR_UID FROM APP_DELEGATION WHERE APP_UID = NEW.APP_UID AND DEL_INDEX = NEW.DEL_PREVIOUS LIMIT 1;
SELECT CONCAT(USERS.USR_LASTNAME, ' ', USERS.USR_FIRSTNAME) INTO @APP_DEL_PREVIOUS_USER FROM USERS WHERE USR_UID = @PREVIOUS_USR_UID LIMIT 1;
IF ( @APP_DEL_PREVIOUS_USER IS NULL ) THEN
SET @APP_DEL_PREVIOUS_USER = '';
END IF;
ELSE
SET @APP_DEL_PREVIOUS_USER = '';
SET @PREVIOUS_USR_UID = '';
END IF;
SELECT APP_THREAD_STATUS INTO @APP_THREAD_STATUS FROM APP_THREAD WHERE APP_UID = NEW.APP_UID AND DEL_INDEX = NEW.DEL_PREVIOUS LIMIT 1;
IF ( @APP_THREAD_STATUS IS NULL ) THEN
SET @APP_THREAD_STATUS = 'OPEN';
END IF;
SET @TAS_TYPE = (SELECT TAS_TYPE FROM TASK WHERE TAS_UID = NEW.TAS_UID LIMIT 1);
IF( @TAS_TYPE != 'SUBPROCESS') THEN
UPDATE APP_CACHE_VIEW SET DEL_LAST_INDEX = 0 WHERE APP_UID = NEW.APP_UID;
INSERT INTO `APP_CACHE_VIEW` (
APP_UID,
DEL_INDEX,
APP_NUMBER,
APP_STATUS,
USR_UID,
PREVIOUS_USR_UID,
TAS_UID,
PRO_UID,
DEL_DELEGATE_DATE,
DEL_INIT_DATE,
DEL_FINISH_DATE,
DEL_TASK_DUE_DATE,
DEL_RISK_DATE,
DEL_THREAD_STATUS,
APP_THREAD_STATUS,
APP_TITLE,
APP_PRO_TITLE,
APP_TAS_TITLE,
APP_CURRENT_USER,
APP_DEL_PREVIOUS_USER,
DEL_PRIORITY,
DEL_DURATION,
DEL_QUEUE_DURATION,
DEL_DELAY_DURATION,
DEL_STARTED,
DEL_FINISHED,
DEL_DELAYED,
APP_CREATE_DATE,
APP_FINISH_DATE,
APP_UPDATE_DATE,
APP_OVERDUE_PERCENTAGE,
DEL_LAST_INDEX
)
VALUES (
NEW.APP_UID,
NEW.DEL_INDEX,
@APP_NUMBER,
@APP_STATUS,
NEW.USR_UID,
@PREVIOUS_USR_UID,
NEW.TAS_UID,
NEW.PRO_UID,
NEW.DEL_DELEGATE_DATE,
NEW.DEL_INIT_DATE,
NEW.DEL_FINISH_DATE,
NEW.DEL_TASK_DUE_DATE,
NEW.DEL_RISK_DATE,
NEW.DEL_THREAD_STATUS,
@APP_THREAD_STATUS,
@APP_TITLE,
@APP_PRO_TITLE,
@APP_TAS_TITLE,
@APP_CURRENT_USER,
@APP_DEL_PREVIOUS_USER,
NEW.DEL_PRIORITY,
NEW.DEL_DURATION,
NEW.DEL_QUEUE_DURATION,
NEW.DEL_DELAY_DURATION,
NEW.DEL_STARTED,
NEW.DEL_FINISHED,
NEW.DEL_DELAYED,
@APP_CREATE_DATE,
NULL,
@APP_UPDATE_DATE,
NEW.APP_OVERDUE_PERCENTAGE,
NEW.DEL_LAST_INDEX
);
END IF;
END
7. Then click on "Go" to save the changes and this screen should appear:
Saved_new_trigger.png (152.43 KiB) Viewed 7221 times