Merged in release/3.2.2 (pull request #6185)
release/3.2.2 Approved-by: Paula Quispe <paula.quispe@processmaker.com>
This commit is contained in:
@@ -82,6 +82,13 @@ try {
|
||||
$_SESSION['CURRENT_TASK'] = $aFields['TAS_UID'];
|
||||
}
|
||||
|
||||
unset($_SESSION['ACTION']);
|
||||
$flagJump = '';
|
||||
if ($_action == 'jump') {
|
||||
$_SESSION['ACTION'] = 'jump';
|
||||
$flagJump = 1;
|
||||
}
|
||||
|
||||
switch ($aFields['APP_STATUS']) {
|
||||
case 'DRAFT':
|
||||
case 'TO_DO':
|
||||
@@ -201,13 +208,7 @@ try {
|
||||
$_SESSION['INDEX'] = $row['DEL_INDEX'];
|
||||
}
|
||||
|
||||
if ($_action == 'jump') {
|
||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX'], 1);
|
||||
$_SESSION['ACTION'] = 'jump';
|
||||
} else {
|
||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX']);
|
||||
unset($_SESSION['ACTION']);
|
||||
}
|
||||
$Fields = $oCase->loadCase($_SESSION['APPLICATION'], $_SESSION['INDEX'], $flagJump);
|
||||
|
||||
$_SESSION['CURRENT_TASK'] = $Fields['TAS_UID'];
|
||||
require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
|
||||
@@ -220,7 +221,7 @@ try {
|
||||
$_SESSION['PROCESS'] = $aFields['PRO_UID'];
|
||||
$_SESSION['TASK'] = - 1;
|
||||
$_SESSION['STEP_POSITION'] = 0;
|
||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX']);
|
||||
$Fields = $oCase->loadCase($_SESSION['APPLICATION'], $_SESSION['INDEX'], $flagJump);
|
||||
$_SESSION['CURRENT_TASK'] = $Fields['TAS_UID'];
|
||||
|
||||
require_once (PATH_METHODS . 'cases' . PATH_SEP . 'cases_Resume.php');
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
namespace ProcessMaker\BusinessModel\Cases;
|
||||
|
||||
use Propel;
|
||||
use StdClass;
|
||||
use G;
|
||||
use Cases as ClassesCase;
|
||||
use AppDocument;
|
||||
use Cases as ClassesCases;
|
||||
use Dynaform;
|
||||
use Exception;
|
||||
use G;
|
||||
use Propel;
|
||||
use StdClass;
|
||||
use Task as ClassesTask;
|
||||
|
||||
/**
|
||||
@@ -61,6 +61,13 @@ class ChangeLog
|
||||
return ['data' => $this->tree, 'totalCount' => $totalCount];
|
||||
}
|
||||
|
||||
/**
|
||||
* This function get the appHistory related to the case
|
||||
*
|
||||
* @param string $appUid
|
||||
*
|
||||
* @return array;
|
||||
*/
|
||||
private function getResultSet($appUid)
|
||||
{
|
||||
$conn = Propel::getConnection('workflow');
|
||||
@@ -75,6 +82,15 @@ class ChangeLog
|
||||
return $stmt->getResultSet();
|
||||
}
|
||||
|
||||
/**
|
||||
* This function read the records, related to the specific result and update the data
|
||||
*
|
||||
* @param object $result
|
||||
* @param integer $start
|
||||
* @param integer $limit
|
||||
*
|
||||
* @return integer;
|
||||
*/
|
||||
private function readRecords($result, $start = 0, $limit = 15)
|
||||
{
|
||||
$index = 0;
|
||||
@@ -97,6 +113,13 @@ class ChangeLog
|
||||
return $index;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function check if is empty
|
||||
*
|
||||
* @param array $data
|
||||
*
|
||||
* @return boolean;
|
||||
*/
|
||||
private function isEmpty($data)
|
||||
{
|
||||
foreach ($data as $key => $value) {
|
||||
@@ -108,6 +131,16 @@ class ChangeLog
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function update the data
|
||||
*
|
||||
* @param array $data
|
||||
* @param array $row
|
||||
* @param boolean $hasPermission
|
||||
* @param boolean $addToTree
|
||||
*
|
||||
* @return integer;
|
||||
*/
|
||||
private function updateData($data, $row, $hasPermission, $addToTree = false)
|
||||
{
|
||||
$i = 0;
|
||||
@@ -143,6 +176,13 @@ class ChangeLog
|
||||
return $i;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function get the title related to the row
|
||||
*
|
||||
* @param array $row
|
||||
*
|
||||
* @return string;
|
||||
*/
|
||||
private function getHistoryTitle($row)
|
||||
{
|
||||
return $this->getObjectTitle($row['TAS_UID'], 'TASK')
|
||||
@@ -151,6 +191,14 @@ class ChangeLog
|
||||
.' / '.G::LoadTranslation('ID_USER').': '.$row['USR_USERNAME'];
|
||||
}
|
||||
|
||||
/**
|
||||
* This function get the object title
|
||||
*
|
||||
* @param string $uid
|
||||
* @param string $objType
|
||||
*
|
||||
* @return string;
|
||||
*/
|
||||
private function getObjectTitle($uid, $objType)
|
||||
{
|
||||
switch ($objType) {
|
||||
@@ -176,14 +224,30 @@ class ChangeLog
|
||||
return $title;
|
||||
}
|
||||
|
||||
private function loadPermissions($APP_UID, $PRO_UID, $TAS_UID)
|
||||
/**
|
||||
* This function get the permissions
|
||||
*
|
||||
* @param string $appUid
|
||||
* @param string $proUid
|
||||
* @param string $tasUid
|
||||
*
|
||||
* @return void;
|
||||
*/
|
||||
private function loadPermissions($appUid, $proUid, $tasUid)
|
||||
{
|
||||
$oCase = new ClassesCases();
|
||||
$this->permissions = $oCase->getAllObjects(
|
||||
$PRO_UID, $APP_UID, $TAS_UID, $_SESSION['USER_LOGGED']
|
||||
$proUid, $appUid, $tasUid, $_SESSION['USER_LOGGED']
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function verify if has permission
|
||||
*
|
||||
* @param string $uid
|
||||
*
|
||||
* @return boolean;
|
||||
*/
|
||||
private function hasPermission($uid)
|
||||
{
|
||||
if(array_search($uid, $this->reservedSteps)!==false) {
|
||||
|
||||
@@ -6,8 +6,11 @@
|
||||
|
||||
namespace ProcessMaker\BusinessModel\Migrator;
|
||||
|
||||
use ProcessMaker\BusinessModel\Migrator\ProcessDefinitionMigrator;
|
||||
use ProcessMaker\Importer\XmlImporter;
|
||||
use ProcessMaker\Project\Adapter;
|
||||
use ProcessMaker\Project\Workflow;
|
||||
|
||||
|
||||
class GranularImporter
|
||||
{
|
||||
@@ -300,7 +303,9 @@ class GranularImporter
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $data
|
||||
* Regenerate All UIDs of process and Import
|
||||
*
|
||||
* @param array $data
|
||||
* @param bool $generateUid
|
||||
* @return array
|
||||
* @throws \Exception
|
||||
@@ -308,33 +313,40 @@ class GranularImporter
|
||||
public function regenerateAllUids($data, $generateUid = true)
|
||||
{
|
||||
try {
|
||||
$newData = array();
|
||||
$arrayBpmnTables = $data["tables"]["bpmn"];
|
||||
$arrayWorkflowTables = $data["tables"]["workflow"];
|
||||
$arrayWorkflowFiles = $data["files"]["workflow"];
|
||||
$newData = [];
|
||||
$arrayBpmnTables = $data['tables']['bpmn'];
|
||||
$arrayWorkflowTables = $data['tables']['workflow'];
|
||||
$arrayWorkflowFiles = $data['files']['workflow'];
|
||||
$arrayBpmnTablesFormat = $this->structureBpmnData($arrayBpmnTables);
|
||||
$arrayBpmnTablesFormat['prj_type'] = $arrayWorkflowTables['process']['PRO_TYPE'];
|
||||
$arrayBpmnTablesFormat['pro_status'] = $arrayWorkflowTables['process']['PRO_STATUS'];
|
||||
$result = $this->bpmn->createFromStruct($arrayBpmnTablesFormat, $generateUid);
|
||||
$projectUidOld = $arrayBpmnTables["project"][0]["prj_uid"];
|
||||
$projectUid = ($generateUid) ? $result[0]["new_uid"] : $result;
|
||||
$projectUidOld = $arrayBpmnTables['project'][0]['prj_uid'];
|
||||
$projectUid = ($generateUid) ? $result[0]['new_uid'] : $result;
|
||||
if ($generateUid) {
|
||||
$result[0]["object"] = "project";
|
||||
$result[0]["old_uid"] = $projectUidOld;
|
||||
$result[0]["new_uid"] = $projectUid;
|
||||
$result[0]['object'] = 'project';
|
||||
$result[0]['old_uid'] = $projectUidOld;
|
||||
$result[0]['new_uid'] = $projectUid;
|
||||
|
||||
$workflow = new \ProcessMaker\Project\Workflow();
|
||||
$workflow = new Workflow();
|
||||
|
||||
list($arrayWorkflowTables, $arrayWorkflowFiles) = $workflow->updateDataUidByArrayUid($arrayWorkflowTables, $arrayWorkflowFiles, $result);
|
||||
}
|
||||
$newData['tables']['workflow'] = $arrayWorkflowTables;
|
||||
$newData['tables']['plugins'] = isset($data["tables"]["plugins"]) ? $data["tables"]["plugins"] : [];
|
||||
$newData['tables']['plugins'] = isset($data['tables']['plugins']) ? $data['tables']['plugins'] : [];
|
||||
$newData['files']['workflow'] = $arrayWorkflowFiles;
|
||||
|
||||
//Update Process Definition after import
|
||||
//@todo We need check and improve the "Granular Importer", some methods and classes probably can be simplified.
|
||||
$definition = new ProcessDefinitionMigrator();
|
||||
$definition->afterImport($newData['tables']);
|
||||
|
||||
$this->regeneratedUids = $result;
|
||||
|
||||
return array(
|
||||
return [
|
||||
'data' => $newData,
|
||||
'new_uid' => $projectUid);
|
||||
'new_uid' => $projectUid
|
||||
];
|
||||
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
|
||||
@@ -807,7 +807,7 @@ class User
|
||||
}
|
||||
|
||||
//Update in rbac
|
||||
$rbac->load($userUid);
|
||||
$rbac->userObj = new RbacUsers();
|
||||
if (isset($arrayData["USR_ROLE"])) {
|
||||
$rbac->updateUser($arrayData, $arrayData["USR_ROLE"]);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user