diff --git a/workflow/engine/menus/setup.php b/workflow/engine/menus/setup.php
index 32400b875..fad636ad4 100755
--- a/workflow/engine/menus/setup.php
+++ b/workflow/engine/menus/setup.php
@@ -288,9 +288,10 @@ if ($RBAC->userCanAccess('PM_SETUP') == 1) {
}
/*----------------------------------********---------------------------------*/
-$oPluginRegistry = &PMPluginRegistry::getSingleton();
-$oObject = $oPluginRegistry->getPlugin("actionsByEmail");
-if (!(get_class($oObject) === "actionsByEmailPlugin") &&
+$pluginRegistry = &PMPluginRegistry::getSingleton(); //lsl
+$status = $pluginRegistry->getStatusPlugin('actionsByEmail');
+
+if ((string)($status) !== 'enabled' &&
$licensedFeatures->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=') &&
$RBAC->userCanAccess('PM_SETUP_LOGS') == 1
) {
diff --git a/workflow/engine/methods/actionsByEmail/ActionByEmail.php b/workflow/engine/methods/actionsByEmail/ActionByEmail.php
new file mode 100644
index 000000000..450b99aa7
--- /dev/null
+++ b/workflow/engine/methods/actionsByEmail/ActionByEmail.php
@@ -0,0 +1,4 @@
+addExtJsScript('actionsByEmail/report', false); //adding a javascript file .js
+
+G::RenderPage('publish', 'extJs');
diff --git a/workflow/engine/methods/actionsByEmail/actionsByEmailAjax.php b/workflow/engine/methods/actionsByEmail/actionsByEmailAjax.php
new file mode 100644
index 000000000..8a8079f64
--- /dev/null
+++ b/workflow/engine/methods/actionsByEmail/actionsByEmailAjax.php
@@ -0,0 +1,57 @@
+status = 'OK';
+
+//Main switch
+try {
+ $actionsByEmail = new \ProcessMaker\BusinessModel\ActionsByEmail();
+
+ switch ($_REQUEST['action']) {
+ case 'editTemplate':
+ $actionsByEmail->editTemplate($_REQUEST);
+ die();
+ break;
+ case 'updateTemplate':
+ $actionsByEmail->updateTemplate($_REQUEST);
+ break;
+ case 'loadFields':
+ $actionsByEmail->loadFields($_REQUEST);
+ break;
+ case 'saveConfiguration':
+ $actionsByEmail->saveConfiguration2($_REQUEST);
+ break;
+ case 'loadActionByEmail':
+ $actionsByEmail->loadActionByEmail($_REQUEST);
+ break;
+ case 'forwardMail':
+ $actionsByEmail->forwardMail($_REQUEST);
+ die;
+ break;
+ case 'viewForm':
+ $actionsByEmail->viewForm($_REQUEST);
+ die;
+ break;
+ }
+} catch (Exception $error) {
+ $response = new stdclass();
+ $response->status = 'ERROR';
+ $response->message = $error->getMessage();
+}
+
+header('Content-Type: application/json;');
+
+die(G::json_encode($response));
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php
index d8acd1351..be0427d10 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/ActionsByEmail.php
@@ -4,7 +4,7 @@ namespace ProcessMaker\BusinessModel;
/**
* Description of ActionsByEmailService
- *
+ *
*/
class ActionsByEmail
{
@@ -35,7 +35,7 @@ class ActionsByEmail
public function loadConfiguration($params)
{
- if ($params['type'] != 'activity'
+ if ($params['type'] != 'activity'
|| !\PMLicensedFeatures
::getSingleton()
->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0='))
@@ -71,4 +71,464 @@ class ActionsByEmail
return $configuration;
}
+ public function editTemplate(array $arrayData)
+ {
+ //Action Validations
+ if (!isset($arrayData['TEMPLATE'])) {
+ $arrayData['TEMPLATE'] = '';
+ }
+
+ if ($arrayData['TEMPLATE'] == '') {
+ throw new Exception(\G::LoadTranslation('ID_TEMPLATE_PARAMETER_EMPTY'));
+ }
+
+ $data = array(
+ 'CONTENT' => file_get_contents(
+ PATH_DATA_MAILTEMPLATES . $arrayData['PRO_UID'] . PATH_SEP . $arrayData['TEMPLATE']
+ ),
+ 'TEMPLATE' => $arrayData['TEMPLATE'],
+ );
+
+ global $G_PUBLISH;
+
+ $G_PUBLISH = new \Publisher();
+ $G_PUBLISH->AddContent('xmlform', 'xmlform', 'actionsByEmail/actionsByEmail_FileEdit', '', $data);
+
+ \G::RenderPage('publish', 'raw');
+ die();
+ }
+
+ public function updateTemplate(array $arrayData)
+ {
+ //Action Validations
+ if (!isset($arrayData['TEMPLATE'])) {
+ $arrayData['TEMPLATE'] = '';
+ }
+
+ if (!isset($arrayData['CONTENT'])) {
+ $arrayData['CONTENT'] = '';
+ }
+
+ if ($arrayData['TEMPLATE'] == '') {
+ throw new Exception(\G::LoadTranslation('ID_TEMPLATE_PARAMETER_EMPTY'));
+ }
+
+ $templateFile = fopen(PATH_DATA_MAILTEMPLATES . $arrayData['PRO_UID'] . PATH_SEP . $arrayData['TEMPLATE'], 'w');
+ $content = stripslashes($arrayData['CONTENT']);
+ $content = str_replace('@amp@', '&', $content);
+ $content = base64_decode($content);
+
+ fwrite($templateFile, $content);
+ fclose($templateFile);
+ }
+
+ public function loadFields(array $arrayData)
+ {
+ if (!isset($arrayData['DYN_UID'])) {
+ $arrayData['DYN_UID'] = '';
+ }
+
+ if (!isset($arrayData['PRO_UID'])) {
+ $arrayData['PRO_UID'] = '';
+ }
+
+ $response->emailFields = array();
+ $response->actionFields = array();
+
+ if ($arrayData['PRO_UID'] != '' && $arrayData['DYN_UID']) {
+ $dynaform = new Form($arrayData['PRO_UID'] . PATH_SEP . $arrayData['DYN_UID'], PATH_DYNAFORM, SYS_LANG, false);
+
+ foreach ($dynaform->fields as $fieldName => $data) {
+ switch ($data->type) {
+ case 'text':
+ case 'suggest':
+ case 'hidden':
+ case 'textarea':
+ $response->emailFields[] = array('value' => $data->name, 'label' => $data->label . ' (@@' . $data->name . ')');
+ break;
+ case 'dropdown':
+ case 'radiogroup':
+ case 'yesno':
+ case 'checkbox':
+ $response->actionFields[] = array('value' => $data->name, 'label' => $data->label . ' (@@' . $data->name . ')');
+ break;
+ }
+ }
+ }
+
+ //Return
+ return $response;
+ }
+
+ public function saveConfiguration2(array $arrayData)
+ {
+ if (!isset($arrayData['ABE_UID'])) {
+ $arrayData['ABE_UID'] = '';
+ }
+
+ if (!isset($arrayData['PRO_UID'])) {
+ $arrayData['PRO_UID'] = '';
+ }
+
+ if (!isset($arrayData['TAS_UID'])) {
+ $arrayData['TAS_UID'] = '';
+ }
+
+ if (!isset($arrayData['ABE_TYPE'])) {
+ $arrayData['ABE_TYPE'] = '';
+ }
+
+ if (!isset($arrayData['ABE_TEMPLATE'])) {
+ $arrayData['ABE_TEMPLATE'] = '';
+ }
+
+ if (!isset($arrayData['DYN_UID'])) {
+ $arrayData['DYN_UID'] = '';
+ }
+
+ if (!isset($arrayData['ABE_EMAIL_FIELD'])) {
+ $arrayData['ABE_EMAIL_FIELD'] = '';
+ }
+
+ if (!isset($arrayData['ABE_ACTION_FIELD'])) {
+ $arrayData['ABE_ACTION_FIELD'] = '';
+ }
+
+ if (!isset($arrayData['ABE_CASE_NOTE_IN_RESPONSE'])) {
+ $arrayData['ABE_CASE_NOTE_IN_RESPONSE'] = 0;
+ }
+
+ if ($arrayData['PRO_UID'] == '') {
+ 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'));
+ }
+
+ $abeConfigurationInstance = new \AbeConfiguration();
+
+ if ($arrayData['ABE_TYPE'] != '') {
+ if ($arrayData['DYN_UID'] == '') {
+ throw new Exception(\G::LoadTranslation('ID_DYN_UID_PARAMETER_IS_EMPTY'));
+ }
+
+ try {
+ $response->ABE_UID = $abeConfigurationInstance->createOrUpdate($arrayData);
+ } catch (\Exception $error) {
+ throw $error;
+ }
+ } else {
+ try {
+ $abeConfigurationInstance->deleteByTasUid($arrayData['TAS_UID']);
+ $response->ABE_UID = '';
+ } catch (\Exception $error) {
+ throw $error;
+ }
+ }
+
+ //Return
+ return $response;
+ }
+
+ public function loadActionByEmail(array $arrayData)
+ {
+ $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);
+ $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->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(\AppDelegationPeer::DEL_PREVIOUS);
+
+ $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->setLimit($arrayData['limit']);
+ $criteria->setOffset($arrayData['start']);
+ $result = \AbeConfigurationPeer::doSelectRS($criteria);
+ $result->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ $data = Array();
+ $arrayPro = Array();
+ $arrayTAS = Array();
+ $index = 0;
+
+ while ($result->next()) {
+ $data[] = $result->getRow();
+ $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->add(\AbeResponsesPeer::ABE_REQ_UID, $data[$index]['ABE_REQ_UID']);
+
+ $resultRes = \AbeResponsesPeer::doSelectRS($criteriaRes);
+ $resultRes->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
+ $resultRes->next();
+ $dataRes = Array();
+
+ if ($dataRes = $resultRes->getRow()) {
+ $data[$index]['ABE_RES_UID'] = $dataRes['ABE_RES_UID'];
+ $data[$index]['ABE_RES_CLIENT_IP'] = $dataRes['ABE_RES_CLIENT_IP'];
+ $data[$index]['ABE_RES_DATA'] = $dataRes['ABE_RES_DATA'];
+ $data[$index]['ABE_RES_STATUS'] = $dataRes['ABE_RES_STATUS'];
+ $data[$index]['ABE_RES_MESSAGE'] = $dataRes['ABE_RES_MESSAGE'];
+ } else {
+ $data[$index]['ABE_RES_UID'] = '';
+ $data[$index]['ABE_RES_CLIENT_IP'] = '';
+ $data[$index]['ABE_RES_DATA'] = '';
+ $data[$index]['ABE_RES_STATUS'] = '';
+ $data[$index]['ABE_RES_MESSAGE'] = '';
+ }
+
+ $criteriaRes = new \Criteria();
+
+ $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);
+ $resultRes->next();
+
+ if ($dataRes = $resultRes->getRow()) {
+ $data[$index]['USER'] = $dataRes['USR_FIRSTNAME'] . ' ' . $dataRes['USR_LASTNAME'];
+ } else {
+ $data[$index]['USER'] = '';
+ }
+
+ $data[$index]['ABE_REQ_ANSWERED'] = ($data[$index]['ABE_REQ_ANSWERED'] == 1) ? 'YES' : 'NO';
+ $index++;
+ }
+
+ $response = array();
+ $response['totalCount'] = $totalCount;
+ $response['data'] = $data;
+
+ //Return
+ return $response;
+ }
+
+ public function forwardMail(array $arrayData)
+ {
+ if (!isset($arrayData['REQ_UID'])) {
+ $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);
+
+ $resultRes->next();
+ $dataRes = Array();
+
+ if ($dataRes = $resultRes->getRow()) {
+ if (is_null($dataRes['DEL_FINISH_DATE'])) {
+ \G::LoadClass('spool');
+
+ $configuration = new \Configuration();
+ $sDelimiter = \DBAdapter::getStringDelimiter();
+ $criteria = new \Criteria('workflow');
+ $criteria->add(\ConfigurationPeer::CFG_UID, 'Emails');
+ $criteria->add(\ConfigurationPeer::OBJ_UID, '');
+ $criteria->add(\ConfigurationPeer::PRO_UID, '');
+ $criteria->add(\ConfigurationPeer::USR_UID, '');
+ $criteria->add(\ConfigurationPeer::APP_UID, '');
+
+ if (\ConfigurationPeer::doCount($criteria) == 0) {
+ $configuration->create(array('CFG_UID' => 'Emails', 'OBJ_UID' => '', 'CFG_VALUE' => '', 'PRO_UID' => '', 'USR_UID' => '', 'APP_UID' => ''));
+ $newConfiguration = array();
+ } else {
+ $newConfiguration = $configuration->load('Emails', '', '', '', '');
+
+ if ($newConfiguration['CFG_VALUE'] != '') {
+ $newConfiguration = unserialize($newConfiguration['CFG_VALUE']);
+ } else {
+ $newConfiguration = array();
+ }
+ }
+
+ $spool = new \spoolRun();
+ $spool->setConfig(array(
+ 'MESS_ENGINE' => $newConfiguration['MESS_ENGINE'],
+ 'MESS_SERVER' => $newConfiguration['MESS_SERVER'],
+ 'MESS_PORT' => $newConfiguration['MESS_PORT'],
+ 'MESS_ACCOUNT' => $newConfiguration['MESS_ACCOUNT'],
+ 'MESS_PASSWORD' => $newConfiguration['MESS_PASSWORD'],
+ 'SMTPAuth' => $newConfiguration['MESS_RAUTH']
+ ));
+
+ $spool->create(array(
+ 'msg_uid' => '',
+ 'app_uid' => $dataRes['APP_UID'],
+ 'del_index' => $dataRes['DEL_INDEX'],
+ 'app_msg_type' => 'TEST',
+ 'app_msg_subject' => $dataRes['ABE_REQ_SUBJECT'],
+ 'app_msg_from' => $newConfiguration['MESS_ACCOUNT'],
+ 'app_msg_to' => $dataRes['ABE_REQ_SENT_TO'],
+ 'app_msg_body' => $dataRes['ABE_REQ_BODY'],
+ 'app_msg_cc' => '',
+ 'app_msg_bcc' => '',
+ 'app_msg_attach' => '',
+ 'app_msg_template' => '',
+ 'app_msg_status' => 'pending'
+ ));
+
+ if ($spool->sendMail()) {
+ $dataRes['ABE_REQ_STATUS'] = 'SENT';
+
+ $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');
+ }
+
+ try {
+ $abeRequestsInstance = new \AbeRequests();
+ $abeRequestsInstance->createOrUpdate($dataRes);
+ } catch (\Exception $error) {
+ throw $error;
+ }
+ } else {
+ $message = \G::LoadTranslation('ID_UNABLE_TO_SEND_EMAIL');
+ }
+ } else {
+ $message = \G::LoadTranslation('ID_UNEXPECTED_ERROR_OCCURRED_PLEASE');
+ }
+
+ //Return
+ return $message;
+ }
+
+ public function viewForm(array $arrayData)
+ {
+ //coment
+ if (!isset($arrayData['REQ_UID'])) {
+ $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->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->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');
+
+ if ($dataRes = $resultRes->getRow()) {
+ $_SESSION['CURRENT_DYN_UID'] = trim($dataRes['DYN_UID']);
+ $dynaform = new \Form($dataRes['PRO_UID'] . PATH_SEP . trim($dataRes['DYN_UID']), PATH_DYNAFORM, SYS_LANG, false);
+ $dynaform->mode = 'view';
+
+ if ($dataRes['ABE_RES_DATA'] != '') {
+ $value = unserialize($dataRes['ABE_RES_DATA']);
+
+ if (is_array($value)) {
+ $dynaform->values = $value;
+
+ foreach ($dynaform->fields as $fieldName => $field) {
+ if ($field->type == 'submit') {
+ unset($dynaform->fields[$fieldName]);
+ }
+ }
+
+ $message = $dynaform->render(PATH_CORE . 'templates/xmlform.html', $scriptCode);
+ } else {
+ $response = $dynaform->render(PATH_CORE . 'templates/xmlform.html', $scriptCode);
+ $field = $dynaform->fields[$dataRes['ABE_ACTION_FIELD']];
+ $message = 'Type: ' . $field->type . '
';
+
+ switch ($field->type) {
+ case 'dropdown':
+ case 'radiogroup':
+ $message .=$field->label . ' - ';
+ $message .= $field->options[$value];
+ break;
+ case 'yesno':
+ $message .= '' . $field->label . ' - ';
+ $message .= ($value == 1) ? 'Yes' : 'No';
+ break;
+ case 'checkbox':
+ $message .= '' . $field->label . ' - ';
+ $message .= ($value == 'On') ? 'Check' : 'Uncheck';
+ break;
+ }
+ }
+ }
+ }
+
+ //Return
+ return $message;
+ }
}
diff --git a/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php b/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php
index 266080f4a..ee6f24a36 100644
--- a/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php
+++ b/workflow/engine/src/ProcessMaker/Services/Api/ActionsByEmail.php
@@ -24,6 +24,21 @@ require_once 'classes/model/Users.php';
*/
class ActionsByEmail extends Api
{
+ private $actionsByEmail;
+
+ /**
+ * Constructor of the class
+ *
+ * return void
+ */
+ public function __construct()
+ {
+ try {
+ $this->actionsByEmail = new \ProcessMaker\BusinessModel\ActionsByEmail();
+ } catch (\Exception $e) {
+ throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
+ }
+ }
/**
* @url GET
@@ -39,489 +54,70 @@ class ActionsByEmail extends Api
}
/**
- *
+ *
* @url GET /editTemplate
*/
public function editTemplate($params)
{
- // Action Validations
- if (!isset($_REQUEST['TEMPLATE'])) {
- $_REQUEST['TEMPLATE'] = '';
- }
-
- if ($_REQUEST['TEMPLATE'] == '') {
- throw new Exception('The TEMPLATE parameter is empty.');
- }
-
- $data = array(
- 'CONTENT' => file_get_contents(PATH_DATA_MAILTEMPLATES . $_REQUEST['PRO_UID'] . PATH_SEP . $_REQUEST['TEMPLATE']),
- 'TEMPLATE' => $_REQUEST['TEMPLATE'],
- );
-
- global $G_PUBLISH;
-
- $G_PUBLISH = new Publisher();
- $G_PUBLISH->AddContent('xmlform', 'xmlform', 'actionsByEmail/actionsByEmail_FileEdit', '', $data);
-
- G::RenderPage('publish', 'raw');
- die();
+ $this->actionsByEmail->editTemplate($_REQUEST);
}
/**
- *
+ *
* @url PUT /updateTemplate
*/
public function updateTemplate($params)
{
- // Action Validations
- if (!isset($_REQUEST['TEMPLATE'])) {
- $_REQUEST['TEMPLATE'] = '';
- }
-
- if (!isset($_REQUEST['CONTENT'])) {
- $_REQUEST['CONTENT'] = '';
- }
-
- if ($_REQUEST['TEMPLATE'] == '') {
- throw new Exception('The TEMPLATE parameter is empty.');
- }
-
- $templateFile = fopen(PATH_DATA_MAILTEMPLATES . $_REQUEST['PRO_UID'] . PATH_SEP . $_REQUEST['TEMPLATE'], 'w');
- $content = stripslashes($_REQUEST['CONTENT']);
- $content = str_replace('@amp@', '&', $content);
- $content = base64_decode($content);
-
- fwrite($templateFile, $content);
- fclose($templateFile);
+ $this->actionsByEmail->updateTemplate($_REQUEST);
}
/**
- *
+ *
* @url GET /loadFields
*/
public function loadFields($params)
{
- if (!isset($_REQUEST['DYN_UID'])) {
- $_REQUEST['DYN_UID'] = '';
- }
-
- if (!isset($_REQUEST['PRO_UID'])) {
- $_REQUEST['PRO_UID'] = '';
- }
-
- $response->emailFields = array();
- $response->actionFields = array();
-
- if ($_REQUEST['PRO_UID'] != '' && $_REQUEST['DYN_UID']) {
- $dynaform = new Form($_REQUEST['PRO_UID'] . PATH_SEP . $_REQUEST['DYN_UID'], PATH_DYNAFORM, SYS_LANG, false);
-
- foreach ($dynaform->fields as $fieldName => $data) {
- switch ($data->type) {
- case 'text':
- case 'suggest':
- case 'hidden':
- case 'textarea':
- $response->emailFields[] = array('value' => $data->name, 'label' => $data->label . ' (@@' . $data->name . ')');
- break;
- case 'dropdown':
- case 'radiogroup':
- case 'yesno':
- case 'checkbox':
- $response->actionFields[] = array('value' => $data->name, 'label' => $data->label . ' (@@' . $data->name . ')');
- break;
- }
- }
- }
- return $response;
+ return $this->actionsByEmail->loadFields($_REQUEST);
}
/**
- *
+ *
* @url PUT /saveConfiguration
*/
public function saveConfiguration($params)
{
- if (!isset($_REQUEST['ABE_UID'])) {
- $_REQUEST['ABE_UID'] = '';
- }
-
- if (!isset($_REQUEST['PRO_UID'])) {
- $_REQUEST['PRO_UID'] = '';
- }
-
- if (!isset($_REQUEST['TAS_UID'])) {
- $_REQUEST['TAS_UID'] = '';
- }
-
- if (!isset($_REQUEST['ABE_TYPE'])) {
- $_REQUEST['ABE_TYPE'] = '';
- }
-
- if (!isset($_REQUEST['ABE_TEMPLATE'])) {
- $_REQUEST['ABE_TEMPLATE'] = '';
- }
-
- if (!isset($_REQUEST['DYN_UID'])) {
- $_REQUEST['DYN_UID'] = '';
- }
-
- if (!isset($_REQUEST['ABE_EMAIL_FIELD'])) {
- $_REQUEST['ABE_EMAIL_FIELD'] = '';
- }
-
- if (!isset($_REQUEST['ABE_ACTION_FIELD'])) {
- $_REQUEST['ABE_ACTION_FIELD'] = '';
- }
-
- if (!isset($_REQUEST['ABE_CASE_NOTE_IN_RESPONSE'])) {
- $_REQUEST['ABE_CASE_NOTE_IN_RESPONSE'] = 0;
- }
-
- if ($_REQUEST['PRO_UID'] == '') {
- throw new Exception('The PRO_UID parameter is empty.');
- }
-
- if ($_REQUEST['TAS_UID'] == '') {
- throw new Exception('The TAS_UID parameter is empty.');
- }
-
- require_once 'classes/model/AbeConfiguration.php';
-
- $abeConfigurationInstance = new AbeConfiguration();
-
- if ($_REQUEST['ABE_TYPE'] != '') {
- if ($_REQUEST['DYN_UID'] == '') {
- throw new Exception('The DYN_UID parameter is empty.');
- }
-
- try {
- $response->ABE_UID = $abeConfigurationInstance->createOrUpdate($_REQUEST);
- } catch (Exception $error) {
- throw $error;
- }
- } else {
- try {
- $abeConfigurationInstance->deleteByTasUid($_REQUEST['TAS_UID']);
- $response->ABE_UID = '';
- } catch (Exception $error) {
- throw $error;
- }
- }
- return $response;
+ return $this->actionsByEmail->saveConfiguration2($_REQUEST);
}
/**
- *
+ *
* @url GET /loadActionByEmail
*/
public function loadActionByEmail($params)
{
- $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);
- $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->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(AppDelegationPeer::DEL_PREVIOUS);
-
- $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->setLimit($_REQUEST['limit']);
- $criteria->setOffset($_REQUEST['start']);
- $result = AbeConfigurationPeer::doSelectRS($criteria);
- $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
- $data = Array();
- $arrayPro = Array();
- $arrayTAS = Array();
- $index = 0;
-
- while ($result->next()) {
- $data[] = $result->getRow();
- $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->add(AbeResponsesPeer::ABE_REQ_UID, $data[$index]['ABE_REQ_UID']);
-
- $resultRes = AbeResponsesPeer::doSelectRS($criteriaRes);
- $resultRes->setFetchmode(ResultSet::FETCHMODE_ASSOC);
- $resultRes->next();
- $dataRes = Array();
-
- if ($dataRes = $resultRes->getRow()) {
- $data[$index]['ABE_RES_UID'] = $dataRes['ABE_RES_UID'];
- $data[$index]['ABE_RES_CLIENT_IP'] = $dataRes['ABE_RES_CLIENT_IP'];
- $data[$index]['ABE_RES_DATA'] = $dataRes['ABE_RES_DATA'];
- $data[$index]['ABE_RES_STATUS'] = $dataRes['ABE_RES_STATUS'];
- $data[$index]['ABE_RES_MESSAGE'] = $dataRes['ABE_RES_MESSAGE'];
- } else {
- $data[$index]['ABE_RES_UID'] = '';
- $data[$index]['ABE_RES_CLIENT_IP'] = '';
- $data[$index]['ABE_RES_DATA'] = '';
- $data[$index]['ABE_RES_STATUS'] = '';
- $data[$index]['ABE_RES_MESSAGE'] = '';
- }
-
- $criteriaRes = new Criteria();
-
- $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);
- $resultRes->next();
-
- if ($dataRes = $resultRes->getRow()) {
- $data[$index]['USER'] = $dataRes['USR_FIRSTNAME'] . ' ' . $dataRes['USR_LASTNAME'];
- } else {
- $data[$index]['USER'] = '';
- }
-
- $data[$index]['ABE_REQ_ANSWERED'] = ($data[$index]['ABE_REQ_ANSWERED'] == 1) ? 'YES' : 'NO';
- $index++;
- }
-
- $response = array();
- $response['totalCount'] = $totalCount;
- $response['data'] = $data;
- return $response;
+ return $this->actionsByEmail->loadActionByEmail($_REQUEST);
}
/**
- *
+ *
* @url POST /forwardMail
*/
public function forwardMail($params)
{
- if (!isset($_REQUEST['REQ_UID'])) {
- $_REQUEST['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, $_REQUEST['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);
-
- $resultRes->next();
- $dataRes = Array();
-
- if ($dataRes = $resultRes->getRow()) {
- if (is_null($dataRes['DEL_FINISH_DATE'])) {
- require_once 'classes/model/Configuration.php';
- G::LoadClass('spool');
-
- $configuration = new Configuration();
- $sDelimiter = DBAdapter::getStringDelimiter();
- $criteria = new Criteria('workflow');
- $criteria->add(ConfigurationPeer::CFG_UID, 'Emails');
- $criteria->add(ConfigurationPeer::OBJ_UID, '');
- $criteria->add(ConfigurationPeer::PRO_UID, '');
- $criteria->add(ConfigurationPeer::USR_UID, '');
- $criteria->add(ConfigurationPeer::APP_UID, '');
-
- if (ConfigurationPeer::doCount($criteria) == 0) {
- $configuration->create(array('CFG_UID' => 'Emails', 'OBJ_UID' => '', 'CFG_VALUE' => '', 'PRO_UID' => '', 'USR_UID' => '', 'APP_UID' => ''));
- $newConfiguration = array();
- } else {
- $newConfiguration = $configuration->load('Emails', '', '', '', '');
-
- if ($newConfiguration['CFG_VALUE'] != '') {
- $newConfiguration = unserialize($newConfiguration['CFG_VALUE']);
- } else {
- $newConfiguration = array();
- }
- }
-
- $spool = new spoolRun();
- $spool->setConfig(array(
- 'MESS_ENGINE' => $newConfiguration['MESS_ENGINE'],
- 'MESS_SERVER' => $newConfiguration['MESS_SERVER'],
- 'MESS_PORT' => $newConfiguration['MESS_PORT'],
- 'MESS_ACCOUNT' => $newConfiguration['MESS_ACCOUNT'],
- 'MESS_PASSWORD' => $newConfiguration['MESS_PASSWORD'],
- 'SMTPAuth' => $newConfiguration['MESS_RAUTH']
- ));
-
- $spool->create(array(
- 'msg_uid' => '',
- 'app_uid' => $dataRes['APP_UID'],
- 'del_index' => $dataRes['DEL_INDEX'],
- 'app_msg_type' => 'TEST',
- 'app_msg_subject' => $dataRes['ABE_REQ_SUBJECT'],
- 'app_msg_from' => $newConfiguration['MESS_ACCOUNT'],
- 'app_msg_to' => $dataRes['ABE_REQ_SENT_TO'],
- 'app_msg_body' => $dataRes['ABE_REQ_BODY'],
- 'app_msg_cc' => '',
- 'app_msg_bcc' => '',
- 'app_msg_attach' => '',
- 'app_msg_template' => '',
- 'app_msg_status' => 'pending'
- ));
-
- if ($spool->sendMail()) {
- $dataRes['ABE_REQ_STATUS'] = 'SENT';
-
- $message = 'The email was resend to: ' . $dataRes['ABE_REQ_SENT_TO'];
- } else {
- $dataRes['ABE_REQ_STATUS'] = 'ERROR';
- $message = 'There was a problem sending the email to: ' . $dataRes['ABE_REQ_SENT_TO'] . ', please try later.';
- }
-
- try {
- $abeRequestsInstance = new AbeRequests();
- $abeRequestsInstance->createOrUpdate($dataRes);
- } catch (Exception $error) {
- throw $error;
- }
- } else {
- $message = 'Unable to send email, the task is closed.';
- }
- } else {
- $message = 'An unexpected error occurred please try again later.';
- }
-
- return $message;
+ return $this->actionsByEmail->forwardMail($_REQUEST);
}
/**
- *
+ *
* @url GET /viewForm
*/
public function viewForm($params)
{
- //coment
- if (!isset($_REQUEST['REQ_UID'])) {
- $_REQUEST['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->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->add(AbeRequestsPeer::ABE_REQ_UID, $_REQUEST['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 = 'The user has not responded to this request.';
-
- if ($dataRes = $resultRes->getRow()) {
- $_SESSION['CURRENT_DYN_UID'] = trim($dataRes['DYN_UID']);
- $dynaform = new Form($dataRes['PRO_UID'] . PATH_SEP . trim($dataRes['DYN_UID']), PATH_DYNAFORM, SYS_LANG, false);
- $dynaform->mode = 'view';
-
- if ($dataRes['ABE_RES_DATA'] != '') {
- $value = unserialize($dataRes['ABE_RES_DATA']);
-
- if (is_array($value)) {
- $dynaform->values = $value;
-
- foreach ($dynaform->fields as $fieldName => $field) {
- if ($field->type == 'submit') {
- unset($dynaform->fields[$fieldName]);
- }
- }
-
- $message = $dynaform->render(PATH_CORE . 'templates/xmlform.html', $scriptCode);
- } else {
- $response = $dynaform->render(PATH_CORE . 'templates/xmlform.html', $scriptCode);
- $field = $dynaform->fields[$dataRes['ABE_ACTION_FIELD']];
- $message = 'Type: ' . $field->type . '
';
-
- switch ($field->type) {
- case 'dropdown':
- case 'radiogroup':
- $message .=$field->label . ' - ';
- $message .= $field->options[$value];
- break;
- case 'yesno':
- $message .= '' . $field->label . ' - ';
- $message .= ($value == 1) ? 'Yes' : 'No';
- break;
- case 'checkbox':
- $message .= '' . $field->label . ' - ';
- $message .= ($value == 'On') ? 'Check' : 'Uncheck';
- break;
- }
- }
- }
- }
- return $message;
+ return $this->actionsByEmail->viewForm($_REQUEST);
}
/**
- *
+ *
* @url GET /Templates/:proId
*/
public function getTemplates($proId)
diff --git a/workflow/engine/templates/actionsByEmail/report.js b/workflow/engine/templates/actionsByEmail/report.js
new file mode 100644
index 000000000..1753c9087
--- /dev/null
+++ b/workflow/engine/templates/actionsByEmail/report.js
@@ -0,0 +1,229 @@
+var actionsByEmailGrid;
+var store;
+var win ;
+
+new Ext.KeyMap(document, {
+ key: Ext.EventObject.F5,
+ fn: function(keycode, e) {
+ if (! e.ctrlKey) {
+ if (Ext.isIE) {
+ e.browserEvent.keyCode = 8;
+ }
+ e.stopEvent();
+ document.location = document.location;
+ } else {
+ Ext.Msg.alert(_('ID_REFRESH_LABEL'), _('ID_REFRESH_MESSAGE'));
+ }
+ }
+});
+
+
+Ext.onReady(function(){
+ Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
+ Ext.QuickTips.init();
+
+store = new Ext.data.GroupingStore( {
+ proxy : new Ext.data.HttpProxy({
+ url: '../actionsByEmail/actionsByEmailAjax',
+ method: 'POST'
+ }),
+
+ reader : new Ext.data.JsonReader( {
+ totalProperty: 'totalCount',
+ root: 'data',
+ fields : [
+ {name : 'ABE_UID'},
+ {name : 'ABE_REQ_UID'},
+ {name : 'APP_UID'},
+ {name : 'TAS_UID'},
+ {name : 'ABE_REQ_DATE'},
+ {name : 'ABE_REQ_SUBJECT'},
+ {name : 'APP_NUMBER'},
+ {name : 'USER'},
+ {name : 'ABE_REQ_SENT_TO'},
+ {name : 'ABE_REQ_STATUS'},
+ {name : 'ABE_REQ_ANSWERED'},
+ {name : 'ABE_RES_MESSAGE'}
+ ]
+ })
+ });
+ store.setBaseParam( 'action', 'loadActionByEmail' );
+
+ actionsByEmailGrid = new Ext.grid.GridPanel( {
+ region: 'center',
+ layout: 'fit',
+ id: 'actionsByEmailGrid',
+ title : '',
+ stateful : true,
+ stateId : 'grid',
+ enableColumnResize: true,
+ enableHdMenu: true,
+ frame:false,
+ columnLines: true,
+
+ cm: new Ext.grid.ColumnModel({
+ defaults: {
+ sortable: true
+ },
+ columns: [
+ {id: "ABE_UID", dataIndex: "ABE_UID", hidden:true, hideable:false},
+ {header: _("ID_DATE").toUpperCase(), width: 100, dataIndex: "ABE_REQ_DATE", sortable: true},
+ {header: "Case Number".toUpperCase(), width: 70, dataIndex: "APP_NUMBER", sortable: true},
+ {header: _("ID_SUBJECT").toUpperCase(), width: 150, dataIndex: "ABE_REQ_SUBJECT", sortable: true},
+ {header: _("ID_FROM").toUpperCase(), width: 110, dataIndex: "USER", sortable: true},
+ {header: _("ID_TO").toUpperCase(), width: 110, dataIndex: "ABE_REQ_SENT_TO", sortable: true},
+ {header: _("ID_STATUS").toUpperCase(), width: 40, dataIndex: "ABE_REQ_STATUS", sortable: true},
+ {header: "Answered".toUpperCase(), width: 60, dataIndex: "ABE_REQ_ANSWERED"},
+ {header: "View Response".toUpperCase(), width: 80, sortable: false, align: 'center', renderer: function(val){ return '