Merge branch 'develop' of bitbucket.org:colosa/processmaker into bugfix/HOR-2814-A

This commit is contained in:
Paula Quispe
2017-06-02 11:05:05 -04:00
9 changed files with 149 additions and 88 deletions

View File

@@ -2950,6 +2950,16 @@ class G
{ {
return (bool) preg_match( '/^[0-9A-Za-z]{14,}/', $uid ); return (bool) preg_match( '/^[0-9A-Za-z]{14,}/', $uid );
} }
/**
* Verify if the input string is a valid UID of size 32
* @param string $uid
* @return boolean
*/
public static function verifyUniqueID32($uid)
{
return (bool) preg_match('/^[0-9A-Za-z]{32,32}$/', $uid);
}
/** /**
* is_utf8 * is_utf8

View File

@@ -2227,19 +2227,20 @@ class Cases
$Fields['DEL_INDEX'] = $iDelIndex; $Fields['DEL_INDEX'] = $iDelIndex;
$Fields['APP_STATUS'] = 'TO_DO'; $Fields['APP_STATUS'] = 'TO_DO';
$Fields['DEL_DELEGATE_DATE'] = $Fields['APP_INIT_DATE']; $Fields['DEL_DELEGATE_DATE'] = $Fields['APP_INIT_DATE'];
if(!$isSubprocess){ if (!$isSubprocess) {
$Fields['APP_STATUS'] = 'DRAFT'; $Fields['APP_STATUS'] = 'DRAFT';
} else {
$Fields['APP_INIT_DATE'] = null;
} }
$inbox = new ListInbox(); $inbox = new ListInbox();
$inbox->newRow($Fields, $sUsrUid, $isSelfService); $inbox->newRow($Fields, $sUsrUid, $isSelfService);
//Multiple Instance //Multiple Instance
foreach($aUserFields as $rowUser){ foreach ($aUserFields as $rowUser) {
$Fields["USR_UID"] = $rowUser["USR_UID"]; $Fields["USR_UID"] = $rowUser["USR_UID"];
$Fields["DEL_INDEX"] = $rowUser["DEL_INDEX"]; $Fields["DEL_INDEX"] = $rowUser["DEL_INDEX"];
$inbox = new ListInbox(); $inbox = new ListInbox();
$inbox->newRow($Fields, $sUsrUid, $isSelfService); $inbox->newRow($Fields, $sUsrUid, $isSelfService);
} }
/*----------------------------------********---------------------------------*/ /*----------------------------------********---------------------------------*/
} catch (exception $e) { } catch (exception $e) {

View File

@@ -605,17 +605,41 @@ class Derivation
if (isset( $useruid ) && $useruid != '') { if (isset( $useruid ) && $useruid != '') {
$userFields = $this->getUsersFullNameFromArray( $useruid ); $userFields = $this->getUsersFullNameFromArray( $useruid );
} }
// if there is no report_to user info, throw an exception indicating this // if there is no report_to user info, throw an exception indicating this
if (! isset( $userFields ) || $userFields['USR_UID'] == '') { if (! isset( $userFields ) || $userFields['USR_UID'] == '') {
throw (new Exception( G::LoadTranslation( 'ID_MSJ_REPORSTO' ) )); // "The current user does not have a valid Reports To user. Please contact administrator.") ) ; throw (new Exception( G::LoadTranslation( 'ID_MSJ_REPORSTO' ) )); // "The current user does not have a valid Reports To user. Please contact administrator.") ) ;
} }
break; break;
case 'SELF_SERVICE': case 'SELF_SERVICE':
//Check if is Self Service Value Based Assignment
if (!empty($nextAssignedTask['TAS_GROUP_VARIABLE'])) {
$appFields = $this->case->loadCase($tasInfo['APP_UID']);
$variable = str_replace('@@', '', $nextAssignedTask['TAS_GROUP_VARIABLE']);
//If the variable exists will be validate the UID's
if (isset($appFields['APP_DATA'][$variable])) {
$arrVar = $appFields['APP_DATA'][$variable];
if (is_array($arrVar)) {
$statusToCheck = $arrVar;
} else {
$statusToCheck = array($arrVar);
}
$toValidate = array('ACTIVE', 'VACATION');
$gpr = new GroupUser();
if (!$gpr->groupsUsersAvailable($statusToCheck, $toValidate)) {
if (!($gpr->groupsUsersAvailable($statusToCheck, $toValidate, "groups"))) {
throw (new Exception("Task doesn't have a valid user in variable $variable or this variable doesn't exist."));
}
}
} else {
throw (new Exception("Task doesn't have a valid user in variable $variable or this variable doesn't exist."));
}
}
//look for USR_REPORTS_TO to this user //look for USR_REPORTS_TO to this user
$userFields['USR_UID'] = ''; $userFields['USR_UID'] = '';
$userFields['USR_FULLNAME'] = '<b>' . G::LoadTranslation( 'ID_UNASSIGNED' ) . '</b>'; $userFields['USR_FULLNAME'] = '<b>' . G::LoadTranslation('ID_UNASSIGNED') . '</b>';
$userFields['USR_USERNAME'] = '<b>' . G::LoadTranslation( 'ID_UNASSIGNED' ) . '</b>'; $userFields['USR_USERNAME'] = '<b>' . G::LoadTranslation('ID_UNASSIGNED') . '</b>';
$userFields['USR_FIRSTNAME'] = ''; $userFields['USR_FIRSTNAME'] = '';
$userFields['USR_LASTNAME'] = ''; $userFields['USR_LASTNAME'] = '';
$userFields['USR_EMAIL'] = ''; $userFields['USR_EMAIL'] = '';

View File

@@ -2160,15 +2160,23 @@ class wsBase
* Execute the trigger defined in the steps * Execute the trigger defined in the steps
* This function is used when the case is derived from abe, Soap, PMFDerivateCase * This function is used when the case is derived from abe, Soap, PMFDerivateCase
* *
* @param array $appData contain all the information about the case * @param string $caseId, Uid related to the case
* @param string $tasUid * @param array $appData, contain all the information about the case
* @param string $stepType * @param string $tasUid, Uid related to the task
* @param string $stepUidObj * @param string $stepType, before or after step
* @param string $triggerType * @param string $stepUidObj, can be -1, -2
* @param string $labelAssigment * @param string $triggerType, can be BEFORE, AFTER
* @return string $varTriggers * @param string $labelAssigment, label related to the triggerType
*/ */
function executeTriggerFromDerivate($appData, $tasUid, $stepType, $stepUidObj, $triggerType, $labelAssigment = '') function executeTriggerFromDerivate(
$caseId,
$appData,
$tasUid,
$stepType,
$stepUidObj,
$triggerType,
$labelAssigment = ''
)
{ {
$varTriggers = ""; $varTriggers = "";
$oCase = new Cases(); $oCase = new Cases();
@@ -2322,11 +2330,11 @@ class wsBase
$varTriggers = "\n"; $varTriggers = "\n";
//Execute triggers before assignment //Execute triggers before assignment
if ($bExecuteTriggersBeforeAssignment) { if ($bExecuteTriggersBeforeAssignment) {
$varTriggers .= $this->executeTriggerFromDerivate($appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -1, 'BEFORE', "-= Before Assignment =-"); $varTriggers .= $this->executeTriggerFromDerivate($caseId, $appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -1, 'BEFORE', "-= Before Assignment =-");
} }
//Execute triggers before routing //Execute triggers before routing
$varTriggers .= $this->executeTriggerFromDerivate($appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'BEFORE', "-= Before Derivation =-"); $varTriggers .= $this->executeTriggerFromDerivate($caseId, $appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'BEFORE', "-= Before Derivation =-");
$oDerivation = new Derivation(); $oDerivation = new Derivation();
if (!empty($tasks)) { if (!empty($tasks)) {
@@ -2416,7 +2424,7 @@ class wsBase
$appFields = $oCase->loadCase( $caseId ); $appFields = $oCase->loadCase( $caseId );
//Execute triggers after routing //Execute triggers after routing
$varTriggers .= $this->executeTriggerFromDerivate($appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'AFTER', "-= After Derivation =-"); $varTriggers .= $this->executeTriggerFromDerivate($caseId, $appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'AFTER', "-= After Derivation =-");
$sFromName = ""; $sFromName = "";
@@ -2447,7 +2455,7 @@ class wsBase
} }
$res = $result->getPayloadArray(); $res = $result->getPayloadArray();
//Now fill the array of AppDelegationPeer //Now fill the array of AppDelegationPeer
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria( 'workflow' );
$oCriteria->addSelectColumn( AppDelegationPeer::DEL_INDEX ); $oCriteria->addSelectColumn( AppDelegationPeer::DEL_INDEX );
@@ -2486,7 +2494,7 @@ class wsBase
} }
//Execute events //Execute events
$eventPro = $_SESSION["PROCESS"]; $eventPro = $appFields['PRO_UID'];
$eventApp = $caseId; $eventApp = $caseId;
$eventInd = $aAppDel['DEL_INDEX']; $eventInd = $aAppDel['DEL_INDEX'];
$eventTas = $aAppDel['TAS_UID']; $eventTas = $aAppDel['TAS_UID'];

View File

@@ -179,5 +179,43 @@ class GroupUser extends BaseGroupUser
return $rows; return $rows;
} }
/**
* This function check if the array have at least one UID valid
* Ex. we need to check the data for self service value based assignment
*
* @param array $toValidate , this array contains uid of user or uid of groups
* @param array $statusToCheck , this array must be have a valid status for users or groups, ACTIVE INACTIVE VACATION
* @param string $tableReview , if you need to check uid for users or groups
* @return boolean $rows
*/
public function groupsUsersAvailable($toValidate, $statusToCheck = array('ACTIVE'), $tableReview = 'users')
{
//Define the batching value for the MySQL error related to max_allowed_packet
$batching = 25000;
$array = array_chunk($toValidate, $batching);
foreach ($array as $key => $uidValues) {
$oCriteria = new Criteria('workflow');
switch ($tableReview) {
case 'groups':
$oCriteria->add(GroupwfPeer::GRP_UID, $uidValues, Criteria::IN);
$oCriteria->add(GroupwfPeer::GRP_STATUS, $statusToCheck, Criteria::IN);
$oCriteria->setLimit(1);
$rsCriteria = GroupwfPeer::doSelectRS($oCriteria);
break;
default:
$oCriteria->add(UsersPeer::USR_UID, $uidValues, Criteria::IN);
$oCriteria->add(UsersPeer::USR_STATUS, $statusToCheck, Criteria::IN);
$oCriteria->setLimit(1);
$rsCriteria = UsersPeer::doSelectRS($oCriteria);
break;
}
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
if ($rsCriteria->next()) {
return true;
}
}
return false;
}
} }

View File

@@ -68,6 +68,8 @@
// include Gulliver Class // include Gulliver Class
require_once( PATH_GULLIVER . PATH_SEP . 'class.g.php'); require_once( PATH_GULLIVER . PATH_SEP . 'class.g.php');
// include Bootstrap Class
require_once (PATH_GULLIVER . PATH_SEP . 'class.bootstrap.php');
if(file_exists(FILE_PATHS_INSTALLED)) { if(file_exists(FILE_PATHS_INSTALLED)) {
// backward compatibility; parsing old definitions in the compiled path constant // backward compatibility; parsing old definitions in the compiled path constant

View File

@@ -13,20 +13,8 @@ function dynaFormChanged(frm) {
* @param formStep * @param formStep
*/ */
function submitNextStep(formStep) { function submitNextStep(formStep) {
var btnSubmit, $("#" + formStep.id).submitForm();
index = 0; return this;
btnSubmit = formStep.querySelectorAll('[type="submit"]');
if (btnSubmit && btnSubmit.length){
btnSubmit[index].click();
}else{
btnSubmit = $('<button>');
btnSubmit.attr("type","submit");
btnSubmit.attr("name","form[__NEXT_STEP__]");
btnSubmit.hide();
$(formStep).append(btnSubmit);
btnSubmit.click();
btnSubmit.remove();
}
} }
$(window).load(function () { $(window).load(function () {
var delIndexDefault = "0", var delIndexDefault = "0",

View File

@@ -268,27 +268,17 @@ switch ($_POST['action']) {
$limit = isset( $_REQUEST['limit'] ) ? $_REQUEST['limit'] : $limit_size; $limit = isset( $_REQUEST['limit'] ) ? $_REQUEST['limit'] : $limit_size;
$filter = isset( $_REQUEST['textFilter'] ) ? $_REQUEST['textFilter'] : ''; $filter = isset( $_REQUEST['textFilter'] ) ? $_REQUEST['textFilter'] : '';
$sGroupUID = $_REQUEST['gUID']; $inputFilter = new InputFilter();
$oCriteria = new Criteria( 'workflow' ); $subQuery = "SELECT " . GroupUserPeer::USR_UID .
$oCriteria->addSelectColumn( GroupUserPeer::GRP_UID ); " FROM " . GroupUserPeer::TABLE_NAME .
$oCriteria->addSelectColumn( UsersPeer::USR_UID ); " WHERE " . GroupUserPeer::GRP_UID . " = '" .
$oCriteria->addJoin( GroupUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN ); $inputFilter->quoteSmart($_REQUEST['gUID'], Propel::getConnection("workflow")) . "'";
$oCriteria->add( GroupUserPeer::GRP_UID, $sGroupUID );
$oCriteria->add( UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL );
$oDataset = UsersPeer::doSelectRS( $oCriteria );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$oDataset->next();
$uUIDs = array ();
while ($aRow = $oDataset->getRow()) {
$uUIDs[] = $aRow['USR_UID'];
$oDataset->next();
}
$aUsers = Array (); $aUsers = Array ();
$oCriteria = new Criteria( 'workflow' ); $oCriteria = new Criteria( 'workflow' );
$oCriteria->addSelectColumn( 'COUNT(*) AS CNT' ); $oCriteria->addSelectColumn( 'COUNT(*) AS CNT' );
$oCriteria->add( UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL ); $oCriteria->add( UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL );
$oCriteria->add( UsersPeer::USR_UID, $uUIDs, Criteria::NOT_IN ); $oCriteria->add( UsersPeer::USR_UID, UsersPeer::USR_UID . " NOT IN ($subQuery)", Criteria::CUSTOM );
$filter = (isset( $_POST['textFilter'] )) ? $_POST['textFilter'] : ''; $filter = (isset( $_POST['textFilter'] )) ? $_POST['textFilter'] : '';
if ($filter != '') { if ($filter != '') {
$oCriteria->add( $oCriteria->getNewCriterion( UsersPeer::USR_USERNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_FIRSTNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_LASTNAME, '%' . $filter . '%', Criteria::LIKE ) ) ) ); $oCriteria->add( $oCriteria->getNewCriterion( UsersPeer::USR_USERNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_FIRSTNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_LASTNAME, '%' . $filter . '%', Criteria::LIKE ) ) ) );
@@ -307,7 +297,7 @@ switch ($_POST['action']) {
$oCriteria->addSelectColumn( UsersPeer::USR_EMAIL ); $oCriteria->addSelectColumn( UsersPeer::USR_EMAIL );
$oCriteria->addSelectColumn( UsersPeer::USR_STATUS ); $oCriteria->addSelectColumn( UsersPeer::USR_STATUS );
$oCriteria->add( UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL ); $oCriteria->add( UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL );
$oCriteria->add( UsersPeer::USR_UID, $uUIDs, Criteria::NOT_IN ); $oCriteria->add( UsersPeer::USR_UID, UsersPeer::USR_UID . " NOT IN ($subQuery)", Criteria::CUSTOM );
$filter = (isset( $_POST['textFilter'] )) ? $_POST['textFilter'] : ''; $filter = (isset( $_POST['textFilter'] )) ? $_POST['textFilter'] : '';
if ($filter != '') { if ($filter != '') {
$oCriteria->add( $oCriteria->getNewCriterion( UsersPeer::USR_USERNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_FIRSTNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_LASTNAME, '%' . $filter . '%', Criteria::LIKE ) ) ) ); $oCriteria->add( $oCriteria->getNewCriterion( UsersPeer::USR_USERNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_FIRSTNAME, '%' . $filter . '%', Criteria::LIKE )->addOr( $oCriteria->getNewCriterion( UsersPeer::USR_LASTNAME, '%' . $filter . '%', Criteria::LIKE ) ) ) );

View File

@@ -1,8 +1,8 @@
<?php <?php
if (PMLicensedFeatures if (PMLicensedFeatures
::getSingleton() ::getSingleton()
->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) { ->verifyfeature('zLhSk5TeEQrNFI2RXFEVktyUGpnczV1WEJNWVp6cjYxbTU3R29mVXVZNWhZQT0=')) {
$G_PUBLISH = new Publisher(); $G_PUBLISH = new Publisher();
try { try {
/** /**
@@ -28,46 +28,46 @@ if (PMLicensedFeatures
* In 'b' is reflected the output of 'a'. * In 'b' is reflected the output of 'a'.
*/ */
$backupSession = serialize($_SESSION); $backupSession = serialize($_SESSION);
if ($_REQUEST['APP_UID'] == '') { if (empty($_GET['APP_UID'])) {
if($_GET['APP_UID'] == ''){ $sw = empty($_REQUEST['APP_UID']);
throw new Exception('The parameter APP_UID is empty.'); if (!$sw && !G::verifyUniqueID32($_REQUEST['APP_UID'])) {
} else { $_GET['APP_UID'] = $_REQUEST['APP_UID'];
$_REQUEST['APP_UID'] = $_GET['APP_UID']; }
if ($sw) {
throw new Exception('The parameter APP_UID is empty.');
} }
} }
if ($_REQUEST['DEL_INDEX'] == '') { if (empty($_REQUEST['DEL_INDEX'])) {
throw new Exception('The parameter DEL_INDEX is empty.'); throw new Exception('The parameter DEL_INDEX is empty.');
} }
if ($_REQUEST['ABER'] == '') { if (empty($_REQUEST['ABER'])) {
throw new Exception('The parameter ABER is empty.'); throw new Exception('The parameter ABER is empty.');
} }
if (!isset($_REQUEST['form'])) { $appUid = G::decrypt($_GET['APP_UID'], URL_KEY);
$_REQUEST['form'] = array(); $delIndex = G::decrypt($_REQUEST['DEL_INDEX'], URL_KEY);
} $aber = G::decrypt($_REQUEST['ABER'], URL_KEY);
$forms = isset($_REQUEST['form']) ? $_REQUEST['form'] : [];
$_REQUEST['APP_UID'] = G::decrypt($_REQUEST['APP_UID'], URL_KEY);
$_REQUEST['DEL_INDEX'] = G::decrypt($_REQUEST['DEL_INDEX'], URL_KEY);
$_REQUEST['ABER'] = G::decrypt($_REQUEST['ABER'], URL_KEY);
G::LoadClass('case'); G::LoadClass('case');
$case = new Cases(); $case = new Cases();
$casesFields = $case->loadCase($_REQUEST['APP_UID'], $_REQUEST['DEL_INDEX']); $casesFields = $case->loadCase($appUid, $delIndex);
$casesFields['APP_DATA'] = array_merge($casesFields['APP_DATA'], $_REQUEST['form']); $casesFields['APP_DATA'] = array_merge($casesFields['APP_DATA'], $forms);
//Get user info //Get user info
$current_user_uid = null; $current_user_uid = null;
$currentUsrName = null; $currentUsrName = null;
$criteria = new Criteria("workflow"); $criteria = new Criteria("workflow");
$criteria->addSelectColumn(AppDelegationPeer::USR_UID); $criteria->addSelectColumn(AppDelegationPeer::USR_UID);
$criteria->add(AppDelegationPeer::APP_UID, $_REQUEST["APP_UID"]); $criteria->add(AppDelegationPeer::APP_UID, $appUid);
$criteria->add(AppDelegationPeer::DEL_INDEX, $_REQUEST["DEL_INDEX"]); $criteria->add(AppDelegationPeer::DEL_INDEX, $delIndex);
$rsSQL = AppDelegationPeer::doSelectRS($criteria); $rsSQL = AppDelegationPeer::doSelectRS($criteria);
$rsSQL->setFetchmode(ResultSet::FETCHMODE_ASSOC); $rsSQL->setFetchmode(ResultSet::FETCHMODE_ASSOC);
@@ -92,7 +92,7 @@ if (PMLicensedFeatures
$row = $rsSQL->getRow(); $row = $rsSQL->getRow();
$currentUsrName = $row["USR_USERNAME"]; $currentUsrName = $row["USR_USERNAME"];
$casesFields["APP_DATA"]["USER_LOGGED"] = $current_user_uid; $casesFields["APP_DATA"]["USER_LOGGED"] = $current_user_uid;
$casesFields["APP_DATA"]["USR_USERNAME"] = $currentUsrName; $casesFields["APP_DATA"]["USR_USERNAME"] = $currentUsrName;
} }
@@ -101,18 +101,18 @@ if (PMLicensedFeatures
} }
//Update case info //Update case info
$case->updateCase($_REQUEST['APP_UID'], $casesFields); $case->updateCase($appUid, $casesFields);
G::LoadClass('wsBase'); G::LoadClass('wsBase');
$wsBaseInstance = new wsBase(); $wsBaseInstance = new wsBase();
$result = $wsBaseInstance->derivateCase($casesFields['CURRENT_USER_UID'], $_REQUEST['APP_UID'], $_REQUEST ['DEL_INDEX'], true); $result = $wsBaseInstance->derivateCase($casesFields['CURRENT_USER_UID'], $appUid, $delIndex, true);
$code = (is_array($result) ? $result['status_code'] : $result->status_code); $code = (is_array($result) ? $result['status_code'] : $result->status_code);
$dataResponses = array(); $dataResponses = array();
$dataResponses['ABE_REQ_UID'] = $_REQUEST['ABER']; $dataResponses['ABE_REQ_UID'] = $aber;
$dataResponses['ABE_RES_CLIENT_IP'] = $_SERVER['REMOTE_ADDR']; $dataResponses['ABE_RES_CLIENT_IP'] = $_SERVER['REMOTE_ADDR'];
$dataResponses['ABE_RES_DATA'] = serialize($_REQUEST['form']); $dataResponses['ABE_RES_DATA'] = serialize($forms);
$dataResponses['ABE_RES_STATUS'] = 'PENDING'; $dataResponses['ABE_RES_STATUS'] = 'PENDING';
$dataResponses['ABE_RES_MESSAGE'] = ''; $dataResponses['ABE_RES_MESSAGE'] = '';
@@ -129,13 +129,13 @@ if (PMLicensedFeatures
//Save Cases Notes //Save Cases Notes
include_once 'utils.php'; include_once 'utils.php';
$dataAbeRequests = loadAbeRequest($_REQUEST['ABER']); $dataAbeRequests = loadAbeRequest($aber);
$dataAbeConfiguration = loadAbeConfiguration($dataAbeRequests['ABE_UID']); $dataAbeConfiguration = loadAbeConfiguration($dataAbeRequests['ABE_UID']);
if ($dataAbeConfiguration['ABE_CASE_NOTE_IN_RESPONSE'] == 1) { if ($dataAbeConfiguration['ABE_CASE_NOTE_IN_RESPONSE'] == 1) {
$response = new stdclass(); $response = new stdclass();
$response->usrUid = $casesFields['APP_DATA']['USER_LOGGED']; $response->usrUid = $casesFields['APP_DATA']['USER_LOGGED'];
$response->appUid = $_REQUEST['APP_UID']; $response->appUid = $appUid;
$response->noteText = "Check the information that was sent for the receiver: " . $dataAbeRequests['ABE_REQ_SENT_TO']; $response->noteText = "Check the information that was sent for the receiver: " . $dataAbeRequests['ABE_REQ_SENT_TO'];
postNote($response); postNote($response);
@@ -144,10 +144,10 @@ if (PMLicensedFeatures
$dataAbeRequests['ABE_REQ_ANSWERED'] = 1; $dataAbeRequests['ABE_REQ_ANSWERED'] = 1;
$code == 0 ? uploadAbeRequest($dataAbeRequests) : ''; $code == 0 ? uploadAbeRequest($dataAbeRequests) : '';
if (isset ( $_FILES ['form'] )) { if (isset($_FILES ['form'])) {
if (isset( $_FILES["form"]["name"] ) && count( $_FILES["form"]["name"] ) > 0) { if (isset($_FILES["form"]["name"]) && count($_FILES["form"]["name"]) > 0) {
$oInputDocument = new \ProcessMaker\BusinessModel\Cases\InputDocument(); $oInputDocument = new \ProcessMaker\BusinessModel\Cases\InputDocument();
$oInputDocument->uploadFileCase($_FILES, $case, $casesFields, $current_user_uid, $_REQUEST['APP_UID'], $_REQUEST["DEL_INDEX"]); $oInputDocument->uploadFileCase($_FILES, $case, $casesFields, $current_user_uid, $appUid, $delIndex);
} }
} }
@@ -155,8 +155,8 @@ if (PMLicensedFeatures
$aMessage['MESSAGE'] = '<strong>The information was submitted. Thank you.</strong>'; $aMessage['MESSAGE'] = '<strong>The information was submitted. Thank you.</strong>';
} else { } else {
throw new Exception('An error occurred while the application was being processed.<br /><br /> throw new Exception('An error occurred while the application was being processed.<br /><br />
Error code: '.$result->status_code.'<br /> Error code: ' . $result->status_code . '<br />
Error message: '.$result->message.'<br /><br />'); Error message: ' . $result->message . '<br /><br />');
} }
// Update // Update
@@ -173,7 +173,7 @@ if (PMLicensedFeatures
$_SESSION = unserialize($backupSession); $_SESSION = unserialize($backupSession);
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showInfo', '', $aMessage); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showInfo', '', $aMessage);
} catch (Exception $error) { } catch (Exception $error) {
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', array('MESSAGE' => $error->getMessage().' Please contact to your system administrator.')); $G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/showMessage', '', array('MESSAGE' => $error->getMessage() . ' Please contact to your system administrator.'));
} }
$_SESSION = unserialize($backupSession); $_SESSION = unserialize($backupSession);
G::RenderPage('publish', 'blank'); G::RenderPage('publish', 'blank');