diff --git a/framework/src/Maveriks/WebApplication.php b/framework/src/Maveriks/WebApplication.php index f733520b8..b8a1f3480 100644 --- a/framework/src/Maveriks/WebApplication.php +++ b/framework/src/Maveriks/WebApplication.php @@ -328,24 +328,24 @@ class WebApplication //if (! class_exists($namespace)) { require_once $classFile; //} - + //echo "****".$namespace."
"; $this->rest->addAPIClass($namespace); } } // adding features extension api classes - $featuresPath = $this->workflowDir .'engine' . DS . 'classes' . DS . 'features'; + $featuresPath = $this->workflowDir .'engine' . DS . 'features'; // $apiDir - contains directory to scan classes and add them to Restler $featureDirList = glob($featuresPath . "/*", GLOB_ONLYDIR); foreach ($featureDirList as $directory) { if ($directory == 'ViewContainers') { continue; } - $featureApiClassList = Util\Common::rglob($directory . DS . 'api' . "/*"); + $featureApiClassList = Util\Common::rglob($directory . DS . 'Services' . DS . 'Api' . "/*"); foreach ($featureApiClassList as $classFile) { if (pathinfo($classFile, PATHINFO_EXTENSION) === 'php') { $relClassPath = str_replace('.php', '', str_replace($servicesDir, '', $classFile)); - $namespace = 'Features\\'.basename($classFile, '.php'); + $namespace = '\\ProcessMaker\\Services\\Api\\'.basename($classFile, '.php'); $namespace = strpos($namespace, "//") === false? $namespace: str_replace("//", '', $namespace); require_once $classFile; $this->rest->addAPIClass($namespace); @@ -430,6 +430,7 @@ class WebApplication define("PATH_XMLFORM", PATH_CORE . "xmlform" . PATH_SEP); define("PATH_CONFIG", PATH_CORE . "config" . PATH_SEP); define("PATH_PLUGINS", PATH_CORE . "plugins" . PATH_SEP); + define("PATH_FEATURES", PATH_CORE . "features" . PATH_SEP); define("PATH_HTMLMAIL", PATH_CORE . "html_templates" . PATH_SEP); define("PATH_TPL", PATH_CORE . "templates" . PATH_SEP); define("PATH_TEST", PATH_CORE . "test" . PATH_SEP); diff --git a/rbac/engine/config/paths.php b/rbac/engine/config/paths.php index 440731e86..501659baf 100755 --- a/rbac/engine/config/paths.php +++ b/rbac/engine/config/paths.php @@ -50,6 +50,7 @@ define( 'PATH_METHODS', PATH_CORE . 'methods' . PATH_SEP ); define( 'PATH_XMLFORM', PATH_CORE . 'xmlform' . PATH_SEP ); define( 'PATH_PLUGINS', PATH_CORE . 'plugins' . PATH_SEP ); + define( 'PATH_FEATURES', PATH_CORE . 'features' . PATH_SEP ); define( 'PATH_HTMLMAIL', PATH_CORE . 'html_templates' . PATH_SEP ); define( 'PATH_TPL', PATH_CORE . 'templates' . PATH_SEP ); define( 'PATH_TEST', PATH_CORE . 'test' . PATH_SEP ); diff --git a/workflow/engine/classes/features/ActionsByEmail/api/ActionsByEmail.php b/workflow/engine/classes/features/ActionsByEmail/api/ActionsByEmail.php deleted file mode 100644 index 506111ce7..000000000 --- a/workflow/engine/classes/features/ActionsByEmail/api/ActionsByEmail.php +++ /dev/null @@ -1,29 +0,0 @@ - - * @protected - */ -class ActionsByEmail extends Api -{ - /** - * @url GET - */ - public function getABEList() - { - try { - $projects = array('status' => 200, 'message' => 'Hello'); - return $projects; - } catch (\Exception $e) { - throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); - } - } -} - diff --git a/workflow/engine/controllers/installer.php b/workflow/engine/controllers/installer.php index 59049ce12..7c780bc20 100755 --- a/workflow/engine/controllers/installer.php +++ b/workflow/engine/controllers/installer.php @@ -38,7 +38,7 @@ class Installer extends Controller public function index ($httpData) { - if ((strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') && (file_exists($this->path_shared . 'partner.info'))){ + if ((strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') && (file_exists($this->path_shared . 'partner.info'))) { $this->includeExtJS( 'installer/stopInstall'); $this->setView( 'installer/mainStopInstall' ); G::RenderPage( 'publish', 'extJs' ); @@ -776,12 +776,14 @@ class Installer extends Controller $this->mysqlFileQuery( PATH_RBAC_HOME . 'engine/data/mysql/schema.sql' ); $this->mysqlFileQuery( PATH_RBAC_HOME . 'engine/data/mysql/insert.sql' ); - + $query = sprintf( "USE %s;", $wf_workpace ); $this->mysqlQuery( $query ); $this->mysqlFileQuery( PATH_HOME . 'engine/data/mysql/schema.sql' ); $this->mysqlFileQuery( PATH_HOME . 'engine/data/mysql/insert.sql' ); - + + $this->createMysqlFeatures(); + if (defined('PARTNER_FLAG') || isset($_REQUEST['PARTNER_FLAG'])) { $this->setPartner(); //$this->setConfiguration(); @@ -1624,5 +1626,31 @@ class Installer extends Controller } } } + + public function createMysqlFeatures() + { + foreach ($this->getFeatureList() as $feature) { + $this->mysqlFileQuery( $feature->path . '/data/schema.sql' ); + $this->mysqlFileQuery( $feature->path . '/data/insert.sql' ); + } + + } + + public function getFeatureList() + { + $invalidFolders = array('ViewContainers'); + $featuresFolders = glob(PATH_FEATURES.'/*', GLOB_ONLYDIR); + $features = array(); + foreach ($featuresFolders as $directory) { + $feature = new stdClass(); + if (in_array($directory, $invalidFolders)) { + continue; + } + $feature->path = PATH_FEATURES . PATH_SEP . $directory; + $feature->name = $directory; + $features[] = $feature; + } + return $features; + } } diff --git a/workflow/engine/classes/features/ActionsByEmail/ActionByEmail.php b/workflow/engine/features/ActionsByEmail/ActionByEmail.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/ActionByEmail.php rename to workflow/engine/features/ActionsByEmail/ActionByEmail.php diff --git a/workflow/engine/classes/features/ActionsByEmail/ActionsByEmailFeature.php b/workflow/engine/features/ActionsByEmail/ActionsByEmailFeature.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/ActionsByEmailFeature.php rename to workflow/engine/features/ActionsByEmail/ActionsByEmailFeature.php diff --git a/workflow/engine/features/ActionsByEmail/Services/Api/ActionsByEmail.php b/workflow/engine/features/ActionsByEmail/Services/Api/ActionsByEmail.php new file mode 100644 index 000000000..c10cb6c11 --- /dev/null +++ b/workflow/engine/features/ActionsByEmail/Services/Api/ActionsByEmail.php @@ -0,0 +1,520 @@ + + * @protected + */ +class ActionsByEmail extends Api +{ + + /** + * @url GET + */ + public function getABEList() + { + try { + $projects = array('status' => 200, 'message' => 'Hello'); + return $projects; + } catch (\Exception $e) { + throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); + } + } + + /** + * + * @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(); + } + + /** + * + * @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); + } + + /** + * + * @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; + } + + /** + * + * @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; + } + } + } + + /** + * + * @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; + } + + /** + * + * @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.'; + } + + print_r($message); + die; + } + + /** + * + * @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; + } + } + } + } + + print_r($message); + die; + } + +} diff --git a/workflow/engine/classes/features/ActionsByEmail/services/dataField.php b/workflow/engine/features/ActionsByEmail/Services/dataField.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/services/dataField.php rename to workflow/engine/features/ActionsByEmail/Services/dataField.php diff --git a/workflow/engine/classes/features/ActionsByEmail/services/dataForm.php b/workflow/engine/features/ActionsByEmail/Services/dataForm.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/services/dataForm.php rename to workflow/engine/features/ActionsByEmail/Services/dataForm.php diff --git a/workflow/engine/classes/features/ActionsByEmail/services/dataFormPost.php b/workflow/engine/features/ActionsByEmail/Services/dataFormPost.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/services/dataFormPost.php rename to workflow/engine/features/ActionsByEmail/Services/dataFormPost.php diff --git a/workflow/engine/classes/features/ActionsByEmail/services/utils.php b/workflow/engine/features/ActionsByEmail/Services/utils.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/services/utils.php rename to workflow/engine/features/ActionsByEmail/Services/utils.php diff --git a/workflow/engine/classes/features/ActionsByEmail/actionsByEmail.php b/workflow/engine/features/ActionsByEmail/actionsByEmail.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/actionsByEmail.php rename to workflow/engine/features/ActionsByEmail/actionsByEmail.php diff --git a/workflow/engine/classes/features/ActionsByEmail/actionsByEmail.xml b/workflow/engine/features/ActionsByEmail/actionsByEmail.xml similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/actionsByEmail.xml rename to workflow/engine/features/ActionsByEmail/actionsByEmail.xml diff --git a/workflow/engine/classes/features/ActionsByEmail/actionsByEmailAjax.php b/workflow/engine/features/ActionsByEmail/actionsByEmailAjax.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/actionsByEmailAjax.php rename to workflow/engine/features/ActionsByEmail/actionsByEmailAjax.php diff --git a/workflow/engine/classes/features/ActionsByEmail/actionsByEmail_FileEdit.html b/workflow/engine/features/ActionsByEmail/actionsByEmail_FileEdit.html similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/actionsByEmail_FileEdit.html rename to workflow/engine/features/ActionsByEmail/actionsByEmail_FileEdit.html diff --git a/workflow/engine/classes/features/ActionsByEmail/actionsByEmail_FileEdit.xml b/workflow/engine/features/ActionsByEmail/actionsByEmail_FileEdit.xml similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/actionsByEmail_FileEdit.xml rename to workflow/engine/features/ActionsByEmail/actionsByEmail_FileEdit.xml diff --git a/workflow/engine/classes/features/ActionsByEmail/class.actionsByEmail.php b/workflow/engine/features/ActionsByEmail/class.actionsByEmail.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/class.actionsByEmail.php rename to workflow/engine/features/ActionsByEmail/class.actionsByEmail.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeConfiguration.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeConfiguration.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeConfiguration.php rename to workflow/engine/features/ActionsByEmail/classes/model/AbeConfiguration.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeConfigurationPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeConfigurationPeer.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeConfigurationPeer.php rename to workflow/engine/features/ActionsByEmail/classes/model/AbeConfigurationPeer.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeRequests.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeRequests.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeRequests.php rename to workflow/engine/features/ActionsByEmail/classes/model/AbeRequests.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeRequestsPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeRequestsPeer.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeRequestsPeer.php rename to workflow/engine/features/ActionsByEmail/classes/model/AbeRequestsPeer.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeResponses.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeResponses.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeResponses.php rename to workflow/engine/features/ActionsByEmail/classes/model/AbeResponses.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/AbeResponsesPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/AbeResponsesPeer.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/AbeResponsesPeer.php rename to workflow/engine/features/ActionsByEmail/classes/model/AbeResponsesPeer.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeConfigurationMapBuilder.php b/workflow/engine/features/ActionsByEmail/classes/model/map/AbeConfigurationMapBuilder.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeConfigurationMapBuilder.php rename to workflow/engine/features/ActionsByEmail/classes/model/map/AbeConfigurationMapBuilder.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeRequestsMapBuilder.php b/workflow/engine/features/ActionsByEmail/classes/model/map/AbeRequestsMapBuilder.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeRequestsMapBuilder.php rename to workflow/engine/features/ActionsByEmail/classes/model/map/AbeRequestsMapBuilder.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeResponsesMapBuilder.php b/workflow/engine/features/ActionsByEmail/classes/model/map/AbeResponsesMapBuilder.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/map/AbeResponsesMapBuilder.php rename to workflow/engine/features/ActionsByEmail/classes/model/map/AbeResponsesMapBuilder.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeConfiguration.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeConfiguration.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeConfiguration.php rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeConfiguration.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeConfigurationPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeConfigurationPeer.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeConfigurationPeer.php rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeConfigurationPeer.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeRequests.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeRequests.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeRequests.php rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeRequests.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeRequestsPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeRequestsPeer.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeRequestsPeer.php rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeRequestsPeer.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeResponses.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeResponses.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeResponses.php rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeResponses.php diff --git a/workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeResponsesPeer.php b/workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeResponsesPeer.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/classes/model/om/BaseAbeResponsesPeer.php rename to workflow/engine/features/ActionsByEmail/classes/model/om/BaseAbeResponsesPeer.php diff --git a/workflow/engine/classes/features/ActionsByEmail/config/propel.ini b/workflow/engine/features/ActionsByEmail/config/propel.ini similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/config/propel.ini rename to workflow/engine/features/ActionsByEmail/config/propel.ini diff --git a/workflow/engine/classes/features/ActionsByEmail/config/propel.mysql.ini b/workflow/engine/features/ActionsByEmail/config/propel.mysql.ini similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/config/propel.mysql.ini rename to workflow/engine/features/ActionsByEmail/config/propel.mysql.ini diff --git a/workflow/engine/classes/features/ActionsByEmail/config/schema-transformed.xml b/workflow/engine/features/ActionsByEmail/config/schema-transformed.xml similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/config/schema-transformed.xml rename to workflow/engine/features/ActionsByEmail/config/schema-transformed.xml diff --git a/workflow/engine/classes/features/ActionsByEmail/config/schema.xml b/workflow/engine/features/ActionsByEmail/config/schema.xml similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/config/schema.xml rename to workflow/engine/features/ActionsByEmail/config/schema.xml diff --git a/workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.html b/workflow/engine/features/ActionsByEmail/configActionsByEmail.html similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.html rename to workflow/engine/features/ActionsByEmail/configActionsByEmail.html diff --git a/workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.php b/workflow/engine/features/ActionsByEmail/configActionsByEmail.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.php rename to workflow/engine/features/ActionsByEmail/configActionsByEmail.php diff --git a/workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.xml b/workflow/engine/features/ActionsByEmail/configActionsByEmail.xml similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/configActionsByEmail.xml rename to workflow/engine/features/ActionsByEmail/configActionsByEmail.xml diff --git a/workflow/engine/classes/features/ActionsByEmail/data/actionsByEmail.html b/workflow/engine/features/ActionsByEmail/data/actionsByEmail.html similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/data/actionsByEmail.html rename to workflow/engine/features/ActionsByEmail/data/actionsByEmail.html diff --git a/workflow/engine/classes/features/ActionsByEmail/data/actionsByEmailPartner.html b/workflow/engine/features/ActionsByEmail/data/actionsByEmailPartner.html similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/data/actionsByEmailPartner.html rename to workflow/engine/features/ActionsByEmail/data/actionsByEmailPartner.html diff --git a/workflow/engine/classes/features/ActionsByEmail/data/schema.sql b/workflow/engine/features/ActionsByEmail/data/schema.sql similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/data/schema.sql rename to workflow/engine/features/ActionsByEmail/data/schema.sql diff --git a/workflow/engine/classes/features/ActionsByEmail/data/sqldb.map b/workflow/engine/features/ActionsByEmail/data/sqldb.map similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/data/sqldb.map rename to workflow/engine/features/ActionsByEmail/data/sqldb.map diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/CaseActionsByEmail.png b/workflow/engine/features/ActionsByEmail/documentation/CaseActionsByEmail.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/CaseActionsByEmail.png rename to workflow/engine/features/ActionsByEmail/documentation/CaseActionsByEmail.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/CaseNoteTask1.png b/workflow/engine/features/ActionsByEmail/documentation/CaseNoteTask1.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/CaseNoteTask1.png rename to workflow/engine/features/ActionsByEmail/documentation/CaseNoteTask1.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ConfigurationTask1.png b/workflow/engine/features/ActionsByEmail/documentation/ConfigurationTask1.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/ConfigurationTask1.png rename to workflow/engine/features/ActionsByEmail/documentation/ConfigurationTask1.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ConfigurationTask2.png b/workflow/engine/features/ActionsByEmail/documentation/ConfigurationTask2.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/ConfigurationTask2.png rename to workflow/engine/features/ActionsByEmail/documentation/ConfigurationTask2.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/FormTask1.png b/workflow/engine/features/ActionsByEmail/documentation/FormTask1.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/FormTask1.png rename to workflow/engine/features/ActionsByEmail/documentation/FormTask1.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/Process1.png b/workflow/engine/features/ActionsByEmail/documentation/Process1.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/Process1.png rename to workflow/engine/features/ActionsByEmail/documentation/Process1.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions.png b/workflow/engine/features/ActionsByEmail/documentation/ProcessActions.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions.png rename to workflow/engine/features/ActionsByEmail/documentation/ProcessActions.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions1.png b/workflow/engine/features/ActionsByEmail/documentation/ProcessActions1.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions1.png rename to workflow/engine/features/ActionsByEmail/documentation/ProcessActions1.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions2.png b/workflow/engine/features/ActionsByEmail/documentation/ProcessActions2.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/ProcessActions2.png rename to workflow/engine/features/ActionsByEmail/documentation/ProcessActions2.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ProcessFrm1.png b/workflow/engine/features/ActionsByEmail/documentation/ProcessFrm1.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/ProcessFrm1.png rename to workflow/engine/features/ActionsByEmail/documentation/ProcessFrm1.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ResponseTask1.png b/workflow/engine/features/ActionsByEmail/documentation/ResponseTask1.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/ResponseTask1.png rename to workflow/engine/features/ActionsByEmail/documentation/ResponseTask1.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/ResponseTask2.png b/workflow/engine/features/ActionsByEmail/documentation/ResponseTask2.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/ResponseTask2.png rename to workflow/engine/features/ActionsByEmail/documentation/ResponseTask2.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/VerifyTask1.png b/workflow/engine/features/ActionsByEmail/documentation/VerifyTask1.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/VerifyTask1.png rename to workflow/engine/features/ActionsByEmail/documentation/VerifyTask1.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/VerifyTask2.png b/workflow/engine/features/ActionsByEmail/documentation/VerifyTask2.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/VerifyTask2.png rename to workflow/engine/features/ActionsByEmail/documentation/VerifyTask2.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/emailTask1.png b/workflow/engine/features/ActionsByEmail/documentation/emailTask1.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/emailTask1.png rename to workflow/engine/features/ActionsByEmail/documentation/emailTask1.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/emailTask2.png b/workflow/engine/features/ActionsByEmail/documentation/emailTask2.png similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/emailTask2.png rename to workflow/engine/features/ActionsByEmail/documentation/emailTask2.png diff --git a/workflow/engine/classes/features/ActionsByEmail/documentation/overview.php b/workflow/engine/features/ActionsByEmail/documentation/overview.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/documentation/overview.php rename to workflow/engine/features/ActionsByEmail/documentation/overview.php diff --git a/workflow/engine/classes/features/ActionsByEmail/externalStep.php b/workflow/engine/features/ActionsByEmail/externalStep.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/externalStep.php rename to workflow/engine/features/ActionsByEmail/externalStep.php diff --git a/workflow/engine/classes/features/ActionsByEmail/menusetup.php b/workflow/engine/features/ActionsByEmail/menusetup.php similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/menusetup.php rename to workflow/engine/features/ActionsByEmail/menusetup.php diff --git a/workflow/engine/classes/features/ActionsByEmail/pluginConfig.ini b/workflow/engine/features/ActionsByEmail/pluginConfig.ini similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/pluginConfig.ini rename to workflow/engine/features/ActionsByEmail/pluginConfig.ini diff --git a/workflow/engine/classes/features/ActionsByEmail/report.js b/workflow/engine/features/ActionsByEmail/report.js similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/report.js rename to workflow/engine/features/ActionsByEmail/report.js diff --git a/workflow/engine/classes/features/ActionsByEmail/views/task.views.php b/workflow/engine/features/ActionsByEmail/views/task.views.php similarity index 93% rename from workflow/engine/classes/features/ActionsByEmail/views/task.views.php rename to workflow/engine/features/ActionsByEmail/views/task.views.php index 88e2c012f..a6bda6fc1 100644 --- a/workflow/engine/classes/features/ActionsByEmail/views/task.views.php +++ b/workflow/engine/features/ActionsByEmail/views/task.views.php @@ -6,7 +6,7 @@ * and open the template in the editor. */ -$features['ActionsByEmail']['views'] = array( +$features['ActionsByEmail']['views'][] = array( 'taskConfiguration' => array( 'type' => 'form', 'language' => 'en', @@ -74,7 +74,7 @@ $features['ActionsByEmail']['views'] = array( 'data_source' => array( 'type' => 'REST', 'method' => 'GET', - 'end_point' => '/ABE/ABETemplates/', + 'end_point' => '/ActionsByEmail/Templates', 'parameters' => array() ), 'options' => array( @@ -95,7 +95,7 @@ $features['ActionsByEmail']['views'] = array( 'data_source' => array( 'type' => 'REST', 'method' => 'GET', - 'end_point' => '/ABE/ABETemplates/editTemplateABE', + 'end_point' => '/ActionsByEmail/Templates/editTemplate', 'parameters' => array('ABE_TEMPLATE') ) ) @@ -107,7 +107,7 @@ $features['ActionsByEmail']['views'] = array( 'data_source' => array( 'type' => 'REST', 'method' => 'GET', - 'end_point' => '/Dynaform/', + 'end_point' => 'Dynaform', 'parameters' => array() ), 'options' => array( @@ -145,7 +145,7 @@ $features['ActionsByEmail']['views'] = array( 'data_source' => array ( 'type' => 'REST', 'method' => 'GET', - 'end_point' => '/Dynaform/loadFields', + 'end_point' => '/ActionsByEmail/Dynaform/loadFields', 'parameters' => array('DYN_UID') ) ) @@ -172,7 +172,7 @@ $features['ActionsByEmail']['views'] = array( 'data_source' => array( 'type' => 'REST', 'method' => 'GET', - 'end_point' => '/Dynaform/loadFields', + 'end_point' => '/ActionsByEmail/Dynaform/loadFields', 'parameters' => array('DYN_UID') ) ) @@ -195,7 +195,7 @@ $features['ActionsByEmail']['views'] = array( 'data_source' => array( 'type' => 'REST', 'method' => 'POST', - 'end_point' => '/ABE/saveConfiguration', + 'end_point' => '/ActionsByEmail/saveConfiguration', 'parameters' => array('_ALL') ) ) diff --git a/workflow/engine/classes/features/ActionsByEmail/xmlform.html b/workflow/engine/features/ActionsByEmail/xmlform.html similarity index 100% rename from workflow/engine/classes/features/ActionsByEmail/xmlform.html rename to workflow/engine/features/ActionsByEmail/xmlform.html diff --git a/workflow/engine/classes/features/ConfigurationHandler.php b/workflow/engine/features/ConfigurationHandler.php similarity index 100% rename from workflow/engine/classes/features/ConfigurationHandler.php rename to workflow/engine/features/ConfigurationHandler.php diff --git a/workflow/engine/classes/features/EnterpriseFeature.php b/workflow/engine/features/EnterpriseFeature.php similarity index 100% rename from workflow/engine/classes/features/EnterpriseFeature.php rename to workflow/engine/features/EnterpriseFeature.php diff --git a/workflow/engine/classes/features/ExtensionManager.php b/workflow/engine/features/ExtensionManager.php similarity index 100% rename from workflow/engine/classes/features/ExtensionManager.php rename to workflow/engine/features/ExtensionManager.php diff --git a/workflow/engine/classes/features/FeatureHandler.php b/workflow/engine/features/FeatureHandler.php similarity index 100% rename from workflow/engine/classes/features/FeatureHandler.php rename to workflow/engine/features/FeatureHandler.php diff --git a/workflow/engine/classes/features/ViewContainers/TaskContainer.php b/workflow/engine/features/ViewContainers/TaskContainer.php similarity index 100% rename from workflow/engine/classes/features/ViewContainers/TaskContainer.php rename to workflow/engine/features/ViewContainers/TaskContainer.php diff --git a/workflow/engine/classes/features/ViewContainers/TriggerContainer.php b/workflow/engine/features/ViewContainers/TriggerContainer.php similarity index 100% rename from workflow/engine/classes/features/ViewContainers/TriggerContainer.php rename to workflow/engine/features/ViewContainers/TriggerContainer.php diff --git a/workflow/engine/classes/features/ViewContainers/ViewContainer.php b/workflow/engine/features/ViewContainers/ViewContainer.php similarity index 100% rename from workflow/engine/classes/features/ViewContainers/ViewContainer.php rename to workflow/engine/features/ViewContainers/ViewContainer.php diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php index a92681785..09a73c7c5 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php @@ -1012,6 +1012,30 @@ class DynaForm } } + /** + * Get a list of DynaForms + * + * @param string $dynaFormUid Unique id of DynaForm + * + * return array Return an array with data of a DynaForm + */ + public function getDynaFormList() + { + try { + //Get data + $criteria = $this->getDynaFormCriteria(); + $rsCriteria = \DynaformPeer::doSelectRS($criteria); + $rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC); + While ($rsCriteria->next()) { + $row = $rsCriteria->getRow(); + } + //Return + return $this->getDynaFormDataFromRecord($row); + } catch (\Exception $e) { + throw $e; + } + } + /** * Get data of a DynaForm * diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php index 612a60a86..6f953c11c 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/DynaForm.php @@ -30,6 +30,25 @@ class DynaForm extends Api throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } + + /** + * @url GET /:prj_uid/dynaform + * + * @param string $prj_uid {@min 32}{@max 32} + */ + public function doGetDynaFormList($prj_uid) + { + try { + $dynaForm = new \ProcessMaker\BusinessModel\DynaForm(); + $dynaForm->setFormatFieldNameInUppercase(false); + + $response = $dynaForm->getDynaForm(); + + return $response; + } catch (\Exception $e) { + throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); + } + } /** * @url POST /:prj_uid/dynaform