diff --git a/workflow/engine/classes/Cases.php b/workflow/engine/classes/Cases.php
index 50531b2b6..c3bdd088e 100644
--- a/workflow/engine/classes/Cases.php
+++ b/workflow/engine/classes/Cases.php
@@ -5445,6 +5445,14 @@ class Cases
if ($sTo != null) {
$oSpool = new SpoolRun();
+ //Load the TAS_ID
+ if (!isset($arrayData['TAS_ID'])) {
+ $task= new Task();
+ $taskId = $task->load($arrayData['TASK'])['TAS_ID'];
+ } else {
+ $taskId = $arrayData['TAS_ID'];
+ }
+
$oSpool->setConfig($dataLastEmail['configuration']);
$oSpool->create(array(
"msg_uid" => "",
@@ -5460,7 +5468,9 @@ class Cases
"app_msg_attach" => "",
"app_msg_template" => "",
"app_msg_status" => "pending",
- "app_msg_error" => $dataLastEmail['msgError']
+ "app_msg_error" => $dataLastEmail['msgError'],
+ "tas_id" => $taskId,
+ "app_number" => isset($arrayData['APP_NUMBER']) ? $arrayData['APP_NUMBER'] : ''
));
if ($dataLastEmail['msgError'] == '') {
@@ -5475,12 +5485,16 @@ class Cases
}
/**
- * @param $taskUid
- * @param $arrayTask
- * @param $arrayData
- * @param $applicationUid
- * @param $delIndex
+ * This function send an email notification when tas_send_last_email = true
+ * The users assigned to the next task will receive a custom email message when the case is routed
+ *
+ * @param string $taskUid
+ * @param array $arrayTask
+ * @param array $arrayData
+ * @param string $applicationUid
+ * @param integer $delIndex
* @param string $from
+ *
* @return bool
* @throws Exception
*/
@@ -5490,19 +5504,23 @@ class Cases
$arrayApplicationData = $this->loadCase($applicationUid);
$arrayData['APP_NUMBER'] = $arrayApplicationData['APP_NUMBER'];
- $oTask = new Task();
- $aTaskInfo = $oTask->load($taskUid);
+ $task = new Task();
+ $taskInfo = $task->load($taskUid);
- if ($aTaskInfo['TAS_SEND_LAST_EMAIL'] == 'TRUE') {
- $dataLastEmail = $this->loadDataSendEmail($aTaskInfo, $arrayData, $from, 'LAST');
+ if ($taskInfo['TAS_SEND_LAST_EMAIL'] == 'TRUE') {
+ $dataLastEmail = $this->loadDataSendEmail($taskInfo, $arrayData, $from, 'LAST');
$dataLastEmail['applicationUid'] = $applicationUid;
$dataLastEmail['delIndex'] = $delIndex;
+ //Load the TAS_ID
+ if (isset($taskInfo['TAS_ID'])) {
+ $arrayData['TAS_ID'] = $taskInfo['TAS_ID'];
+ }
$this->sendMessage($dataLastEmail, $arrayData, $arrayTask);
} else {
return false;
}
- } catch (Exception $oException) {
- throw $oException;
+ } catch (Exception $e) {
+ throw $e;
}
}
diff --git a/workflow/engine/classes/Derivation.php b/workflow/engine/classes/Derivation.php
index 45e980a42..6acd48c4e 100644
--- a/workflow/engine/classes/Derivation.php
+++ b/workflow/engine/classes/Derivation.php
@@ -1770,6 +1770,10 @@ class Derivation
$dataEmail['applicationUid'] = $appFields['APP_UID'];
$dataEmail['delIndex'] = $iNewDelIndex;
array_push($taskData, $nextDel);
+ //Load the TAS_ID
+ if (isset($nextDel['TAS_ID'])) {
+ $appFields['APP_DATA']['TAS_ID'] = $nextDel['TAS_ID'];
+ }
$this->case->sendMessage($dataEmail, $appFields['APP_DATA'], $taskData);
}
return true;
diff --git a/workflow/engine/classes/SpoolRun.php b/workflow/engine/classes/SpoolRun.php
index d2474a5ca..b6a3010f9 100644
--- a/workflow/engine/classes/SpoolRun.php
+++ b/workflow/engine/classes/SpoolRun.php
@@ -645,6 +645,28 @@ class SpoolRun
$spool->setAppMsgShowMessage($db_spool['app_msg_show_message']); // Add by Ankit
$spool->setAppMsgError($db_spool['app_msg_error']);
+ if (empty($db_spool['app_number'])) {
+ $appDelegation = new AppDelegation();
+ $delegationIds = $appDelegation->getColumnIds($db_spool['app_uid'], $db_spool['del_index']);
+ if (is_array($delegationIds) && count($delegationIds) > 0) {
+ $delegationIds = array_change_key_case($delegationIds);
+ $appNumber = $delegationIds['app_number'];
+ } else {
+ //The notification is not related to case
+ $appNumber = 0;
+ }
+ } else {
+ $appNumber = $db_spool['app_number'];
+ }
+
+ if (empty($db_spool['tas_id'])) {
+ $tasId = isset($delegationIds['tas_id']) ? $delegationIds['tas_id'] : 0;
+ } else {
+ $tasId = $db_spool['tas_id'];
+ }
+
+ $spool->setAppNumber($appNumber);
+ $spool->setTasId($tasId);
if (!$spool->validate()) {
$errors = $spool->getValidationFailures();
diff --git a/workflow/engine/classes/WorkspaceTools.php b/workflow/engine/classes/WorkspaceTools.php
index aa372fcfe..aaa3f2a47 100644
--- a/workflow/engine/classes/WorkspaceTools.php
+++ b/workflow/engine/classes/WorkspaceTools.php
@@ -3855,6 +3855,34 @@ class WorkspaceTools
WHERE AD.APP_NUMBER = 0");
$con->commit();
+ // Populating APP_MESSAGE.APP_NUMBER
+ CLI::logging("-> Populating APP_MESSAGE.APP_NUMBER \n");
+ $con->begin();
+ $stmt = $con->createStatement();
+ $rs = $stmt->executeQuery("UPDATE APP_MESSAGE AS AD
+ INNER JOIN (
+ SELECT APPLICATION.APP_UID, APPLICATION.APP_NUMBER
+ FROM APPLICATION
+ ) AS APP
+ ON (AD.APP_UID = APP.APP_UID)
+ SET AD.APP_NUMBER = APP.APP_NUMBER
+ WHERE AD.APP_NUMBER = 0");
+ $con->commit();
+
+ // Populating APP_MESSAGE.TAS_ID
+ CLI::logging("-> Populating APP_MESSAGE.TAS_ID \n");
+ $con->begin();
+ $stmt = $con->createStatement();
+ $rs = $stmt->executeQuery("UPDATE APP_MESSAGE AS AD
+ INNER JOIN (
+ SELECT APP_DELEGATION.TAS_ID, APP_DELEGATION.APP_NUMBER, APP_DELEGATION.TAS_UID, APP_DELEGATION.DEL_INDEX
+ FROM APP_DELEGATION
+ ) AS DEL
+ ON (AD.APP_NUMBER = DEL.APP_NUMBER AND AD.DEL_INDEX = DEL.DEL_INDEX)
+ SET AD.TAS_ID = DEL.TAS_ID
+ WHERE AD.TAS_ID = 0 AND AD.APP_NUMBER != 0 AND AD.DEL_INDEX != 0");
+ $con->commit();
+
CLI::logging("-> Migrating And Populating Indexing for avoiding the use of table APP_CACHE_VIEW Done \n");
// Populating PRO_ID, USR_ID
diff --git a/workflow/engine/classes/model/AppDelegation.php b/workflow/engine/classes/model/AppDelegation.php
index 540479493..6efdf634e 100644
--- a/workflow/engine/classes/model/AppDelegation.php
+++ b/workflow/engine/classes/model/AppDelegation.php
@@ -922,4 +922,37 @@ class AppDelegation extends BaseAppDelegation
return $index;
}
+ /**
+ * This function get the columns by Id indexing
+ *
+ * @param string $appUid
+ * @param integer $delIndex
+ *
+ * @return array|null
+ * @throws Exception
+ */
+ public function getColumnIds($appUid, $delIndex)
+ {
+ try {
+ $columnsId = [];
+ if ($delIndex > 0) {
+ $row = AppDelegationPeer::retrieveByPK($appUid, $delIndex);
+ if (!is_null($row)) {
+ $fields = $row->toArray(BasePeer::TYPE_FIELDNAME);
+ $this->fromArray($fields, BasePeer::TYPE_FIELDNAME);
+ $columnsId['APP_NUMBER'] = $fields['APP_NUMBER'];
+ $columnsId['USR_ID'] = $fields['USR_ID'];
+ $columnsId['TAS_ID'] = $fields['TAS_ID'];
+ $columnsId['PRO_ID'] = $fields['PRO_ID'];
+ return $columnsId;
+ } else {
+ throw (new Exception("The row '" . $appUid . "' , '" . $delIndex . "' in table APP_DELEGATION doesn't exist!"));
+ }
+ }
+
+ } catch (Exception $e) {
+ throw $e;
+ }
+ }
+
}
diff --git a/workflow/engine/classes/model/Task.php b/workflow/engine/classes/model/Task.php
index 7343c1ec0..75b613cd5 100644
--- a/workflow/engine/classes/model/Task.php
+++ b/workflow/engine/classes/model/Task.php
@@ -811,6 +811,33 @@ class Task extends BaseTask
}
}
}
+
+ /**
+ * This function get the columns by Id indexing
+ *
+ * @param string $tasUid
+ *
+ * @return array
+ * @throws Exception
+ */
+ public function getColumnIds($tasUid)
+ {
+ try {
+ $columnsId = [];
+ $row = TaskPeer::retrieveByPK($tasUid);
+ if (!is_null($row)) {
+ $fields = $row->toArray(BasePeer::TYPE_FIELDNAME);
+ $this->fromArray($fields, BasePeer::TYPE_FIELDNAME);
+ $columnsId['TAS_ID'] = $fields['TAS_ID'];
+ $columnsId['PRO_ID'] = $fields['PRO_ID'];
+ return $columnsId;
+ } else {
+ throw (new Exception("The row '" . $tasUid . "' in table TASK doesn't exist!"));
+ }
+ } catch (Exception $e) {
+ throw $e;
+ }
+ }
}
\ No newline at end of file
diff --git a/workflow/engine/classes/model/map/AppMessageMapBuilder.php b/workflow/engine/classes/model/map/AppMessageMapBuilder.php
index 3c62ab194..652625003 100644
--- a/workflow/engine/classes/model/map/AppMessageMapBuilder.php
+++ b/workflow/engine/classes/model/map/AppMessageMapBuilder.php
@@ -101,6 +101,10 @@ class AppMessageMapBuilder
$tMap->addColumn('APP_MSG_ERROR', 'AppMsgError', 'string', CreoleTypes::LONGVARCHAR, false, null);
+ $tMap->addColumn('TAS_ID', 'TasId', 'int', CreoleTypes::INTEGER, false, null);
+
+ $tMap->addColumn('APP_NUMBER', 'AppNumber', 'int', CreoleTypes::INTEGER, false, null);
+
} // doBuild()
} // AppMessageMapBuilder
diff --git a/workflow/engine/classes/model/om/BaseAppMessage.php b/workflow/engine/classes/model/om/BaseAppMessage.php
index 1617df9fe..bf3db32d6 100644
--- a/workflow/engine/classes/model/om/BaseAppMessage.php
+++ b/workflow/engine/classes/model/om/BaseAppMessage.php
@@ -135,6 +135,18 @@ abstract class BaseAppMessage extends BaseObject implements Persistent
*/
protected $app_msg_error;
+ /**
+ * The value for the tas_id field.
+ * @var int
+ */
+ protected $tas_id = 0;
+
+ /**
+ * The value for the app_number field.
+ * @var int
+ */
+ protected $app_number = 0;
+
/**
* Flag to prevent endless save loop, if this object is referenced
* by another object which falls in this transaction.
@@ -389,6 +401,28 @@ abstract class BaseAppMessage extends BaseObject implements Persistent
return $this->app_msg_error;
}
+ /**
+ * Get the [tas_id] column value.
+ *
+ * @return int
+ */
+ public function getTasId()
+ {
+
+ return $this->tas_id;
+ }
+
+ /**
+ * Get the [app_number] column value.
+ *
+ * @return int
+ */
+ public function getAppNumber()
+ {
+
+ return $this->app_number;
+ }
+
/**
* Set the value of [app_msg_uid] column.
*
@@ -799,6 +833,50 @@ abstract class BaseAppMessage extends BaseObject implements Persistent
} // setAppMsgError()
+ /**
+ * Set the value of [tas_id] column.
+ *
+ * @param int $v new value
+ * @return void
+ */
+ public function setTasId($v)
+ {
+
+ // Since the native PHP type for this column is integer,
+ // we will cast the input value to an int (if it is not).
+ if ($v !== null && !is_int($v) && is_numeric($v)) {
+ $v = (int) $v;
+ }
+
+ if ($this->tas_id !== $v || $v === 0) {
+ $this->tas_id = $v;
+ $this->modifiedColumns[] = AppMessagePeer::TAS_ID;
+ }
+
+ } // setTasId()
+
+ /**
+ * Set the value of [app_number] column.
+ *
+ * @param int $v new value
+ * @return void
+ */
+ public function setAppNumber($v)
+ {
+
+ // Since the native PHP type for this column is integer,
+ // we will cast the input value to an int (if it is not).
+ if ($v !== null && !is_int($v) && is_numeric($v)) {
+ $v = (int) $v;
+ }
+
+ if ($this->app_number !== $v || $v === 0) {
+ $this->app_number = $v;
+ $this->modifiedColumns[] = AppMessagePeer::APP_NUMBER;
+ }
+
+ } // setAppNumber()
+
/**
* Hydrates (populates) the object variables with values from the database resultset.
*
@@ -852,12 +930,16 @@ abstract class BaseAppMessage extends BaseObject implements Persistent
$this->app_msg_error = $rs->getString($startcol + 17);
+ $this->tas_id = $rs->getInt($startcol + 18);
+
+ $this->app_number = $rs->getInt($startcol + 19);
+
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
- return $startcol + 18; // 18 = AppMessagePeer::NUM_COLUMNS - AppMessagePeer::NUM_LAZY_LOAD_COLUMNS).
+ return $startcol + 20; // 20 = AppMessagePeer::NUM_COLUMNS - AppMessagePeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating AppMessage object", $e);
@@ -1115,6 +1197,12 @@ abstract class BaseAppMessage extends BaseObject implements Persistent
case 17:
return $this->getAppMsgError();
break;
+ case 18:
+ return $this->getTasId();
+ break;
+ case 19:
+ return $this->getAppNumber();
+ break;
default:
return null;
break;
@@ -1153,6 +1241,8 @@ abstract class BaseAppMessage extends BaseObject implements Persistent
$keys[15] => $this->getAppMsgSendDate(),
$keys[16] => $this->getAppMsgShowMessage(),
$keys[17] => $this->getAppMsgError(),
+ $keys[18] => $this->getTasId(),
+ $keys[19] => $this->getAppNumber(),
);
return $result;
}
@@ -1238,6 +1328,12 @@ abstract class BaseAppMessage extends BaseObject implements Persistent
case 17:
$this->setAppMsgError($value);
break;
+ case 18:
+ $this->setTasId($value);
+ break;
+ case 19:
+ $this->setAppNumber($value);
+ break;
} // switch()
}
@@ -1333,6 +1429,14 @@ abstract class BaseAppMessage extends BaseObject implements Persistent
$this->setAppMsgError($arr[$keys[17]]);
}
+ if (array_key_exists($keys[18], $arr)) {
+ $this->setTasId($arr[$keys[18]]);
+ }
+
+ if (array_key_exists($keys[19], $arr)) {
+ $this->setAppNumber($arr[$keys[19]]);
+ }
+
}
/**
@@ -1416,6 +1520,14 @@ abstract class BaseAppMessage extends BaseObject implements Persistent
$criteria->add(AppMessagePeer::APP_MSG_ERROR, $this->app_msg_error);
}
+ if ($this->isColumnModified(AppMessagePeer::TAS_ID)) {
+ $criteria->add(AppMessagePeer::TAS_ID, $this->tas_id);
+ }
+
+ if ($this->isColumnModified(AppMessagePeer::APP_NUMBER)) {
+ $criteria->add(AppMessagePeer::APP_NUMBER, $this->app_number);
+ }
+
return $criteria;
}
@@ -1504,6 +1616,10 @@ abstract class BaseAppMessage extends BaseObject implements Persistent
$copyObj->setAppMsgError($this->app_msg_error);
+ $copyObj->setTasId($this->tas_id);
+
+ $copyObj->setAppNumber($this->app_number);
+
$copyObj->setNew(true);
diff --git a/workflow/engine/classes/model/om/BaseAppMessagePeer.php b/workflow/engine/classes/model/om/BaseAppMessagePeer.php
index 74ce761a8..19ff318d8 100644
--- a/workflow/engine/classes/model/om/BaseAppMessagePeer.php
+++ b/workflow/engine/classes/model/om/BaseAppMessagePeer.php
@@ -25,7 +25,7 @@ abstract class BaseAppMessagePeer
const CLASS_DEFAULT = 'classes.model.AppMessage';
/** The total number of columns. */
- const NUM_COLUMNS = 18;
+ const NUM_COLUMNS = 20;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
@@ -85,6 +85,12 @@ abstract class BaseAppMessagePeer
/** the column name for the APP_MSG_ERROR field */
const APP_MSG_ERROR = 'APP_MESSAGE.APP_MSG_ERROR';
+ /** the column name for the TAS_ID field */
+ const TAS_ID = 'APP_MESSAGE.TAS_ID';
+
+ /** the column name for the APP_NUMBER field */
+ const APP_NUMBER = 'APP_MESSAGE.APP_NUMBER';
+
/** The PHP to DB Name Mapping */
private static $phpNameMap = null;
@@ -96,10 +102,10 @@ abstract class BaseAppMessagePeer
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
- BasePeer::TYPE_PHPNAME => array ('AppMsgUid', 'MsgUid', 'AppUid', 'DelIndex', 'AppMsgType', 'AppMsgSubject', 'AppMsgFrom', 'AppMsgTo', 'AppMsgBody', 'AppMsgDate', 'AppMsgCc', 'AppMsgBcc', 'AppMsgTemplate', 'AppMsgStatus', 'AppMsgAttach', 'AppMsgSendDate', 'AppMsgShowMessage', 'AppMsgError', ),
- BasePeer::TYPE_COLNAME => array (AppMessagePeer::APP_MSG_UID, AppMessagePeer::MSG_UID, AppMessagePeer::APP_UID, AppMessagePeer::DEL_INDEX, AppMessagePeer::APP_MSG_TYPE, AppMessagePeer::APP_MSG_SUBJECT, AppMessagePeer::APP_MSG_FROM, AppMessagePeer::APP_MSG_TO, AppMessagePeer::APP_MSG_BODY, AppMessagePeer::APP_MSG_DATE, AppMessagePeer::APP_MSG_CC, AppMessagePeer::APP_MSG_BCC, AppMessagePeer::APP_MSG_TEMPLATE, AppMessagePeer::APP_MSG_STATUS, AppMessagePeer::APP_MSG_ATTACH, AppMessagePeer::APP_MSG_SEND_DATE, AppMessagePeer::APP_MSG_SHOW_MESSAGE, AppMessagePeer::APP_MSG_ERROR, ),
- BasePeer::TYPE_FIELDNAME => array ('APP_MSG_UID', 'MSG_UID', 'APP_UID', 'DEL_INDEX', 'APP_MSG_TYPE', 'APP_MSG_SUBJECT', 'APP_MSG_FROM', 'APP_MSG_TO', 'APP_MSG_BODY', 'APP_MSG_DATE', 'APP_MSG_CC', 'APP_MSG_BCC', 'APP_MSG_TEMPLATE', 'APP_MSG_STATUS', 'APP_MSG_ATTACH', 'APP_MSG_SEND_DATE', 'APP_MSG_SHOW_MESSAGE', 'APP_MSG_ERROR', ),
- BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, )
+ BasePeer::TYPE_PHPNAME => array ('AppMsgUid', 'MsgUid', 'AppUid', 'DelIndex', 'AppMsgType', 'AppMsgSubject', 'AppMsgFrom', 'AppMsgTo', 'AppMsgBody', 'AppMsgDate', 'AppMsgCc', 'AppMsgBcc', 'AppMsgTemplate', 'AppMsgStatus', 'AppMsgAttach', 'AppMsgSendDate', 'AppMsgShowMessage', 'AppMsgError', 'TasId', 'AppNumber', ),
+ BasePeer::TYPE_COLNAME => array (AppMessagePeer::APP_MSG_UID, AppMessagePeer::MSG_UID, AppMessagePeer::APP_UID, AppMessagePeer::DEL_INDEX, AppMessagePeer::APP_MSG_TYPE, AppMessagePeer::APP_MSG_SUBJECT, AppMessagePeer::APP_MSG_FROM, AppMessagePeer::APP_MSG_TO, AppMessagePeer::APP_MSG_BODY, AppMessagePeer::APP_MSG_DATE, AppMessagePeer::APP_MSG_CC, AppMessagePeer::APP_MSG_BCC, AppMessagePeer::APP_MSG_TEMPLATE, AppMessagePeer::APP_MSG_STATUS, AppMessagePeer::APP_MSG_ATTACH, AppMessagePeer::APP_MSG_SEND_DATE, AppMessagePeer::APP_MSG_SHOW_MESSAGE, AppMessagePeer::APP_MSG_ERROR, AppMessagePeer::TAS_ID, AppMessagePeer::APP_NUMBER, ),
+ BasePeer::TYPE_FIELDNAME => array ('APP_MSG_UID', 'MSG_UID', 'APP_UID', 'DEL_INDEX', 'APP_MSG_TYPE', 'APP_MSG_SUBJECT', 'APP_MSG_FROM', 'APP_MSG_TO', 'APP_MSG_BODY', 'APP_MSG_DATE', 'APP_MSG_CC', 'APP_MSG_BCC', 'APP_MSG_TEMPLATE', 'APP_MSG_STATUS', 'APP_MSG_ATTACH', 'APP_MSG_SEND_DATE', 'APP_MSG_SHOW_MESSAGE', 'APP_MSG_ERROR', 'TAS_ID', 'APP_NUMBER', ),
+ BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, )
);
/**
@@ -109,10 +115,10 @@ abstract class BaseAppMessagePeer
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
- BasePeer::TYPE_PHPNAME => array ('AppMsgUid' => 0, 'MsgUid' => 1, 'AppUid' => 2, 'DelIndex' => 3, 'AppMsgType' => 4, 'AppMsgSubject' => 5, 'AppMsgFrom' => 6, 'AppMsgTo' => 7, 'AppMsgBody' => 8, 'AppMsgDate' => 9, 'AppMsgCc' => 10, 'AppMsgBcc' => 11, 'AppMsgTemplate' => 12, 'AppMsgStatus' => 13, 'AppMsgAttach' => 14, 'AppMsgSendDate' => 15, 'AppMsgShowMessage' => 16, 'AppMsgError' => 17, ),
- BasePeer::TYPE_COLNAME => array (AppMessagePeer::APP_MSG_UID => 0, AppMessagePeer::MSG_UID => 1, AppMessagePeer::APP_UID => 2, AppMessagePeer::DEL_INDEX => 3, AppMessagePeer::APP_MSG_TYPE => 4, AppMessagePeer::APP_MSG_SUBJECT => 5, AppMessagePeer::APP_MSG_FROM => 6, AppMessagePeer::APP_MSG_TO => 7, AppMessagePeer::APP_MSG_BODY => 8, AppMessagePeer::APP_MSG_DATE => 9, AppMessagePeer::APP_MSG_CC => 10, AppMessagePeer::APP_MSG_BCC => 11, AppMessagePeer::APP_MSG_TEMPLATE => 12, AppMessagePeer::APP_MSG_STATUS => 13, AppMessagePeer::APP_MSG_ATTACH => 14, AppMessagePeer::APP_MSG_SEND_DATE => 15, AppMessagePeer::APP_MSG_SHOW_MESSAGE => 16, AppMessagePeer::APP_MSG_ERROR => 17, ),
- BasePeer::TYPE_FIELDNAME => array ('APP_MSG_UID' => 0, 'MSG_UID' => 1, 'APP_UID' => 2, 'DEL_INDEX' => 3, 'APP_MSG_TYPE' => 4, 'APP_MSG_SUBJECT' => 5, 'APP_MSG_FROM' => 6, 'APP_MSG_TO' => 7, 'APP_MSG_BODY' => 8, 'APP_MSG_DATE' => 9, 'APP_MSG_CC' => 10, 'APP_MSG_BCC' => 11, 'APP_MSG_TEMPLATE' => 12, 'APP_MSG_STATUS' => 13, 'APP_MSG_ATTACH' => 14, 'APP_MSG_SEND_DATE' => 15, 'APP_MSG_SHOW_MESSAGE' => 16, 'APP_MSG_ERROR' => 17, ),
- BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, )
+ BasePeer::TYPE_PHPNAME => array ('AppMsgUid' => 0, 'MsgUid' => 1, 'AppUid' => 2, 'DelIndex' => 3, 'AppMsgType' => 4, 'AppMsgSubject' => 5, 'AppMsgFrom' => 6, 'AppMsgTo' => 7, 'AppMsgBody' => 8, 'AppMsgDate' => 9, 'AppMsgCc' => 10, 'AppMsgBcc' => 11, 'AppMsgTemplate' => 12, 'AppMsgStatus' => 13, 'AppMsgAttach' => 14, 'AppMsgSendDate' => 15, 'AppMsgShowMessage' => 16, 'AppMsgError' => 17, 'TasId' => 18, 'AppNumber' => 19, ),
+ BasePeer::TYPE_COLNAME => array (AppMessagePeer::APP_MSG_UID => 0, AppMessagePeer::MSG_UID => 1, AppMessagePeer::APP_UID => 2, AppMessagePeer::DEL_INDEX => 3, AppMessagePeer::APP_MSG_TYPE => 4, AppMessagePeer::APP_MSG_SUBJECT => 5, AppMessagePeer::APP_MSG_FROM => 6, AppMessagePeer::APP_MSG_TO => 7, AppMessagePeer::APP_MSG_BODY => 8, AppMessagePeer::APP_MSG_DATE => 9, AppMessagePeer::APP_MSG_CC => 10, AppMessagePeer::APP_MSG_BCC => 11, AppMessagePeer::APP_MSG_TEMPLATE => 12, AppMessagePeer::APP_MSG_STATUS => 13, AppMessagePeer::APP_MSG_ATTACH => 14, AppMessagePeer::APP_MSG_SEND_DATE => 15, AppMessagePeer::APP_MSG_SHOW_MESSAGE => 16, AppMessagePeer::APP_MSG_ERROR => 17, AppMessagePeer::TAS_ID => 18, AppMessagePeer::APP_NUMBER => 19, ),
+ BasePeer::TYPE_FIELDNAME => array ('APP_MSG_UID' => 0, 'MSG_UID' => 1, 'APP_UID' => 2, 'DEL_INDEX' => 3, 'APP_MSG_TYPE' => 4, 'APP_MSG_SUBJECT' => 5, 'APP_MSG_FROM' => 6, 'APP_MSG_TO' => 7, 'APP_MSG_BODY' => 8, 'APP_MSG_DATE' => 9, 'APP_MSG_CC' => 10, 'APP_MSG_BCC' => 11, 'APP_MSG_TEMPLATE' => 12, 'APP_MSG_STATUS' => 13, 'APP_MSG_ATTACH' => 14, 'APP_MSG_SEND_DATE' => 15, 'APP_MSG_SHOW_MESSAGE' => 16, 'APP_MSG_ERROR' => 17, 'TAS_ID' => 18, 'APP_NUMBER' => 19, ),
+ BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, )
);
/**
@@ -249,6 +255,10 @@ abstract class BaseAppMessagePeer
$criteria->addSelectColumn(AppMessagePeer::APP_MSG_ERROR);
+ $criteria->addSelectColumn(AppMessagePeer::TAS_ID);
+
+ $criteria->addSelectColumn(AppMessagePeer::APP_NUMBER);
+
}
const COUNT = 'COUNT(APP_MESSAGE.APP_MSG_UID)';
diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml
index 455c759ce..5a0dc11d2 100644
--- a/workflow/engine/config/schema.xml
+++ b/workflow/engine/config/schema.xml
@@ -350,12 +350,20 @@
+
+
+
+
+
+
+
+
diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql
index 0d2aeb48c..21b5f938d 100644
--- a/workflow/engine/data/mysql/schema.sql
+++ b/workflow/engine/data/mysql/schema.sql
@@ -163,9 +163,13 @@ CREATE TABLE `APP_MESSAGE`
`APP_MSG_SEND_DATE` DATETIME NOT NULL,
`APP_MSG_SHOW_MESSAGE` TINYINT default 1 NOT NULL,
`APP_MSG_ERROR` MEDIUMTEXT,
+ `TAS_ID` INTEGER default 0,
+ `APP_NUMBER` INTEGER default 0,
PRIMARY KEY (`APP_MSG_UID`),
KEY `indexForAppUid`(`APP_UID`),
- KEY `indexForMsgStatus`(`APP_MSG_STATUS`)
+ KEY `indexForMsgStatus`(`APP_MSG_STATUS`),
+ KEY `INDEX_TAS_ID`(`TAS_ID`),
+ KEY `INDEX_APP_NUMBER`(`APP_NUMBER`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Messages in an Application';
#-----------------------------------------------------------------------------
#-- APP_OWNER
@@ -3180,6 +3184,6 @@ CREATE TABLE `PLUGINS_REGISTRY`
`PLUGIN_TASK_EXTENDED_PROPERTIES` MEDIUMTEXT,
`PLUGIN_ATTRIBUTES` MEDIUMTEXT,
PRIMARY KEY (`PR_UID`)
-)ENGINE=InnoDB ;
+)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Details of plugins registry';
# This restores the fkey checks, after having unset them earlier
SET FOREIGN_KEY_CHECKS = 1;
diff --git a/workflow/engine/methods/mails/emailList.php b/workflow/engine/methods/mails/emailList.php
index a7957d8a8..e3c4e2ef6 100644
--- a/workflow/engine/methods/mails/emailList.php
+++ b/workflow/engine/methods/mails/emailList.php
@@ -1,30 +1,8 @@
.
- *
- * For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
- * Coral Gables, FL, 33134, USA, or email info@colosa.com.
- */
-
global $RBAC;
use ProcessMaker\Plugins\PluginRegistry;
+use ProcessMaker\BusinessModel\Process as BmProcess;
$resultRbac = $RBAC->requirePermissions('PM_SETUP_ADVANCE', 'PM_SETUP_LOGS');
if (!$resultRbac) {
@@ -53,7 +31,8 @@ $status = array(
$pluginRegistry = PluginRegistry::loadSingleton();
$flagER = $pluginRegistry->isEnable('externalRegistration') ? 1 : 0;
-$processes = getProcessArray($userUid);
+$process = new BmProcess();
+$processes = $process->getProcessList();
$G_PUBLISH = new Publisher();
@@ -65,32 +44,5 @@ $oHeadPublisher->assign('statusValues', $status);
$oHeadPublisher->assign('processValues', $processes);
$oHeadPublisher->assign('flagER', $flagER);
-function getProcessArray($userUid) {
- global $oAppCache;
- require_once("classes/model/AppCacheView.php");
-
- $processes = array();
- $processes[] = array('', G::LoadTranslation('ID_ALL_PROCESS'));
-
- $cProcess = new Criteria('workflow');
- $cProcess->clearSelectColumns();
- $cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID);
- $cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE);
- $cProcess->setDistinct(AppCacheViewPeer::PRO_UID);
-
- $cProcess->addAscendingOrderByColumn(AppCacheViewPeer::APP_PRO_TITLE);
-
- $oDataset = AppCacheViewPeer::doSelectRS($cProcess);
- $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
- $oDataset->next();
-
- while ($aRow = $oDataset->getRow()) {
- $processes[] = array($aRow['PRO_UID'], $aRow['APP_PRO_TITLE']);
- $oDataset->next();
- }
-
- return $processes;
-}
-
G::RenderPage( 'publish', 'extJs' );
diff --git a/workflow/engine/methods/mails/emailsAjax.php b/workflow/engine/methods/mails/emailsAjax.php
index 62bdcd467..8643248d4 100644
--- a/workflow/engine/methods/mails/emailsAjax.php
+++ b/workflow/engine/methods/mails/emailsAjax.php
@@ -30,82 +30,14 @@ switch ($req) {
$dateTo = isset($_POST["dateTo"]) ? substr($_POST["dateTo"], 0, 10) : "";
$filterBy = (isset($_REQUEST['filterBy'])) ? $_REQUEST['filterBy'] : 'ALL';
- $response = new stdclass();
- $response->status = 'OK';
-
- $delimiter = DBAdapter::getStringDelimiter();
-
- $criteria = new Criteria();
- $criteria->addJoin(AppMessagePeer::APP_UID, ApplicationPeer::APP_UID, Criteria::LEFT_JOIN);
-
- if ($emailStatus != '') {
- $criteria->add(AppMessagePeer::APP_MSG_STATUS, $emailStatus);
- }
- if ($proUid != '') {
- $criteria->add(ApplicationPeer::PRO_UID, $proUid);
- }
-
+ //Review the External Registration
$arrayType = [];
-
$pluginRegistry = PluginRegistry::loadSingleton();
$flagEr = $pluginRegistry->isEnable('externalRegistration') ? 1 : 0;
-
if ($flagEr == 0) {
$arrayType[] = 'EXTERNAL_REGISTRATION';
}
- switch ($filterBy) {
- case 'CASES':
- $criteria->add(AppMessagePeer::APP_MSG_TYPE, ['TEST', 'EXTERNAL_REGISTRATION'], Criteria::NOT_IN);
- break;
- case 'TEST':
- $criteria->add(AppMessagePeer::APP_MSG_TYPE, 'TEST', Criteria::EQUAL);
- break;
- case 'EXTERNAL-REGISTRATION':
- $criteria->add(AppMessagePeer::APP_MSG_TYPE, 'EXTERNAL_REGISTRATION', Criteria::EQUAL);
- break;
- default:
- if (!empty($arrayType)) {
- $criteria->add(AppMessagePeer::APP_MSG_TYPE, $arrayType, Criteria::NOT_IN);
- }
- break;
- }
-
- if ($dateFrom != "") {
- if ($dateTo != "") {
- if ($dateFrom == $dateTo) {
- $dateSame = $dateFrom;
- $dateFrom = $dateSame . " 00:00:00";
- $dateTo = $dateSame . " 23:59:59";
- } else {
- $dateFrom = $dateFrom . " 00:00:00";
- $dateTo = $dateTo . " 23:59:59";
- }
-
- $criteria->add($criteria->getNewCriterion(AppMessagePeer::APP_MSG_DATE, $dateFrom, Criteria::GREATER_EQUAL)->addAnd($criteria->getNewCriterion(AppMessagePeer::APP_MSG_DATE, $dateTo, Criteria::LESS_EQUAL)));
- } else {
- $dateFrom = $dateFrom . " 00:00:00";
- $criteria->add(AppMessagePeer::APP_MSG_DATE, $dateFrom, Criteria::GREATER_EQUAL);
- }
- } elseif ($dateTo != "") {
- $dateTo = $dateTo . " 23:59:59";
- $criteria->add(AppMessagePeer::APP_MSG_DATE, $dateTo, Criteria::LESS_EQUAL);
- }
-
- //Number records total
- $criteriaCount = clone $criteria;
-
- $criteriaCount->clearSelectColumns();
- $criteriaCount->addSelectColumn('COUNT(' . AppMessagePeer::APP_MSG_UID . ') AS NUM_REC');
-
- $rsCriteriaCount = AppMessagePeer::doSelectRS($criteriaCount);
- $rsCriteriaCount->setFetchmode(ResultSet::FETCHMODE_ASSOC);
-
- $resultCount = $rsCriteriaCount->next();
- $rowCount = $rsCriteriaCount->getRow();
-
- $totalCount = (int)($rowCount['NUM_REC']);
-
$criteria = new Criteria();
$criteria->addSelectColumn(AppMessagePeer::APP_MSG_UID);
$criteria->addSelectColumn(AppMessagePeer::APP_UID);
@@ -113,7 +45,6 @@ switch ($req) {
$criteria->addSelectColumn(AppMessagePeer::APP_MSG_TYPE);
$criteria->addSelectColumn(AppMessagePeer::APP_MSG_SUBJECT);
$criteria->addSelectColumn(AppMessagePeer::APP_MSG_FROM);
-
$criteria->addSelectColumn(AppMessagePeer::APP_MSG_TO);
$criteria->addSelectColumn(AppMessagePeer::APP_MSG_BODY);
$criteria->addSelectColumn(AppMessagePeer::APP_MSG_STATUS);
@@ -121,18 +52,24 @@ switch ($req) {
$criteria->addSelectColumn(AppMessagePeer::APP_MSG_SEND_DATE);
$criteria->addSelectColumn(AppMessagePeer::APP_MSG_SHOW_MESSAGE);
$criteria->addSelectColumn(AppMessagePeer::APP_MSG_ERROR);
-
$criteria->addSelectColumn(ApplicationPeer::PRO_UID);
+ $criteria->addSelectColumn(ApplicationPeer::APP_TITLE);
$criteria->addSelectColumn(ApplicationPeer::APP_NUMBER);
$criteria->addSelectColumn(ProcessPeer::PRO_TITLE);
+ $criteria->addSelectColumn(TaskPeer::TAS_TITLE);
+ $criteria->addJoin(AppMessagePeer::APP_UID, ApplicationPeer::APP_UID, Criteria::LEFT_JOIN);
+ $criteria->addJoin(ApplicationPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN);
+ $criteria->addJoin(AppMessagePeer::TAS_ID, TaskPeer::TAS_ID, Criteria::LEFT_JOIN);
- if ($emailStatus != '') {
+ //Status can be: All, Participated, Pending
+ if (!empty($emailStatus)) {
$criteria->add(AppMessagePeer::APP_MSG_STATUS, $emailStatus);
}
- if ($proUid != '') {
+ //Process uid
+ if (!empty($proUid)) {
$criteria->add(ApplicationPeer::PRO_UID, $proUid);
}
-
+ //Filter by can be: All, Cases, Test
switch ($filterBy) {
case 'CASES':
$criteria->add(AppMessagePeer::APP_MSG_TYPE, ['TEST', 'EXTERNAL_REGISTRATION'], Criteria::NOT_IN);
@@ -149,29 +86,30 @@ switch ($req) {
}
break;
}
-
- if ($dateFrom != "") {
- if ($dateTo != "") {
- if ($dateFrom == $dateTo) {
- $dateSame = $dateFrom;
- $dateFrom = $dateSame . " 00:00:00";
- $dateTo = $dateSame . " 23:59:59";
- } else {
- $dateFrom = $dateFrom . " 00:00:00";
- $dateTo = $dateTo . " 23:59:59";
- }
-
- $criteria->add($criteria->getNewCriterion(AppMessagePeer::APP_MSG_DATE, $dateFrom, Criteria::GREATER_EQUAL)->addAnd($criteria->getNewCriterion(AppMessagePeer::APP_MSG_DATE, $dateTo, Criteria::LESS_EQUAL)));
- } else {
- $dateFrom = $dateFrom . " 00:00:00";
+ //Date from and to
+ if (!empty($dateFrom) && !empty($dateTo)) {
+ $criteria->add($criteria->getNewCriterion(AppMessagePeer::APP_MSG_DATE, $dateFrom, Criteria::GREATER_EQUAL)->addAnd($criteria->getNewCriterion(AppMessagePeer::APP_MSG_DATE, $dateTo, Criteria::LESS_EQUAL)));
+ } else {
+ if (!empty($dateFrom)) {
$criteria->add(AppMessagePeer::APP_MSG_DATE, $dateFrom, Criteria::GREATER_EQUAL);
}
- } elseif ($dateTo != "") {
- $dateTo = $dateTo . " 23:59:59";
- $criteria->add(AppMessagePeer::APP_MSG_DATE, $dateTo, Criteria::LESS_EQUAL);
+ if (!empty($dateTo)) {
+ $dateTo = $dateTo . " 23:59:59";
+ $criteria->add(AppMessagePeer::APP_MSG_DATE, $dateTo, Criteria::LESS_EQUAL);
+ }
}
- if ($sort != '') {
+ //Number records total
+ $criteriaCount = clone $criteria;
+ $criteriaCount->clearSelectColumns();
+ $criteriaCount->addSelectColumn('COUNT(' . AppMessagePeer::APP_MSG_UID . ') AS NUM_REC');
+ $rsCriteriaCount = AppMessagePeer::doSelectRS($criteriaCount);
+ $rsCriteriaCount->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+ $resultCount = $rsCriteriaCount->next();
+ $rowCount = $rsCriteriaCount->getRow();
+ $totalCount = (int)($rowCount['NUM_REC']);
+
+ if (!empty($sort)) {
if (!in_array($sort, AppMessagePeer::getFieldNames(BasePeer::TYPE_FIELDNAME))) {
throw new Exception(G::LoadTranslation('ID_INVALID_VALUE_FOR', array('$sort')));
}
@@ -183,15 +121,11 @@ switch ($req) {
} else {
$oCriteria->addDescendingOrderByColumn(AppMessagePeer::APP_MSG_SEND_DATE);
}
- if ($limit != '') {
+ if (!empty($limit)) {
$criteria->setLimit($limit);
$criteria->setOffset($start);
}
- $criteria->addJoin(AppMessagePeer::APP_UID, ApplicationPeer::APP_UID);
- $criteria->addJoin(ApplicationPeer::PRO_UID, ProcessPeer::PRO_UID);
-
-
$result = AppMessagePeer::doSelectRS($criteria);
$result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$data = Array();
@@ -209,48 +143,15 @@ switch ($req) {
if ($row['DEL_INDEX'] != 0) {
$index = $row['DEL_INDEX'];
}
-
- $criteria = new Criteria();
-
- $criteria->addSelectColumn(AppCacheViewPeer::APP_TITLE);
- $criteria->addSelectColumn(AppCacheViewPeer::APP_TAS_TITLE);
- $criteria->add(AppCacheViewPeer::APP_UID, $row['APP_UID'], Criteria::EQUAL);
- $criteria->add(AppCacheViewPeer::DEL_INDEX, $index, Criteria::EQUAL);
-
- $resultCacheView = AppCacheViewPeer::doSelectRS($criteria);
- $resultCacheView->setFetchmode(ResultSet::FETCHMODE_ASSOC);
-
- $row['APP_TITLE'] = '-';
-
- while ($resultCacheView->next()) {
- $rowCacheView = $resultCacheView->getRow();
- $row['APP_TITLE'] = $rowCacheView['APP_TITLE'];
- $row['TAS_TITLE'] = $rowCacheView['APP_TAS_TITLE'];
- }
-
if ($row['DEL_INDEX'] == 0) {
$row['TAS_TITLE'] = $tasTitleDefault;
}
break;
- case 'TEST':
- $row['PRO_UID'] = '';
- $row['APP_NUMBER'] = '';
- $row['PRO_TITLE'] = '';
- $row['APP_TITLE'] = '';
- $row['TAS_TITLE'] = '';
- break;
- case 'EXTERNAL-REGISTRATION':
- $row['PRO_UID'] = '';
- $row['APP_NUMBER'] = '';
- $row['PRO_TITLE'] = '';
- $row['APP_TITLE'] = '';
- $row['TAS_TITLE'] = '';
- break;
}
$data[] = $row;
}
- $response = array();
+ $response = [];
$response['totalCount'] = $totalCount;
$response['data'] = $data;
die(G::json_encode($response));
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php
index e756f1935..b2086b1e1 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php
@@ -2,10 +2,26 @@
namespace ProcessMaker\BusinessModel;
+use AbeConfiguration;
+use AbeConfigurationPeer;
+use AbeRequests;
+use AbeRequestsPeer;
+use AbeResponsesPeer;
+use ApplicationPeer;
+use AppDelegationPeer;
+use Criteria;
+use Exception;
+use G;
+use Publisher;
use ProcessMaker\Core\System;
use ProcessMaker\Plugins\PluginRegistry;
use PmDynaform;
+use PMLicensedFeatures;
+use ResultSet;
use SpoolRun;
+use stdClass;
+use UsersPeer;
+use TaskPeer;
/**
* Description of ActionsByEmailService
@@ -16,14 +32,14 @@ class ActionsByEmail
public function saveConfiguration($params)
{
- if (\PMLicensedFeatures
+ if (PMLicensedFeatures
::getSingleton()
->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) {
$feature = $params['ActionsByEmail'];
switch ($feature['type']) {
case 'configuration':
require_once 'classes/model/AbeConfiguration.php';
- $abeConfigurationInstance = new \AbeConfiguration();
+ $abeConfigurationInstance = new AbeConfiguration();
if (isset($feature['fields']['ABE_CASE_NOTE_IN_RESPONSE'])) {
$arrayAux = json_decode($feature['fields']['ABE_CASE_NOTE_IN_RESPONSE']);
@@ -48,7 +64,7 @@ class ActionsByEmail
public function loadConfiguration($params)
{
if ($params['type'] != 'activity'
- || !\PMLicensedFeatures
+ || !PMLicensedFeatures
::getSingleton()
->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0='))
{
@@ -56,11 +72,11 @@ class ActionsByEmail
}
require_once 'classes/model/AbeConfiguration.php';
- $criteria = new \Criteria();
- $criteria->add(\AbeConfigurationPeer::PRO_UID, $params['PRO_UID']);
- $criteria->add(\AbeConfigurationPeer::TAS_UID, $params['TAS_UID']);
- $result = \AbeConfigurationPeer::doSelectRS($criteria);
- $result->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ $criteria = new Criteria();
+ $criteria->add(AbeConfigurationPeer::PRO_UID, $params['PRO_UID']);
+ $criteria->add(AbeConfigurationPeer::TAS_UID, $params['TAS_UID']);
+ $result = AbeConfigurationPeer::doSelectRS($criteria);
+ $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$result->next();
$configuration = array();
if ($configuration = $result->getRow()) {
@@ -92,7 +108,7 @@ class ActionsByEmail
}
if ($arrayData['TEMPLATE'] == '') {
- throw new Exception(\G::LoadTranslation('ID_TEMPLATE_PARAMETER_EMPTY'));
+ throw new Exception(G::LoadTranslation('ID_TEMPLATE_PARAMETER_EMPTY'));
}
$data = array(
@@ -104,10 +120,10 @@ class ActionsByEmail
global $G_PUBLISH;
- $G_PUBLISH = new \Publisher();
+ $G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'actionsByEmail/actionsByEmail_FileEdit', '', $data);
- \G::RenderPage('publish', 'raw');
+ G::RenderPage('publish', 'raw');
die();
}
@@ -123,7 +139,7 @@ class ActionsByEmail
}
if ($arrayData['TEMPLATE'] == '') {
- throw new Exception(\G::LoadTranslation('ID_TEMPLATE_PARAMETER_EMPTY'));
+ throw new Exception(G::LoadTranslation('ID_TEMPLATE_PARAMETER_EMPTY'));
}
$templateFile = fopen(PATH_DATA_MAILTEMPLATES . $arrayData['PRO_UID'] . PATH_SEP . $arrayData['TEMPLATE'], 'w');
@@ -145,8 +161,9 @@ class ActionsByEmail
$arrayData['PRO_UID'] = '';
}
- $response->emailFields = array();
- $response->actionFields = array();
+ $response = new stdClass();
+ $response->emailFields = [];
+ $response->actionFields = [];
if ($arrayData['PRO_UID'] != '' && $arrayData['DYN_UID']) {
$dynaform = new Form($arrayData['PRO_UID'] . PATH_SEP . $arrayData['DYN_UID'], PATH_DYNAFORM, SYS_LANG, false);
@@ -212,30 +229,31 @@ class ActionsByEmail
}
if ($arrayData['PRO_UID'] == '') {
- throw new Exception(\G::LoadTranslation('ID_PRO_UID_PARAMETER_IS_EMPTY'));
+ throw new Exception(G::LoadTranslation('ID_PRO_UID_PARAMETER_IS_EMPTY'));
}
if ($arrayData['TAS_UID'] == '') {
- throw new Exception(\G::LoadTranslation('ID_TAS_UID_PARAMETER_IS_EMPTY'));
+ throw new Exception(G::LoadTranslation('ID_TAS_UID_PARAMETER_IS_EMPTY'));
}
- $abeConfigurationInstance = new \AbeConfiguration();
+ $abeConfigurationInstance = new AbeConfiguration();
+ $response = new stdClass();
if ($arrayData['ABE_TYPE'] != '') {
if ($arrayData['DYN_UID'] == '') {
- throw new Exception(\G::LoadTranslation('ID_DYN_UID_PARAMETER_IS_EMPTY'));
+ throw new Exception(G::LoadTranslation('ID_DYN_UID_PARAMETER_IS_EMPTY'));
}
try {
$response->ABE_UID = $abeConfigurationInstance->createOrUpdate($arrayData);
- } catch (\Exception $error) {
+ } catch (Exception $error) {
throw $error;
}
} else {
try {
$abeConfigurationInstance->deleteByTasUid($arrayData['TAS_UID']);
$response->ABE_UID = '';
- } catch (\Exception $error) {
+ } catch (Exception $error) {
throw $error;
}
}
@@ -246,51 +264,51 @@ class ActionsByEmail
public function loadActionByEmail(array $arrayData)
{
- $criteria = new \Criteria();
+ $criteria = new Criteria();
$criteria->addSelectColumn('COUNT(*)');
- $criteria->addJoin(\AbeConfigurationPeer::ABE_UID, \AbeRequestsPeer::ABE_UID);
- $criteria->addJoin(\AppDelegationPeer::APP_UID, \AbeRequestsPeer::APP_UID);
- $criteria->addJoin(\AppDelegationPeer::DEL_INDEX, \AbeRequestsPeer::DEL_INDEX);
- $result = \AbeConfigurationPeer::doSelectRS($criteria);
- $result->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ $criteria->addJoin(AbeConfigurationPeer::ABE_UID, AbeRequestsPeer::ABE_UID);
+ $criteria->addJoin(AppDelegationPeer::APP_UID, AbeRequestsPeer::APP_UID);
+ $criteria->addJoin(AppDelegationPeer::DEL_INDEX, AbeRequestsPeer::DEL_INDEX);
+ $result = AbeConfigurationPeer::doSelectRS($criteria);
+ $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$result->next();
$totalCount = $result->getRow();
$totalCount = $totalCount['COUNT(*)'];
- $criteria = new \Criteria();
- $criteria->addSelectColumn(\AbeConfigurationPeer::ABE_UID);
- $criteria->addSelectColumn(\AbeConfigurationPeer::PRO_UID);
- $criteria->addSelectColumn(\AbeConfigurationPeer::TAS_UID);
- $criteria->addSelectColumn(\AbeConfigurationPeer::ABE_UPDATE_DATE);
- $criteria->addSelectColumn(\AbeConfigurationPeer::ABE_TEMPLATE);
- $criteria->addSelectColumn(\AbeConfigurationPeer::ABE_ACTION_FIELD);
- $criteria->addSelectColumn(\AbeConfigurationPeer::DYN_UID);
+ $criteria = new Criteria();
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::PRO_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::TAS_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_UPDATE_DATE);
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_TEMPLATE);
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_ACTION_FIELD);
+ $criteria->addSelectColumn(AbeConfigurationPeer::DYN_UID);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_UID);
- $criteria->addSelectColumn(\AbeRequestsPeer::APP_UID);
- $criteria->addSelectColumn(\AbeRequestsPeer::DEL_INDEX);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_SENT_TO);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_STATUS);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_SUBJECT);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_ANSWERED);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_BODY);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_DATE);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::APP_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::DEL_INDEX);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_SENT_TO);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_STATUS);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_SUBJECT);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_ANSWERED);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_BODY);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_DATE);
- $criteria->addSelectColumn(\ApplicationPeer::APP_NUMBER);
+ $criteria->addSelectColumn(ApplicationPeer::APP_NUMBER);
- $criteria->addSelectColumn(\AppDelegationPeer::DEL_PREVIOUS);
+ $criteria->addSelectColumn(AppDelegationPeer::DEL_PREVIOUS);
- $criteria->addJoin(\AbeConfigurationPeer::ABE_UID, \AbeRequestsPeer::ABE_UID);
- $criteria->addJoin(\ApplicationPeer::APP_UID, \AbeRequestsPeer::APP_UID);
+ $criteria->addJoin(AbeConfigurationPeer::ABE_UID, AbeRequestsPeer::ABE_UID);
+ $criteria->addJoin(ApplicationPeer::APP_UID, AbeRequestsPeer::APP_UID);
- $criteria->addJoin(\AppDelegationPeer::APP_UID, \AbeRequestsPeer::APP_UID);
- $criteria->addJoin(\AppDelegationPeer::DEL_INDEX, \AbeRequestsPeer::DEL_INDEX);
- $criteria->addDescendingOrderByColumn(\AbeRequestsPeer::ABE_REQ_DATE);
+ $criteria->addJoin(AppDelegationPeer::APP_UID, AbeRequestsPeer::APP_UID);
+ $criteria->addJoin(AppDelegationPeer::DEL_INDEX, AbeRequestsPeer::DEL_INDEX);
+ $criteria->addDescendingOrderByColumn(AbeRequestsPeer::ABE_REQ_DATE);
$criteria->setLimit($arrayData['limit']);
$criteria->setOffset($arrayData['start']);
- $result = \AbeConfigurationPeer::doSelectRS($criteria);
- $result->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ $result = AbeConfigurationPeer::doSelectRS($criteria);
+ $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$data = Array();
$arrayPro = Array();
$arrayTAS = Array();
@@ -298,18 +316,18 @@ class ActionsByEmail
while ($result->next()) {
$data[] = $result->getRow();
- $criteriaRes = new \Criteria();
+ $criteriaRes = new Criteria();
- $criteriaRes->addSelectColumn(\AbeResponsesPeer::ABE_RES_UID);
- $criteriaRes->addSelectColumn(\AbeResponsesPeer::ABE_RES_CLIENT_IP);
- $criteriaRes->addSelectColumn(\AbeResponsesPeer::ABE_RES_DATA);
- $criteriaRes->addSelectColumn(\AbeResponsesPeer::ABE_RES_STATUS);
- $criteriaRes->addSelectColumn(\AbeResponsesPeer::ABE_RES_MESSAGE);
+ $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_UID);
+ $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_CLIENT_IP);
+ $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_DATA);
+ $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_STATUS);
+ $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_MESSAGE);
- $criteriaRes->add(\AbeResponsesPeer::ABE_REQ_UID, $data[$index]['ABE_REQ_UID']);
+ $criteriaRes->add(AbeResponsesPeer::ABE_REQ_UID, $data[$index]['ABE_REQ_UID']);
- $resultRes = \AbeResponsesPeer::doSelectRS($criteriaRes);
- $resultRes->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ $resultRes = AbeResponsesPeer::doSelectRS($criteriaRes);
+ $resultRes->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$resultRes->next();
$dataRes = Array();
@@ -327,17 +345,17 @@ class ActionsByEmail
$data[$index]['ABE_RES_MESSAGE'] = '';
}
- $criteriaRes = new \Criteria();
+ $criteriaRes = new Criteria();
- $criteriaRes->addSelectColumn(\AppDelegationPeer::USR_UID);
- $criteriaRes->addSelectColumn(\UsersPeer::USR_FIRSTNAME);
- $criteriaRes->addSelectColumn(\UsersPeer::USR_LASTNAME);
+ $criteriaRes->addSelectColumn(AppDelegationPeer::USR_UID);
+ $criteriaRes->addSelectColumn(UsersPeer::USR_FIRSTNAME);
+ $criteriaRes->addSelectColumn(UsersPeer::USR_LASTNAME);
- $criteria->addJoin(\AppDelegationPeer::APP_UID, $data[$index]['APP_UID']);
- $criteria->addJoin(\AppDelegationPeer::DEL_INDEX, $data[$index]['DEL_PREVIOUS']);
- $criteria->addJoin(\AppDelegationPeer::USR_UID, \UsersPeer::USR_UID);
- $resultRes = \AppDelegationPeer::doSelectRS($criteriaRes);
- $resultRes->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ $criteria->addJoin(AppDelegationPeer::APP_UID, $data[$index]['APP_UID']);
+ $criteria->addJoin(AppDelegationPeer::DEL_INDEX, $data[$index]['DEL_PREVIOUS']);
+ $criteria->addJoin(AppDelegationPeer::USR_UID, UsersPeer::USR_UID);
+ $resultRes = AppDelegationPeer::doSelectRS($criteriaRes);
+ $resultRes->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$resultRes->next();
if ($dataRes = $resultRes->getRow()) {
@@ -370,31 +388,31 @@ class ActionsByEmail
$arrayData['REQ_UID'] = '';
}
- $criteria = new \Criteria();
- $criteria->addSelectColumn(\AbeConfigurationPeer::ABE_UID);
- $criteria->addSelectColumn(\AbeConfigurationPeer::PRO_UID);
- $criteria->addSelectColumn(\AbeConfigurationPeer::TAS_UID);
-
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_UID);
- $criteria->addSelectColumn(\AbeRequestsPeer::APP_UID);
- $criteria->addSelectColumn(\AbeRequestsPeer::DEL_INDEX);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_SENT_TO);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_SUBJECT);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_BODY);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_ANSWERED);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_STATUS);
-
- $criteria->addSelectColumn(\AppDelegationPeer::DEL_FINISH_DATE);
-
- $criteria->add(\AbeRequestsPeer::ABE_REQ_UID, $arrayData['REQ_UID']);
- $criteria->addJoin(\AbeRequestsPeer::ABE_UID, \AbeConfigurationPeer::ABE_UID);
- $criteria->addJoin(\AppDelegationPeer::APP_UID, \AbeRequestsPeer::APP_UID);
- $criteria->addJoin(\AppDelegationPeer::DEL_INDEX, \AbeRequestsPeer::DEL_INDEX);
- $resultRes = \AbeRequestsPeer::doSelectRS($criteria);
- $resultRes->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
-
+ $criteria = new Criteria();
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::PRO_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::TAS_UID);
+ $criteria->addSelectColumn(TaskPeer::TAS_ID);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::APP_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::DEL_INDEX);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_SENT_TO);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_SUBJECT);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_BODY);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_ANSWERED);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_STATUS);
+ $criteria->addSelectColumn(AppDelegationPeer::DEL_FINISH_DATE);
+ $criteria->addSelectColumn(AppDelegationPeer::APP_NUMBER);
+ $criteria->addJoin(AbeConfigurationPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
+ $criteria->addJoin(AbeConfigurationPeer::ABE_UID, AbeRequestsPeer::ABE_UID, Criteria::LEFT_JOIN);
+ $conditions[] = [AbeRequestsPeer::APP_UID, AppDelegationPeer::APP_UID];
+ $conditions[] = [AbeRequestsPeer::DEL_INDEX, AppDelegationPeer::DEL_INDEX];
+ $criteria->addJoinMC($conditions, Criteria::LEFT_JOIN);
+ $criteria->add(AbeRequestsPeer::ABE_REQ_UID, $arrayData['REQ_UID']);
+ $resultRes = AbeRequestsPeer::doSelectRS($criteria);
+ $resultRes->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$resultRes->next();
- $dataRes = Array();
+ $dataRes = [];
if ($dataRes = $resultRes->getRow()) {
if (is_null($dataRes['DEL_FINISH_DATE'])) {
@@ -402,7 +420,7 @@ class ActionsByEmail
$emailServer = new \ProcessMaker\BusinessModel\EmailServer();
$criteria = $emailServer->getEmailServerCriteria();
$rsCriteria = \EmailServerPeer::doSelectRS($criteria);
- $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
if ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
@@ -414,7 +432,7 @@ class ActionsByEmail
$spool = new SpoolRun();
$spool->setConfig($aSetup);
- $spool->create(array(
+ $spool->create([
'msg_uid' => '',
'app_uid' => $dataRes['APP_UID'],
'del_index' => $dataRes['DEL_INDEX'],
@@ -427,29 +445,30 @@ class ActionsByEmail
'app_msg_bcc' => '',
'app_msg_attach' => '',
'app_msg_template' => '',
- 'app_msg_status' => 'pending'
- ));
+ 'app_msg_status' => 'pending',
+ "tas_id" => $dataRes['TAS_ID'],
+ "app_number" => isset($dataRes['APP_NUMBER']) ? $dataRes['APP_NUMBER'] : ''
+ ]);
if ($spool->sendMail()) {
$dataRes['ABE_REQ_STATUS'] = 'SENT';
-
- $message = \G::LoadTranslation('ID_EMAIL_RESENT_TO') . ': '. $dataRes['ABE_REQ_SENT_TO'];
+ $message = G::LoadTranslation('ID_EMAIL_RESENT_TO') . ': ' . $dataRes['ABE_REQ_SENT_TO'];
} else {
$dataRes['ABE_REQ_STATUS'] = 'ERROR';
- $message = \G::LoadTranslation('ID_THERE_PROBLEM_SENDING_EMAIL') . ': '. $dataRes['ABE_REQ_SENT_TO'] . ', ' . G::LoadTranslation('ID_PLEASE_TRY_LATER');
+ $message = G::LoadTranslation('ID_THERE_PROBLEM_SENDING_EMAIL') . ': ' . $dataRes['ABE_REQ_SENT_TO'] . ', ' . G::LoadTranslation('ID_PLEASE_TRY_LATER');
}
try {
- $abeRequestsInstance = new \AbeRequests();
+ $abeRequestsInstance = new AbeRequests();
$abeRequestsInstance->createOrUpdate($dataRes);
- } catch (\Exception $error) {
+ } catch (Exception $error) {
throw $error;
}
} else {
- $message = \G::LoadTranslation('ID_UNABLE_TO_SEND_EMAIL');
+ $message = G::LoadTranslation('ID_UNABLE_TO_SEND_EMAIL');
}
} else {
- $message = \G::LoadTranslation('ID_UNEXPECTED_ERROR_OCCURRED_PLEASE');
+ $message = G::LoadTranslation('ID_UNEXPECTED_ERROR_OCCURRED_PLEASE');
}
//Return
@@ -469,29 +488,29 @@ class ActionsByEmail
$arrayData['REQ_UID'] = '';
}
- $criteria = new \Criteria();
- $criteria->addSelectColumn(\AbeConfigurationPeer::ABE_UID);
- $criteria->addSelectColumn(\AbeConfigurationPeer::PRO_UID);
- $criteria->addSelectColumn(\AbeConfigurationPeer::TAS_UID);
- $criteria->addSelectColumn(\AbeConfigurationPeer::DYN_UID);
- $criteria->addSelectColumn(\AbeConfigurationPeer::ABE_ACTION_FIELD);
+ $criteria = new Criteria();
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::PRO_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::TAS_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::DYN_UID);
+ $criteria->addSelectColumn(AbeConfigurationPeer::ABE_ACTION_FIELD);
- $criteria->addSelectColumn(\AbeRequestsPeer::ABE_REQ_UID);
- $criteria->addSelectColumn(\AbeRequestsPeer::APP_UID);
- $criteria->addSelectColumn(\AbeRequestsPeer::DEL_INDEX);
+ $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::APP_UID);
+ $criteria->addSelectColumn(AbeRequestsPeer::DEL_INDEX);
- $criteria->addSelectColumn(\AbeResponsesPeer::ABE_RES_UID);
- $criteria->addSelectColumn(\AbeResponsesPeer::ABE_RES_DATA);
+ $criteria->addSelectColumn(AbeResponsesPeer::ABE_RES_UID);
+ $criteria->addSelectColumn(AbeResponsesPeer::ABE_RES_DATA);
- $criteria->add(\AbeRequestsPeer::ABE_REQ_UID, $arrayData['REQ_UID']);
- $criteria->addJoin(\AbeRequestsPeer::ABE_UID, \AbeConfigurationPeer::ABE_UID);
- $criteria->addJoin(\AbeResponsesPeer::ABE_REQ_UID, \AbeRequestsPeer::ABE_REQ_UID);
- $resultRes = \AbeRequestsPeer::doSelectRS($criteria);
- $resultRes->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ $criteria->add(AbeRequestsPeer::ABE_REQ_UID, $arrayData['REQ_UID']);
+ $criteria->addJoin(AbeRequestsPeer::ABE_UID, AbeConfigurationPeer::ABE_UID);
+ $criteria->addJoin(AbeResponsesPeer::ABE_REQ_UID, AbeRequestsPeer::ABE_REQ_UID);
+ $resultRes = AbeRequestsPeer::doSelectRS($criteria);
+ $resultRes->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$resultRes->next();
$dataRes = Array();
- $message = \G::LoadTranslation('ID_USER_NOT_RESPONDED_REQUEST');
+ $message = G::LoadTranslation('ID_USER_NOT_RESPONDED_REQUEST');
if ($dataRes = $resultRes->getRow()) {
$_SESSION['CURRENT_DYN_UID'] = trim($dataRes['DYN_UID']);
@@ -572,12 +591,12 @@ class ActionsByEmail
$configuration['CURRENT_DYNAFORM'] = trim($dataRes['DYN_UID']);
$configuration['PRO_UID'] = trim($dataRes['PRO_UID']);
- $criteriaD = new \Criteria();
+ $criteriaD = new Criteria();
$criteriaD->addSelectColumn(\DynaformPeer::DYN_CONTENT);
$criteriaD->addSelectColumn(\DynaformPeer::PRO_UID);
$criteriaD->add(\DynaformPeer::DYN_UID, trim($dataRes['DYN_UID']));
$resultD = \DynaformPeer::doSelectRS($criteriaD);
- $resultD->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ $resultD->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$resultD->next();
$configuration = $resultD->getRow();
@@ -587,7 +606,7 @@ class ActionsByEmail
if ($dataRes['ABE_RES_DATA'] !== '') {
$value = unserialize($dataRes['ABE_RES_DATA']);
$actionField = str_replace(array('@@','@#','@=','@%','@?','@$'), '', $dataRes['ABE_ACTION_FIELD']);
- $variables = \G::json_decode($configuration['DYN_CONTENT'], true);
+ $variables = G::json_decode($configuration['DYN_CONTENT'], true);
if (is_array($value)) {
if(isset($variables['items'][0]['items'])) {
$fields = $variables['items'][0]['items'];
@@ -654,13 +673,13 @@ class ActionsByEmail
);
//Verify login
- $criteria = new \Criteria('workflow');
+ $criteria = new Criteria('workflow');
- $criteria->add(\AbeConfigurationPeer::PRO_UID, $arrayAppDelegationData['PRO_UID'], \Criteria::EQUAL);
- $criteria->add(\AbeConfigurationPeer::TAS_UID, $arrayAppDelegationData['TAS_UID'], \Criteria::EQUAL);
+ $criteria->add(AbeConfigurationPeer::PRO_UID, $arrayAppDelegationData['PRO_UID'], Criteria::EQUAL);
+ $criteria->add(AbeConfigurationPeer::TAS_UID, $arrayAppDelegationData['TAS_UID'], Criteria::EQUAL);
- $rsCriteria = \AbeConfigurationPeer::doSelectRS($criteria);
- $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ $rsCriteria = AbeConfigurationPeer::doSelectRS($criteria);
+ $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
if ($rsCriteria->next()) {
$record = $rsCriteria->getRow();
@@ -671,7 +690,7 @@ class ActionsByEmail
if (!isset($_SESSION['USER_LOGGED'])) {
/*----------------------------------********---------------------------------*/
//SSO
- if (\PMLicensedFeatures::getSingleton()->verifyfeature('x4TTzlISnp2K2tnSTJoMC8rTDRMTjlhMCtZeXV0QnNCLzU=')) {
+ if (PMLicensedFeatures::getSingleton()->verifyfeature('x4TTzlISnp2K2tnSTJoMC8rTDRMTjlhMCtZeXV0QnNCLzU=')) {
$sso = new \PmSsoClass();
@@ -716,7 +735,7 @@ class ActionsByEmail
$flagLogin = true;
} else {
if ($_SESSION['USER_LOGGED'] != $arrayAppDelegationData['USR_UID']) {
- \G::SendTemporalMessage('ID_CASE_ASSIGNED_ANOTHER_USER', 'error', 'label');
+ G::SendTemporalMessage('ID_CASE_ASSIGNED_ANOTHER_USER', 'error', 'label');
$flagLogin = true;
}
@@ -732,7 +751,7 @@ class ActionsByEmail
}
}
}
- } catch (\Exception $e) {
+ } catch (Exception $e) {
throw $e;
}
}
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Process.php b/workflow/engine/src/ProcessMaker/BusinessModel/Process.php
index d75e34c5e..8a24d95b7 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/Process.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/Process.php
@@ -4,6 +4,8 @@ namespace ProcessMaker\BusinessModel;
use G;
use Criteria;
use DynaformHandler;
+use ProcessPeer;
+use ResultSet;
class Process
{
@@ -1837,4 +1839,43 @@ class Process
}
+ /**
+ * We will get the process list
+ * will be return the "PRO_ID" value for the processes, otherwise, return the "PRO_UID" value
+ *
+ * @param string $search
+ * @param boolean $useProId, we can define if we use the PRO ID instead of PRO_UID
+ *
+ * @return array
+ */
+ public function getProcessList($search = '', $useProId = false)
+ {
+ $processes = [];
+ $processes[] = ["", G::LoadTranslation("ID_ALL_PROCESS")];
+
+ $process = new Criteria("workflow");
+ $process->clearSelectColumns();
+ $process->addSelectColumn(ProcessPeer::PRO_ID);
+ $process->addSelectColumn(ProcessPeer::PRO_UID);
+ $process->addSelectColumn(ProcessPeer::PRO_TITLE);
+ $process->add(ProcessPeer::PRO_STATUS, "ACTIVE");
+ if (!empty($search)) {
+ $process->add(ProcessPeer::PRO_TITLE, "%$search%", Criteria::LIKE);
+ }
+ $dataset = ProcessPeer::doSelectRS($process);
+ $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+ $dataset->next();
+ while ($row = $dataset->getRow()) {
+ if ($useProId) {
+ $processes[] = [$row["PRO_ID"], $row["PRO_TITLE"]];
+ } else {
+ $processes[] = [$row['PRO_UID'], $row['PRO_TITLE']];
+ }
+
+ $dataset->next();
+ }
+
+ return $processes;
+ }
+
}