PM-2376: I completed actionsByEmail with Field in form
This commit is contained in:
@@ -64,6 +64,18 @@ class actionsByEmailClass extends PMPlugin
|
||||
$cases = new Cases();
|
||||
$caseFields = $cases->loadCase($data->APP_UID);
|
||||
$criteria = new Criteria();
|
||||
$criteria->addSelectColumn(AbeConfigurationPeer::ABE_UID);
|
||||
$criteria->addSelectColumn(AbeConfigurationPeer::PRO_UID);
|
||||
$criteria->addSelectColumn(AbeConfigurationPeer::ABE_TYPE);
|
||||
$criteria->addSelectColumn(AbeConfigurationPeer::TAS_UID);
|
||||
$criteria->addSelectColumn(AbeConfigurationPeer::ABE_TEMPLATE);
|
||||
$criteria->addSelectColumn(AbeConfigurationPeer::ABE_DYN_TYPE);
|
||||
$criteria->addSelectColumn(AbeConfigurationPeer::DYN_UID);
|
||||
$criteria->addSelectColumn(AbeConfigurationPeer::ABE_EMAIL_FIELD);
|
||||
$criteria->addSelectColumn(AbeConfigurationPeer::ABE_ACTION_FIELD);
|
||||
$criteria->addSelectColumn(AbeConfigurationPeer::ABE_SUBJECT_FIELD);
|
||||
$criteria->addSelectColumn(DynaformPeer::DYN_CONTENT);
|
||||
$criteria->addJoin( AbeConfigurationPeer::DYN_UID, DynaformPeer::DYN_UID, Criteria::LEFT_JOIN );
|
||||
$criteria->add(AbeConfigurationPeer::PRO_UID, $caseFields['PRO_UID']);
|
||||
$criteria->add(AbeConfigurationPeer::TAS_UID, $data->TAS_UID);
|
||||
$result = AbeConfigurationPeer::doSelectRS($criteria);
|
||||
@@ -136,19 +148,29 @@ class actionsByEmailClass extends PMPlugin
|
||||
$field->type = 'dropdown';
|
||||
$field->options = array();
|
||||
$actionField = str_replace('@@', '', $configuration['ABE_ACTION_FIELD']);
|
||||
foreach ($variables as $variable) {
|
||||
if ($variable['var_name'] == $actionField) {
|
||||
$field->label = $variable['var_name'];
|
||||
$field->type = 'dropdown';
|
||||
$values = json_decode($variable['var_accepted_values']);
|
||||
foreach ($values as $value) {
|
||||
$field->options[$value->keyValue] = $value->value;
|
||||
$dynaform = $configuration['DYN_UID'];
|
||||
$variables = G::json_decode($configuration['DYN_CONTENT'], true);
|
||||
if(isset($variables['items'][0]['items'])){
|
||||
$fields = $variables['items'][0]['items'];
|
||||
foreach ($fields as $key => $value) {
|
||||
foreach($value as $var){ G::pr($var);
|
||||
if(isset($var['variable'])){
|
||||
if ($var['variable'] == $actionField) {
|
||||
$field->label = $var['label'];
|
||||
$field->type = $var['type'];
|
||||
$values = $var['options'];
|
||||
foreach ($values as $val){
|
||||
$field->options[$val['value']] = $val['value'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
G::LoadClass('pmDynaform');
|
||||
$obj = new pmDynaform($configuration['DYN_UID']);
|
||||
$file = $obj->printPmDynaformAbe($configuration['DYN_CONTENT']);
|
||||
$__ABE__ .= '<strong>' . $field->label . '</strong><br /><table align="left" border="0"><tr>';
|
||||
|
||||
switch ($field->type) {
|
||||
case 'dropdown':
|
||||
case 'radiogroup':
|
||||
|
||||
@@ -472,6 +472,17 @@ class pmDynaform
|
||||
exit();
|
||||
}
|
||||
|
||||
public function printPmDynaformAbe($content)
|
||||
{
|
||||
$this->record["DYN_CONTENT"] = $content;
|
||||
$json = G::json_decode($this->record["DYN_CONTENT"]);
|
||||
$this->jsonr($json);
|
||||
$javascrip = "";
|
||||
$file = file_get_contents(PATH_HOME . 'public_html/lib/pmdynaform/build/pmdynaform.html');
|
||||
$file = str_replace("{javascript}", $javascrip, $file);
|
||||
return $file;
|
||||
}
|
||||
|
||||
public function synchronizeVariable($processUid, $newVariable, $oldVariable)
|
||||
{
|
||||
$criteria = new Criteria("workflow");
|
||||
|
||||
@@ -177,6 +177,7 @@ class AppDelegation extends BaseAppDelegation
|
||||
$data->APP_UID = $sAppUid;
|
||||
$data->DEL_INDEX = $delIndex;
|
||||
$data->USR_UID = $sUsrUid;
|
||||
$data->PREVIOUS_USR_UID = $delPreviusUsrUid;
|
||||
$oPluginRegistry = &PMPluginRegistry::getSingleton();
|
||||
$oPluginRegistry->executeTriggers(PM_CREATE_NEW_DELEGATION, $data);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ if (PMLicensedFeatures
|
||||
// since all the request parameters using this script are encrypted
|
||||
// using the URL_KEY the probability of injecting any kind of code using
|
||||
// this entry point are only possible knowing the aforementioned key.
|
||||
switch (G::decrypt(urldecode(utf8_encode($_REQUEST['ACTION'])), URL_KEY)) {
|
||||
switch (true) {
|
||||
case 'processABE' :
|
||||
$G_PUBLISH = new Publisher();
|
||||
try {
|
||||
|
||||
@@ -54,6 +54,7 @@ class ActionsByEmail
|
||||
if ($configuration = $result->getRow()) {
|
||||
$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'];
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user