Merged in paulis/processmaker/PM-2376 (pull request #2029)

PM-2376 PM-2403: New feature e implementacion de actionsByEmail in Bpmn
This commit is contained in:
Julio Cesar Laura Avendaño
2015-04-30 17:25:30 -04:00
14 changed files with 578 additions and 29 deletions

View File

@@ -19,9 +19,11 @@ class ActionsByEmail
case 'configuration':
require_once 'classes/model/AbeConfiguration.php';
$abeConfigurationInstance = new \AbeConfiguration();
$noteValues = json_decode($feature['fields']['ABE_CASE_NOTE_IN_RESPONSE']);
foreach ($noteValues as $value) {
$feature['fields']['ABE_CASE_NOTE_IN_RESPONSE'] = $value;
if(isset($feature['fields']['ABE_CASE_NOTE_IN_RESPONSE'])){
$noteValues = json_decode($feature['fields']['ABE_CASE_NOTE_IN_RESPONSE']);
foreach ($noteValues as $value) {
$feature['fields']['ABE_CASE_NOTE_IN_RESPONSE'] = $value;
}
}
$abeConfigurationInstance->createOrUpdate($feature['fields']);
break;
@@ -50,8 +52,13 @@ class ActionsByEmail
$result->next();
$configuration = array();
if ($configuration = $result->getRow()) {
$configuration['ABE_EMAIL_FIELD_VALUE'] = $configuration['ABE_EMAIL_FIELD'];
$configuration['ABE_ACTION_FIELD_VALUE'] = $configuration['ABE_ACTION_FIELD'];
$configuration['ABE_UID'] = $configuration['ABE_UID'];
$configuration['ABE_TYPE'] = $configuration['ABE_TYPE'];
$configuration['DYN_UID'] = $configuration['DYN_UID'];
$configuration['ABE_TEMPLATE'] = $configuration['ABE_TEMPLATE'];
$configuration['ABE_SUBJECT_FIELD'] = $configuration['ABE_SUBJECT_FIELD'];
$configuration['ABE_EMAIL_FIELD'] = $configuration['ABE_EMAIL_FIELD'];
$configuration['ABE_ACTION_FIELD'] = $configuration['ABE_ACTION_FIELD'];
$configuration['ABE_CASE_NOTE_IN_RESPONSE'] = $configuration['ABE_CASE_NOTE_IN_RESPONSE'] ? '["1"]' : '[]';
}
$configuration['feature'] = 'ActionsByEmail';

View File

@@ -3,6 +3,12 @@ namespace ProcessMaker\Services\Api;
use \ProcessMaker\Services\Api;
use \Luracast\Restler\RestException;
use \G;
use \Smarty;
use \Criteria;
use \ResultSet;
use \DynaformPeer;
use \ContentPeer;
require_once 'classes/model/AbeConfiguration.php';
require_once 'classes/model/AbeRequests.php';
@@ -544,5 +550,28 @@ class ActionsByEmail extends Api
}
return $templates;
}
/**
*
* @url GET /Dynaforms/:proUid
*/
public function getDynaforms($proUid)
{
$criteria = new Criteria();
$criteria->addSelectColumn(DynaformPeer::DYN_UID);
$criteria->addSelectColumn(ContentPeer::CON_VALUE);
$criteria->addJoin( DynaformPeer::DYN_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN );
$criteria->add( DynaformPeer::PRO_UID, $proUid, Criteria::EQUAL );
$criteria->add( DynaformPeer::DYN_TYPE, 'xmlform', Criteria::EQUAL );
$criteria->add( ContentPeer::CON_CATEGORY, 'DYN_TITLE');
$criteria->add( ContentPeer::CON_LANG, SYS_LANG);
$dataset = DynaformPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dynaform = array();
while ($dataset->next()) {
$aRow = $dataset->getRow();
$dynaform[] = array('DYN_UID' => $aRow['DYN_UID'], 'DYN_NAME' => $aRow['CON_VALUE']);
}
return $dynaform;
}
}

View File

@@ -118,12 +118,11 @@ class Activity extends Api
}
$task = new \ProcessMaker\BusinessModel\Task();
$properties = $task->updateProperties($prj_uid, $act_uid, $request_data);
/*----------------------------------********---------------------------------*/
if (\PMLicensedFeatures
::getSingleton()
->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) {
if (isset($request_data['properties']['_features']) && !empty($request_data['properties']['_features']['ActionsByEmail']['fields']['ABE_UID'])) {
if (isset($request_data['properties']['_features'])) {
$actionsByEmailService = new \ProcessMaker\BusinessModel\ActionsByEmail();
$actionsByEmailService->saveConfiguration($request_data['properties']['_features']);
}