Merge branch 'release/3.2' of bitbucket.org:colosa/processmaker into feature/HOR-2440
This commit is contained in:
95
Jenkinsfile
vendored
Normal file
95
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
#!groovy
|
||||
node {
|
||||
/**
|
||||
* Branch should be in gitflow format. If not, then we'll abort.
|
||||
*/
|
||||
if(!env.BRANCH_NAME.matches(/(feature|hotfix|bugfix|release)\/.+/) && !env.BRANCH_NAME.matches(/^PR-.*$/)) {
|
||||
hipchatSend message: "${env.BRANCH_NAME} Build: Does not match gitflow naming. Aborted", room: 'engineering'
|
||||
error "Job does not follow gitflow naming format."
|
||||
}
|
||||
// Parse out our short name and potential jira ticket. Null if not associated. If null, then for now we won't notify
|
||||
// on jira ticket
|
||||
def jiraTicket = env.BRANCH_NAME.find(/HOR-\d+/)
|
||||
|
||||
def shortname = env.BRANCH_NAME.replace('/', '-').replace('.', '-').toLowerCase()
|
||||
def dbSuffix = shortname.replace('-', '')
|
||||
|
||||
echo "Building for ${env.BRANCH_NAME}"
|
||||
|
||||
// Checkout source
|
||||
checkout scm
|
||||
|
||||
try {
|
||||
stage('Start Notification') {
|
||||
if(jiraTicket) {
|
||||
jiraComment issueKey: jiraTicket, body: "Build ${env.BUILD_NUMBER} Starting.\nTicket will be updated once build is completed.\n\n${env.BUILD_URL}"
|
||||
}
|
||||
hipchatSend message: "${env.BRANCH_NAME} Build: ${env.BUILD_NUMBER} Starting.\n${env.BUILD_URL}", room: 'engineering'
|
||||
}
|
||||
|
||||
stage('Dependencies') {
|
||||
echo "Running Composer"
|
||||
sh 'composer install'
|
||||
echo "Running rake"
|
||||
sh 'rake'
|
||||
}
|
||||
|
||||
stage('Generate QA MySQL Databases') {
|
||||
withCredentials([string(credentialsId: 'qa-rds-hostname', variable: 'rdsHostname'), usernamePassword(credentialsId: 'qa-rds-credentials', passwordVariable: 'rdsPassword', usernameVariable: 'rdsUsername')]) {
|
||||
echo 'Dropping existing database and recreating.'
|
||||
sh "mysql -h ${rdsHostname} -u ${rdsUsername} -p${rdsPassword} -e 'drop database if exists qa205${dbSuffix}; create database qa205${dbSuffix}'"
|
||||
sh "mysql -h ${rdsHostname} -u ${rdsUsername} -p${rdsPassword} -e 'drop database if exists qa300${dbSuffix}; create database qa300${dbSuffix}'"
|
||||
}
|
||||
}
|
||||
|
||||
stage('Publish to QA-205') {
|
||||
sshagent(['processmaker-deploy']) {
|
||||
echo 'Dropping existing files and recreating'
|
||||
sh "ssh processmaker@build-qa205.processmaker.net 'rm -Rf /home/processmaker/${shortname}'"
|
||||
sh "scp -r ./ processmaker@build-qa205.processmaker.net:~/${shortname}"
|
||||
echo 'Creating necessary directories'
|
||||
sh "ssh processmaker@build-qa205.processmaker.net 'mkdir -p /home/processmaker/${shortname}/workflow/engine/js/labels'"
|
||||
sh "ssh processmaker@build-qa205.processmaker.net 'mkdir -p /home/processmaker/${shortname}/workflow/public_html/translations'"
|
||||
}
|
||||
}
|
||||
|
||||
stage('Publish to QA-300') {
|
||||
sshagent(['processmaker-deploy']) {
|
||||
echo 'Dropping existing files and recreating'
|
||||
sh "ssh processmaker@build-qa300.processmaker.net 'rm -Rf /home/processmaker/${shortname}'"
|
||||
sh "scp -r ./ processmaker@build-qa300.processmaker.net:~/${shortname}"
|
||||
echo 'Creating necessary directories'
|
||||
sh "ssh processmaker@build-qa300.processmaker.net 'mkdir -p /home/processmaker/${shortname}/workflow/engine/js/labels'"
|
||||
sh "ssh processmaker@build-qa300.processmaker.net 'mkdir -p /home/processmaker/${shortname}/workflow/public_html/translations'"
|
||||
}
|
||||
}
|
||||
|
||||
stage('Success Notification') {
|
||||
withCredentials([string(credentialsId: 'qa-rds-hostname', variable: 'rdsHostname'), usernamePassword(credentialsId: 'qa-rds-credentials', passwordVariable: 'rdsPassword', usernameVariable: 'rdsUsername')]) {
|
||||
if(jiraTicket) {
|
||||
jiraComment issueKey: jiraTicket, body: "" +
|
||||
"Build ${env.BUILD_NUMBER} Completed.\n" +
|
||||
"5.6 Build: https://${shortname}.qa205.processmaker.net\n" +
|
||||
"Database Host: ${rdsHostname}\n" +
|
||||
"Username: ${rdsUsername}\n" +
|
||||
"Password: ${rdsPassword}\n" +
|
||||
"Database: qa205${dbSuffix}\n\n" +
|
||||
"7.0 Build: https://${shortname}.qa300.processmaker.net\n" +
|
||||
"Database Host: ${rdsHostname}\n" +
|
||||
"Username: ${rdsUsername}\n" +
|
||||
"Password: ${rdsPassword}\n" +
|
||||
"Database: qa300${dbSuffix}\n\n" +
|
||||
"${env.BUILD_URL}"
|
||||
}
|
||||
hipchatSend room: 'engineering', message: "" +
|
||||
"${env.BRANCH_NAME} Build: ${env.BUILD_NUMBER} Completed.\n" +
|
||||
"${env.BUILD_URL}"
|
||||
}
|
||||
}
|
||||
} catch(error) {
|
||||
if(jiraTicket) {
|
||||
jiraComment issueKey: jiraTicket, body: "Build ${env.BUILD_NUMBER} Failed: ${error}\n\n${env.BUILD_URL}"
|
||||
}
|
||||
hipchatSend message: "${env.BRANCH_NAME} Build: ${env.BUILD_NUMBER} Failed: ${error}\n${env.BUILD_URL}", room: 'engineering'
|
||||
}
|
||||
}
|
||||
@@ -29,9 +29,9 @@
|
||||
"require": {
|
||||
"luracast/restler": "3.0.0-RC5",
|
||||
"bshaffer/oauth2-server-php": "v1.0",
|
||||
"colosa/pmUI": "3.1-dev",
|
||||
"colosa/MichelangeloFE": "3.1-dev",
|
||||
"colosa/pmdynaform": "3.1-dev",
|
||||
"colosa/pmUI": "release/3.2-dev",
|
||||
"colosa/MichelangeloFE": "release/3.2-dev",
|
||||
"colosa/pmdynaform": "release/3.2-dev",
|
||||
"google/apiclient": "1.1.6",
|
||||
"dapphp/securimage": "^3.6",
|
||||
"psr/log":"1.0.0",
|
||||
|
||||
10
composer.lock
generated
10
composer.lock
generated
@@ -52,14 +52,14 @@
|
||||
},
|
||||
{
|
||||
"name": "colosa/MichelangeloFE",
|
||||
"version": "3.1-dev",
|
||||
"version": "release/3.2-dev",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "git@bitbucket.org:colosa/michelangelofe.git",
|
||||
"reference": "7e889f23a7e8397c052a4d9ae6331334b57c9d48"
|
||||
},
|
||||
"require": {
|
||||
"colosa/pmui": "3.1-dev"
|
||||
"colosa/pmui": "release/3.2-dev"
|
||||
},
|
||||
"type": "library",
|
||||
"description": "ProcessMaker Michelangelo Front End",
|
||||
@@ -71,7 +71,7 @@
|
||||
},
|
||||
{
|
||||
"name": "colosa/pmDynaform",
|
||||
"version": "3.1-dev",
|
||||
"version": "release/3.2-dev",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "git@bitbucket.org:colosa/pmdynaform.git",
|
||||
@@ -87,7 +87,7 @@
|
||||
},
|
||||
{
|
||||
"name": "colosa/pmUI",
|
||||
"version": "3.1-dev",
|
||||
"version": "release/3.2-dev",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "git@bitbucket.org:colosa/pmui.git",
|
||||
@@ -571,7 +571,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.1-dev"
|
||||
"dev-master": "release/3.2-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
||||
@@ -1232,8 +1232,10 @@ class G
|
||||
case 'txt':
|
||||
G::sendHeaders( $filename, 'text/html', $download, $downloadFileName );
|
||||
break;
|
||||
case 'doc':
|
||||
case 'pdf':
|
||||
G::sendHeaders( $filename, 'application/pdf', $download, $downloadFileName );
|
||||
break;
|
||||
case 'doc':
|
||||
case 'pm':
|
||||
case 'po':
|
||||
G::sendHeaders( $filename, 'application/octet-stream', $download, $downloadFileName );
|
||||
@@ -1283,12 +1285,14 @@ class G
|
||||
{
|
||||
if ($download) {
|
||||
if ($downloadFileName == '') {
|
||||
$aAux = explode( '/', $filename );
|
||||
$downloadFileName = $aAux[count( $aAux ) - 1];
|
||||
$aAux = explode('/', $filename);
|
||||
$downloadFileName = $aAux[count($aAux) - 1];
|
||||
}
|
||||
header( 'Content-Disposition: attachment; filename="' . $downloadFileName . '"' );
|
||||
header('Content-Disposition: attachment; filename="' . $downloadFileName . '"');
|
||||
} else {
|
||||
header('Content-Disposition: inline; filename="' . $downloadFileName . '"');
|
||||
}
|
||||
header( 'Content-Type: ' . $contentType );
|
||||
header('Content-Type: ' . $contentType);
|
||||
|
||||
//if userAgent (BROWSER) is MSIE we need special headers to avoid MSIE behaivor.
|
||||
$userAgent = strtolower( $_SERVER['HTTP_USER_AGENT'] );
|
||||
|
||||
@@ -171,25 +171,25 @@ class actionsByEmailCoreClass extends PMPlugin
|
||||
$variables = $variableService->doGetVariables($caseFields['PRO_UID']);
|
||||
$field = new stdClass();
|
||||
$field->label = '';
|
||||
$actionField = str_replace(array('@@','@#','@=','@%','@?','@$'), '', $configuration['ABE_ACTION_FIELD']);
|
||||
$actionField = str_replace(array('@@', '@#', '@=', '@%', '@?', '@$'), '', $configuration['ABE_ACTION_FIELD']);
|
||||
G::LoadClass('pmDynaform');
|
||||
$obj = new pmDynaform($configuration['DYN_UID']);
|
||||
$configuration['CURRENT_DYNAFORM'] = $configuration['DYN_UID'];
|
||||
$file = $obj->printPmDynaformAbe($configuration);
|
||||
$__ABE__ .= $file;
|
||||
$__ABE__ .= '<strong>' . $field->label . '</strong><br /><br /><table align="left" border="0"><tr>';
|
||||
$__ABE__ .= '<div style="width: 100%"></div><strong>' . $field->label . '</strong><table align="left" border="0"><tr>';
|
||||
$index = 1;
|
||||
$__ABE__.='<br /><td><table align="left" cellpadding="2"><tr>';
|
||||
$__ABE__ .= '<td><table align="left" cellpadding="2"><tr>';
|
||||
foreach ($customGrid as $key => $value) {
|
||||
$__ABE__ .= '<td align="center"><a style="'.$value['abe_custom_format'].'" ';
|
||||
$__ABE__ .= 'href="' .urldecode(urlencode($link)). '?ACTION='.G::encrypt('processABE', URL_KEY).'&APP_UID=';
|
||||
$__ABE__ .= '<td align="center"><a style="' . $value['abe_custom_format'] . '" ';
|
||||
$__ABE__ .= 'href="' . urldecode(urlencode($link)) . '?ACTION=' . G::encrypt('processABE', URL_KEY) . '&APP_UID=';
|
||||
$__ABE__ .= G::encrypt($data->APP_UID, URL_KEY) . '&DEL_INDEX=' . G::encrypt($data->DEL_INDEX, URL_KEY);
|
||||
$__ABE__ .= '&FIELD=' . G::encrypt($actionField, URL_KEY) . '&VALUE=' . G::encrypt($value['abe_custom_value'], URL_KEY);
|
||||
$__ABE__ .= '&ABER=' . G::encrypt($abeRequest['ABE_REQ_UID'], URL_KEY) . '" target="_blank" >' . $value['abe_custom_label'];
|
||||
$__ABE__ .= '</a></td>' . (($index % 5 == 0) ? '</tr><tr>' : ' ');
|
||||
$index++;
|
||||
}
|
||||
$__ABE__.='</tr></table><br />';
|
||||
$__ABE__ .= '</tr></table></div>';
|
||||
break;
|
||||
case 'LINK':
|
||||
$__ABE__ .= '<a href="' . $link . 'DataForm?APP_UID=' . G::encrypt($data->APP_UID, URL_KEY) . '&DEL_INDEX=' . G::encrypt($data->DEL_INDEX, URL_KEY) . '&DYN_UID=' . G::encrypt($configuration['DYN_UID'], URL_KEY) . '&ABER=' . G::encrypt($abeRequest['ABE_REQ_UID'], URL_KEY) . '" target="_blank">Please complete this form</a>';
|
||||
|
||||
@@ -4528,6 +4528,11 @@ class Cases
|
||||
|
||||
/*----------------------------------********---------------------------------*/
|
||||
$this->getExecuteTriggerProcess($sApplicationUID, 'REASSIGNED');
|
||||
|
||||
//Delete record of the table LIST_UNASSIGNED
|
||||
$unassigned = new ListUnassigned();
|
||||
$unassigned->remove($sApplicationUID, $iDelegation);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
<?php
|
||||
class Library
|
||||
{
|
||||
public static function getCasesNumRec($userUid)
|
||||
{
|
||||
$cnn = Propel::getConnection("workflow");
|
||||
$stmt = $cnn->createStatement();
|
||||
|
||||
//Number of records active
|
||||
$criteria = new Criteria("workflow");
|
||||
|
||||
//SELECT
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::CON_STATUS);
|
||||
//FROM
|
||||
//WHERE
|
||||
$criteria->add(CaseConsolidatedCorePeer::CON_STATUS, "ACTIVE");
|
||||
|
||||
$activeNumRec = CaseConsolidatedCorePeer::doCount($criteria);
|
||||
|
||||
//Number of records
|
||||
$numRec = 0;
|
||||
|
||||
$sql = "SELECT COUNT(APP_CACHE_VIEW.TAS_UID) AS NUMREC
|
||||
FROM CASE_CONSOLIDATED
|
||||
LEFT JOIN APP_CACHE_VIEW ON (CASE_CONSOLIDATED.TAS_UID = APP_CACHE_VIEW.TAS_UID)
|
||||
WHERE APP_CACHE_VIEW.USR_UID = '$userUid' AND
|
||||
APP_CACHE_VIEW.DEL_THREAD_STATUS = 'OPEN' AND
|
||||
APP_CACHE_VIEW.APP_STATUS = 'TO_DO'";
|
||||
|
||||
$rsSql = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while ($rsSql->next()) {
|
||||
$row = $rsSql->getRow();
|
||||
|
||||
$numRec = $row["NUMREC"];
|
||||
}
|
||||
|
||||
$numRec = ($activeNumRec > 0)? $numRec : 0;
|
||||
|
||||
return $numRec;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -485,7 +485,8 @@ class PMPlugin
|
||||
$file = $path . "public_html/" . $extensionPath;
|
||||
@file_put_contents($file, "", LOCK_EX);
|
||||
foreach ($item->files as $name) {
|
||||
@file_put_contents($file, file_get_contents($item->path . "/" . $name), FILE_APPEND | LOCK_EX);
|
||||
$content = file_get_contents($item->path . "/" . $name) . "\n";
|
||||
@file_put_contents($file, $content, FILE_APPEND | LOCK_EX);
|
||||
}
|
||||
$this->registerDesignerSourcePath($extensionPath);
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ class pmDynaform
|
||||
private $context = array();
|
||||
private $dataSources = null;
|
||||
private $databaseProviders = null;
|
||||
private $propertiesToExclude = array();
|
||||
|
||||
public function __construct($fields = array())
|
||||
{
|
||||
@@ -37,6 +38,7 @@ class pmDynaform
|
||||
$this->serverConf = &serverConf::getSingleton();
|
||||
$this->isRTL = ($this->serverConf->isRtl(SYS_LANG)) ? 'true' : 'false';
|
||||
$this->fields = $fields;
|
||||
$this->propertiesToExclude = array('dataVariable');
|
||||
$this->getDynaform();
|
||||
$this->getDynaforms();
|
||||
$this->synchronizeSubDynaform();
|
||||
@@ -196,11 +198,13 @@ class pmDynaform
|
||||
if (is_string($value) && in_array(substr($value, 0, 2), $prefixs)) {
|
||||
$triggerValue = substr($value, 2);
|
||||
if (isset($this->fields["APP_DATA"][$triggerValue])) {
|
||||
if ($key !== "dataVariable") {
|
||||
if (!in_array($key, $this->propertiesToExclude)) {
|
||||
$json->{$key} = $this->fields["APP_DATA"][$triggerValue];
|
||||
}
|
||||
} else {
|
||||
$json->{$key} = "";
|
||||
if (!in_array($key, $this->propertiesToExclude)) {
|
||||
$json->{$key} = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
//set properties from 'formInstance' variable
|
||||
@@ -1909,6 +1913,12 @@ class pmDynaform
|
||||
if ($validatorClass !== null) {
|
||||
$validatorClass->validatePost($post);
|
||||
}
|
||||
//Clears the data in the appData for grids
|
||||
if (array_key_exists($json->id, $this->fields) && $json->type === 'grid' &&
|
||||
!array_key_exists($json->id, $post)
|
||||
) {
|
||||
$post[$json->variable] = array(array());
|
||||
}
|
||||
}
|
||||
};
|
||||
$json = G::json_decode($this->record["DYN_CONTENT"]);
|
||||
|
||||
@@ -527,13 +527,27 @@ function WSLogin ($user, $pass, $endpoint = "")
|
||||
function WSOpen ($force = false)
|
||||
{
|
||||
if (isset( $_SESSION["WS_SESSION_ID"] ) || $force) {
|
||||
$optionsHeaders = array(
|
||||
"cache_wsdl" => WSDL_CACHE_NONE,
|
||||
"soap_version" => SOAP_1_1,
|
||||
"trace" => 1,
|
||||
"stream_context" => stream_context_create(
|
||||
array(
|
||||
'ssl' => array(
|
||||
'verify_peer' => 0,
|
||||
'verify_peer_name' => 0
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
if (! isset( $_SESSION["WS_END_POINT"] )) {
|
||||
$defaultEndpoint = "http://" . $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . "/sys" . SYS_SYS . "/en/classic/services/wsdl2";
|
||||
$defaultEndpoint = $_SERVER["REQUEST_SCHEME"] . "://" . $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . "/sys" . SYS_SYS . "/en/classic/services/wsdl2";
|
||||
}
|
||||
|
||||
$endpoint = isset( $_SESSION["WS_END_POINT"] ) ? $_SESSION["WS_END_POINT"] : $defaultEndpoint;
|
||||
|
||||
$client = new SoapClient( $endpoint );
|
||||
$client = new SoapClient( $endpoint, $optionsHeaders);
|
||||
|
||||
return $client;
|
||||
} else {
|
||||
|
||||
@@ -2507,6 +2507,7 @@ class Processes
|
||||
$data->processVariables[$key]['VAR_UID'] = $newGuid;
|
||||
}
|
||||
}
|
||||
$data->uid["PROCESS_VARIABLES"] = $map;
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
@@ -2610,6 +2611,9 @@ class Processes
|
||||
public function renewAll(&$oData)
|
||||
{
|
||||
$oData->uid = array();
|
||||
if (isset($oData->process["PRO_PARENT"]) && isset($oData->process["PRO_UID"])) {
|
||||
$oData->uid["PROCESS"] = array($oData->process["PRO_PARENT"] => $oData->process["PRO_UID"]);
|
||||
}
|
||||
|
||||
$this->renewAllTaskGuid($oData);
|
||||
$this->renewAllDynaformGuid($oData);
|
||||
|
||||
@@ -1401,6 +1401,10 @@ class workspaceTools
|
||||
$arrayRegExpEngineSearch = array("/\)\s*TYPE\s*=\s*(InnoDB)/i", "/\)\s*TYPE\s*=\s*(MyISAM)/i","/SET\s*FOREIGN_KEY_CHECKS\s*=\s*0\s*;/");
|
||||
$arrayRegExpEngineReplace = array(") ENGINE=\\1 DEFAULT CHARSET=utf8", ") ENGINE=\\1","SET FOREIGN_KEY_CHECKS=0;\nSET unique_checks=0;\nSET AUTOCOMMIT=0;");
|
||||
|
||||
//replace DEFINER
|
||||
$script = preg_replace('/DEFINER=[^*]*/', '', file_get_contents($filename));
|
||||
file_put_contents($filename, $script);
|
||||
|
||||
if (!$flag && !is_null($flagFunction)) {
|
||||
//Replace TYPE by ENGINE
|
||||
if( $versionBackupEngine == 1) {
|
||||
|
||||
@@ -778,6 +778,10 @@ class AdditionalTables extends BaseAdditionalTables
|
||||
// quick fix
|
||||
// map all empty values as NULL for Database
|
||||
foreach ($caseData as $dKey => $dValue) {
|
||||
if (is_array($dValue) && count($dValue)) {
|
||||
$j = key($dValue);
|
||||
$dValue = (is_array($dValue[$j])) ? $dValue : $dValue[$j];
|
||||
}
|
||||
if (!is_array($dValue)) {
|
||||
foreach ($fieldTypes as $key => $fieldType) {
|
||||
foreach ($fieldType as $name => $theType) {
|
||||
@@ -897,6 +901,10 @@ class AdditionalTables extends BaseAdditionalTables
|
||||
$caseData = unserialize($caseData);
|
||||
}
|
||||
foreach ($caseData as $i => $v) {
|
||||
if (is_array($v) && count($v)) {
|
||||
$j = key($v);
|
||||
$v = (is_array($v[$j])) ? $v : $v[$j];
|
||||
}
|
||||
foreach ($fieldTypes as $key => $fieldType) {
|
||||
foreach ($fieldType as $name => $type) {
|
||||
if ( strtoupper ( $i) == $name) {
|
||||
|
||||
@@ -447,6 +447,7 @@ class AppDelegation extends BaseAppDelegation
|
||||
//Get Task properties
|
||||
$task = TaskPeer::retrieveByPK( $this->getTasUid() );
|
||||
|
||||
$aData = array();
|
||||
$aData['TAS_UID'] = $this->getTasUid();
|
||||
//Added to allow User defined Timing Control at Run time from Derivation screen
|
||||
if (isset( $sNextTasParam['NEXT_TASK']['TAS_TRANSFER_HIDDEN_FLY'] ) && $sNextTasParam['NEXT_TASK']['TAS_TRANSFER_HIDDEN_FLY'] == 'true') {
|
||||
@@ -476,7 +477,7 @@ class AppDelegation extends BaseAppDelegation
|
||||
//Calendar - Use the dates class to calculate dates
|
||||
$calendar = new calendar();
|
||||
|
||||
$arrayCalendarData = array();
|
||||
$arrayCalendarData = $calendar->getCalendarData($aCalendarUID);
|
||||
|
||||
if ($calendar->pmCalendarUid == "") {
|
||||
$calendar->getCalendar(null, $this->getProUid(), $this->getTasUid());
|
||||
@@ -485,11 +486,11 @@ class AppDelegation extends BaseAppDelegation
|
||||
}
|
||||
|
||||
//Due date
|
||||
/*$iDueDate = $calendar->calculateDate( $this->getDelDelegateDate(), $aData['TAS_DURATION'], $aData['TAS_TIMEUNIT'] //hours or days, ( we only accept this two types or maybe weeks
|
||||
);*/
|
||||
$dueDate = $calendar->dashCalculateDate($this->getDelDelegateDate(), $aData["TAS_DURATION"], $aData["TAS_TIMEUNIT"], $arrayCalendarData);
|
||||
$initDate = $this->getDelDelegateDate();
|
||||
$timeZone = \ProcessMaker\Util\DateTime::convertUtcToTimeZone($initDate);
|
||||
$dueDate = $calendar->dashCalculateDate($timeZone, $aData["TAS_DURATION"], $aData["TAS_TIMEUNIT"], $arrayCalendarData);
|
||||
|
||||
//Return
|
||||
$dueDate = \ProcessMaker\Util\DateTime::convertDataToUtc($dueDate);
|
||||
return $dueDate;
|
||||
}
|
||||
|
||||
|
||||
@@ -97,21 +97,21 @@ class ProcessUser extends BaseProcessUser
|
||||
{
|
||||
try {
|
||||
$oCriteria = new Criteria();
|
||||
$oCriteria->add( ProcessUserPeer::PRO_UID, $proUid );
|
||||
$oCriteria->add( ProcessUserPeer::PU_TYPE, 'SUPERVISOR' );
|
||||
$oCriteria->add( ProcessUserPeer::USR_UID, $usrUid );
|
||||
$dataset = ProcessUserPeer::doSelectRS( $oCriteria );
|
||||
$dataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oCriteria->add(ProcessUserPeer::PRO_UID, $proUid);
|
||||
$oCriteria->add(ProcessUserPeer::PU_TYPE, 'SUPERVISOR');
|
||||
$oCriteria->add(ProcessUserPeer::USR_UID, $usrUid);
|
||||
$dataset = ProcessUserPeer::doSelectRS($oCriteria);
|
||||
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
//If the user is in Assigned supervisors list
|
||||
if($dataset->next()){
|
||||
if ($dataset->next()) {
|
||||
return true;
|
||||
} else {
|
||||
//If the user is in a group in Assigned supervisors list
|
||||
$oCriteria = new Criteria();
|
||||
$oCriteria->add( ProcessUserPeer::PRO_UID, $proUid );
|
||||
$oCriteria->add( ProcessUserPeer::PU_TYPE, 'GROUP_SUPERVISOR');
|
||||
$dataset = ProcessUserPeer::doSelectRS( $oCriteria );
|
||||
$dataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oCriteria->add(ProcessUserPeer::PRO_UID, $proUid);
|
||||
$oCriteria->add(ProcessUserPeer::PU_TYPE, 'GROUP_SUPERVISOR');
|
||||
$dataset = ProcessUserPeer::doSelectRS($oCriteria);
|
||||
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oGroups = new Groups();
|
||||
$aGroups = $oGroups->getActiveGroupsForAnUser($usrUid);
|
||||
while ($dataset->next()) {
|
||||
@@ -119,8 +119,6 @@ class ProcessUser extends BaseProcessUser
|
||||
$groupUid = $row['USR_UID'];
|
||||
if (in_array($groupUid, $aGroups)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -409,6 +409,7 @@ class Task extends BaseTask
|
||||
$this->setTasPosx("");
|
||||
$this->setTasPosy("");
|
||||
$this->setTasColor("");
|
||||
$this->setTasGroupVariable("");
|
||||
$this->fromArray($aData,BasePeer::TYPE_FIELDNAME);
|
||||
|
||||
if ($this->validate()) {
|
||||
|
||||
@@ -82,6 +82,7 @@ $(window).load(function () {
|
||||
data: data,
|
||||
delIndex: window.delIndex ? window.delIndex : delIndexDefault,
|
||||
dynaformUid: dyn_uid,
|
||||
isRTL: window.isRTL,
|
||||
onBeforePrintHandler : function () {
|
||||
var nodeClone = $(".pmdynaform-container").clone();
|
||||
nodeClone.addClass("printing-form");
|
||||
|
||||
@@ -26,32 +26,38 @@ $actionAjax = isset( $_REQUEST['actionAjax'] ) ? $_REQUEST['actionAjax'] : null;
|
||||
|
||||
if ($actionAjax == 'historyGridList_JXP') {
|
||||
|
||||
G::LoadClass( 'case' );
|
||||
G::LoadClass( "BasePeer" );
|
||||
G::LoadClass('case');
|
||||
G::LoadClass("BasePeer");
|
||||
|
||||
global $G_PUBLISH;
|
||||
$c = Cases::getTransferHistoryCriteria( $_SESSION['APPLICATION'] );
|
||||
$criteria = Cases::getTransferHistoryCriteria($_SESSION['APPLICATION']);
|
||||
|
||||
$rs = GulliverBasePeer::doSelectRs($criteria);
|
||||
$totalCount = $rs->getRecordCount();
|
||||
|
||||
$start = $_REQUEST["start"];
|
||||
$limit = $_REQUEST["limit"];
|
||||
|
||||
$criteria->setLimit($limit);
|
||||
$criteria->setOffset($start);
|
||||
|
||||
$rs = GulliverBasePeer::doSelectRs($criteria);
|
||||
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$result = new stdClass();
|
||||
$aProcesses = Array ();
|
||||
|
||||
$rs = GulliverBasePeer::doSelectRs( $c );
|
||||
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next();
|
||||
for ($j = 0; $j < $rs->getRecordCount(); $j ++) {
|
||||
$aProcesses = Array();
|
||||
while ($rs->next()) {
|
||||
$result = $rs->getRow();
|
||||
$result["ID_HISTORY"] = $result["PRO_UID"] . '_' . $result["APP_UID"] . '_' . $result["TAS_UID"];
|
||||
$aProcesses[] = $result;
|
||||
$rs->next();
|
||||
}
|
||||
|
||||
$newDir = '/tmp/test/directory';
|
||||
G::verifyPath( $newDir );
|
||||
G::verifyPath($newDir);
|
||||
$r = new stdclass();
|
||||
$r->data = \ProcessMaker\Util\DateTime::convertUtcToTimeZone($aProcesses);
|
||||
$r->totalCount = 2;
|
||||
$r->totalCount = $totalCount;
|
||||
|
||||
echo G::json_encode( $r );
|
||||
echo G::json_encode($r);
|
||||
}
|
||||
|
||||
if ($actionAjax == 'historyGridListChangeLogPanelBody_JXP') {
|
||||
|
||||
@@ -93,6 +93,7 @@ if ($actionAjax == 'messageHistoryGridList_JXP') {
|
||||
}
|
||||
}
|
||||
|
||||
$totalCount = 0;
|
||||
foreach ($appMessageArray as $index => $value) {
|
||||
if (($appMessageArray[$index]['APP_MSG_SHOW_MESSAGE'] == 1 && $respMess != 'BLOCK' ) &&
|
||||
($appMessageArray[$index]['DEL_INDEX'] == 0 || in_array($appMessageArray[$index]['DEL_INDEX'], $delIndex ))) {
|
||||
@@ -104,12 +105,6 @@ if ($actionAjax == 'messageHistoryGridList_JXP') {
|
||||
$appMessageArray[$index]['APP_MSG_BODY'] = str_replace('\"','"',$appMessageArray[$index]['APP_MSG_BODY']);
|
||||
$appMessageArray[$index]['APP_MSG_BODY'] = str_replace('"','\"',$appMessageArray[$index]['APP_MSG_BODY']);
|
||||
$aProcesses[] = array_merge($appMessageArray[$index], array('MSGS_HISTORY' => $respMess));
|
||||
}
|
||||
}
|
||||
|
||||
$totalCount = 0;
|
||||
foreach ($appMessageCountArray as $index => $value) {
|
||||
if ($appMessageCountArray[$index]['APP_MSG_SHOW_MESSAGE'] == 1) {
|
||||
$totalCount ++;
|
||||
}
|
||||
}
|
||||
@@ -127,9 +122,11 @@ if ($actionAjax == 'messageHistoryGridList_JXP') {
|
||||
$r->data[0] = array('APP_MSG_TYPE' => '');
|
||||
}
|
||||
|
||||
$r->data[0]["APP_MSG_TYPE"] = (array_key_exists($r->data[0]["APP_MSG_TYPE"], $arrayToTranslation)) ?
|
||||
$arrayToTranslation[$r->data[0]["APP_MSG_TYPE"]] :
|
||||
$r->data[0]["APP_MSG_TYPE"];
|
||||
foreach ($r->data as $key => $value) {
|
||||
$r->data[$key]["APP_MSG_TYPE"] = array_key_exists($r->data[$key]["APP_MSG_TYPE"], $arrayToTranslation) ?
|
||||
$arrayToTranslation[$r->data[$key]["APP_MSG_TYPE"]] :
|
||||
$r->data[$key]["APP_MSG_TYPE"];
|
||||
}
|
||||
}
|
||||
|
||||
echo G::json_encode( $r );
|
||||
|
||||
@@ -1,111 +1,68 @@
|
||||
<?php
|
||||
|
||||
$action = (isset($_REQUEST["action"])) ? $_REQUEST["action"] : "consolidated";
|
||||
$arrayTabItem = array();
|
||||
|
||||
$oCriteria = new Criteria("workflow");
|
||||
$oCriteria->addSelectColumn(CaseConsolidatedCorePeer::CON_STATUS);
|
||||
$oCriteria->add(CaseConsolidatedCorePeer::CON_STATUS, "ACTIVE");
|
||||
$oCriteria->add(CaseConsolidatedCorePeer::CON_STATUS, 'ACTIVE');
|
||||
$activeNumRows = CaseConsolidatedCorePeer::doCount($oCriteria);
|
||||
|
||||
G::LoadClass ("BasePeer");
|
||||
G::LoadClass ("configuration");
|
||||
G::LoadClass("BasePeer");
|
||||
G::LoadClass("configuration");
|
||||
G::loadClass("pmFunctions");
|
||||
|
||||
$headPublisher = &headPublisher::getSingleton();
|
||||
|
||||
//cambiar esto por PROPEL //CASE_CONSOLIDATED TASK
|
||||
$usrUid = $_SESSION["USER_LOGGED"];
|
||||
|
||||
$oCriteria = new Criteria("workflow");
|
||||
$oCriteria->addSelectColumn("*");
|
||||
$oCriteria->addSelectColumn(CaseConsolidatedCorePeer::TAS_UID);
|
||||
$oCriteria->addSelectColumn(TaskPeer::TAS_TITLE);
|
||||
$oCriteria->addJoin(CaseConsolidatedCorePeer::TAS_UID,TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
|
||||
|
||||
$params = array(); //This will be filled with the parameters
|
||||
$sql = BasePeer::createSelectSql($oCriteria, $params);
|
||||
|
||||
$oDataset = CaseConsolidatedCorePeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
//$oDataset->next();
|
||||
while ($oDataset->next()) {
|
||||
$aRow = $oDataset->getRow();
|
||||
//$aTaskConsolidated [] = $aRow;
|
||||
}
|
||||
|
||||
$query = "SELECT *
|
||||
FROM CASE_CONSOLIDATED LEFT JOIN CONTENT ON
|
||||
(CASE_CONSOLIDATED.TAS_UID = CONTENT.CON_ID) LEFT JOIN TASK ON (CASE_CONSOLIDATED.TAS_UID = TASK.TAS_UID)
|
||||
WHERE CONTENT.CON_CATEGORY='TAS_TITLE' AND CONTENT.CON_LANG='en'";
|
||||
$aTaskConsolidated = executeQuery($query);
|
||||
|
||||
$conf = new Configurations();
|
||||
|
||||
try {
|
||||
$confCasesList = $conf->getConfiguration("casesList", $action);
|
||||
$confCasesList = $conf->getConfiguration("casesList", $action);
|
||||
$generalConfCasesList = $conf->getConfiguration("ENVIRONMENT_SETTINGS", "");
|
||||
} catch (Exception $e) {
|
||||
$confCasesList = array();
|
||||
$generalConfCasesList = array();
|
||||
}
|
||||
|
||||
$config = getAdditionalFields($action, $confCasesList);
|
||||
|
||||
if (isset($generalConfCasesList["casesListRowNumber"]) && !empty($generalConfCasesList["casesListRowNumber"])) {
|
||||
$pageSize = intval($generalConfCasesList["casesListRowNumber"]);
|
||||
} else {
|
||||
$config = getAdditionalFields($action, $confCasesList);
|
||||
$pageSize = intval($config["rowsperpage"]);
|
||||
}
|
||||
|
||||
$arrayTabItem = array();
|
||||
$aAllData = array();
|
||||
//$aQTY = array();
|
||||
$i = 0;
|
||||
|
||||
//SQL
|
||||
$cnn = Propel::getConnection("workflow");
|
||||
$stmt = $cnn->createStatement();
|
||||
|
||||
//foreach ($aTaskConsolidated as $value)
|
||||
//{
|
||||
$i++;
|
||||
|
||||
$sql = "SELECT COUNT(APP_CACHE_VIEW.TAS_UID) AS NUMREC,
|
||||
APP_CACHE_VIEW.PRO_UID,
|
||||
(SELECT CON.CON_VALUE
|
||||
FROM CONTENT AS CON
|
||||
WHERE CON.CON_ID = APP_CACHE_VIEW.PRO_UID AND CON.CON_CATEGORY = 'PRO_TITLE' AND CON.CON_LANG = '" . SYS_LANG . "'
|
||||
) AS PROCESS_TITLE,
|
||||
APP_CACHE_VIEW.TAS_UID,
|
||||
CONTASK.CON_VALUE AS TASK_TITLE,
|
||||
CASE_CONSOLIDATED.DYN_UID
|
||||
FROM CASE_CONSOLIDATED
|
||||
LEFT JOIN CONTENT AS CONTASK ON (CASE_CONSOLIDATED.TAS_UID = CONTASK.CON_ID AND CONTASK.CON_CATEGORY = 'TAS_TITLE' AND CONTASK.CON_LANG = '" . SYS_LANG . "')
|
||||
LEFT JOIN APP_CACHE_VIEW ON (CASE_CONSOLIDATED.TAS_UID = APP_CACHE_VIEW.TAS_UID)
|
||||
WHERE APP_CACHE_VIEW.USR_UID = '$usrUid' AND
|
||||
APP_CACHE_VIEW.DEL_THREAD_STATUS = 'OPEN' AND
|
||||
APP_CACHE_VIEW.APP_STATUS = 'TO_DO'
|
||||
GROUP BY APP_CACHE_VIEW.TAS_UID";
|
||||
|
||||
$rsSql = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC);
|
||||
$criteria = new Criteria();
|
||||
$criteria->addAsColumn('NUMREC', 'COUNT(' . ListInboxPeer::TAS_UID . ')');
|
||||
$criteria->addSelectColumn(ListInboxPeer::PRO_UID);
|
||||
$criteria->addSelectColumn(ProcessPeer::PRO_TITLE);
|
||||
$criteria->addSelectColumn(ListInboxPeer::TAS_UID);
|
||||
$criteria->addSelectColumn(TaskPeer::TAS_TITLE);
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::DYN_UID);
|
||||
$criteria->addJoin(CaseConsolidatedCorePeer::TAS_UID, ListInboxPeer::TAS_UID, Criteria::LEFT_JOIN);
|
||||
$criteria->addJoin(ListInboxPeer::PRO_UID, ProcessPeer::PRO_UID, Criteria::LEFT_JOIN);
|
||||
$criteria->addJoin(ListInboxPeer::TAS_UID, TaskPeer::TAS_UID, Criteria::LEFT_JOIN);
|
||||
$criteria->add(ListInboxPeer::USR_UID, $usrUid, Criteria::EQUAL);
|
||||
$criteria->add(ListInboxPeer::APP_STATUS, 'TO_DO', Criteria::EQUAL);
|
||||
$criteria->addGroupByColumn(ListInboxPeer::TAS_UID);
|
||||
$rsSql = CaseConsolidatedCorePeer::doSelectRS($criteria);
|
||||
$rsSql->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while ($rsSql->next()) {
|
||||
$row = $rsSql->getRow();
|
||||
|
||||
$processUid = $row["PRO_UID"];
|
||||
$proTitle = $row["PROCESS_TITLE"];
|
||||
$taskUid = $row["TAS_UID"];
|
||||
$taskTitle = $row["TASK_TITLE"];
|
||||
$dynaformUid = $row["DYN_UID"];
|
||||
$processUid = $row['PRO_UID'];
|
||||
$proTitle = $row['PRO_TITLE'];
|
||||
$taskUid = $row['TAS_UID'];
|
||||
$taskTitle = $row['TAS_TITLE'];
|
||||
$dynaformUid = $row['DYN_UID'];
|
||||
|
||||
$tabTitle = $taskTitle . " (" . (($activeNumRows > 0)? $row["NUMREC"] : 0) . ")";
|
||||
$tabTitle = $taskTitle . " (" . (($activeNumRows > 0) ? $row["NUMREC"] : 0) . ")";
|
||||
|
||||
$grdTitle = htmlentities($proTitle . " / " . $tabTitle, ENT_QUOTES, "UTF-8");
|
||||
$tabTitle = htmlentities(substr($proTitle, 0, 25) . ((strlen($proTitle) > 25)? "..." : null) . " / " . $tabTitle, ENT_QUOTES, "UTF-8");
|
||||
$tabTitle = htmlentities(substr($proTitle, 0, 25) . ((strlen($proTitle) > 25) ? "..." : null) . " / " . $tabTitle, ENT_QUOTES, "UTF-8");
|
||||
|
||||
$oProcess = new Process();
|
||||
$isBpmn = $oProcess->isBpmnProcess($processUid);
|
||||
if($isBpmn){
|
||||
$isBpmn = $oProcess->isBpmnProcess($processUid);
|
||||
if ($isBpmn) {
|
||||
$arrayTabItem[] = "
|
||||
{
|
||||
title: \"<span onmouseover=\\\"toolTipTab('$grdTitle', 1);\\\" onmouseout=\\\"toolTipTab('', 0);\\\">$tabTitle</span>\",
|
||||
@@ -116,7 +73,7 @@ while ($rsSql->next()) {
|
||||
}
|
||||
}
|
||||
}";
|
||||
}else{
|
||||
} else {
|
||||
$arrayTabItem[] = "
|
||||
{
|
||||
title: \"<span onmouseover=\\\"toolTipTab('$grdTitle', 1);\\\" onmouseout=\\\"toolTipTab('', 0);\\\">$tabTitle</span>\",
|
||||
@@ -188,30 +145,20 @@ if (count($arrayTabItem) > 0) {
|
||||
echo "<span style=\"font: 0.75em normal arial, verdana, helvetica, sans-serif;\">" . G::LoadTranslation("ID_NO_RECORDS_FOUND") . "</span>";
|
||||
}
|
||||
|
||||
|
||||
|
||||
function getProcessArray($action, $userUid)
|
||||
{
|
||||
$processes = array();
|
||||
$processes[] = array("", G::LoadTranslation("ID_ALL_PROCESS"));
|
||||
|
||||
$cProcess = new Criteria("workflow");
|
||||
switch ($action) {
|
||||
case "simple_search":
|
||||
case "search":
|
||||
//In search action, the query to obtain all process is too slow, so we need to query directly to
|
||||
//process and content tables, and for that reason we need the current language in AppCacheView.
|
||||
G::loadClass("configuration");
|
||||
$oConf = new Configurations;
|
||||
$oConf->loadConfig($x, "APP_CACHE_VIEW_ENGINE", "", "", "", "");
|
||||
$appCacheViewEngine = $oConf->aConfig;
|
||||
$lang = isset($appCacheViewEngine["LANG"])? $appCacheViewEngine["LANG"] : "en";
|
||||
|
||||
$cProcess = new Criteria("workflow");
|
||||
$cProcess->clearSelectColumns();
|
||||
$cProcess->addSelectColumn(ProcessPeer::PRO_UID);
|
||||
$cProcess->addSelectColumn(ProcessPeer::PRO_TITLE);
|
||||
|
||||
$del = DBAdapter::getStringDelimiter();
|
||||
$cProcess->add(ProcessPeer::PRO_STATUS, "ACTIVE");
|
||||
$oDataset = ProcessPeer::doSelectRS($cProcess);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
@@ -226,21 +173,19 @@ function getProcessArray($action, $userUid)
|
||||
break;
|
||||
case "consolidated":
|
||||
default:
|
||||
$oAppCache = new AppCacheView();
|
||||
$cProcess = $oAppCache->getToDoListCriteria($userUid); //fast enough
|
||||
break;
|
||||
}
|
||||
|
||||
$cProcess->clearSelectColumns();
|
||||
$cProcess->setDistinct();
|
||||
$cProcess->addSelectColumn(AppCacheViewPeer::PRO_UID);
|
||||
$cProcess->addSelectColumn(AppCacheViewPeer::APP_PRO_TITLE);
|
||||
$oDataset = AppCacheViewPeer::doSelectRS($cProcess);
|
||||
$cProcess->addSelectColumn(ProcessPeer::PRO_UID);
|
||||
$cProcess->addSelectColumn(ProcessPeer::PRO_TITLE);
|
||||
$oDataset = ProcessPeer::doSelectRS($cProcess);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$processes[] = array($aRow["PRO_UID"], $aRow["APP_PRO_TITLE"]);
|
||||
$processes[] = array($aRow["PRO_UID"], $aRow["PRO_TITLE"]);
|
||||
$oDataset->next();
|
||||
}
|
||||
|
||||
|
||||
@@ -54,6 +54,30 @@ if ($actionAjax == "userValues") {
|
||||
$users = filterUserListArray($users, $query);
|
||||
//now get users, just for the Search action
|
||||
switch ($action) {
|
||||
case 'to_reassign':
|
||||
$cUsers = $oAppCache->getToReassignListCriteria(null);
|
||||
$cUsers->addSelectColumn(AppCacheViewPeer::USR_UID);
|
||||
|
||||
if (g::MySQLSintaxis()) {
|
||||
$cUsers->addGroupByColumn(AppCacheViewPeer::USR_UID);
|
||||
}
|
||||
|
||||
if (!is_null($query)) {
|
||||
$filters = $cUsers->getNewCriterion(UsersPeer::USR_FIRSTNAME, '%' . $query . '%', Criteria::LIKE)->addOr(
|
||||
$cUsers->getNewCriterion(UsersPeer::USR_LASTNAME, '%' . $query . '%', Criteria::LIKE)->addOr(
|
||||
$cUsers->getNewCriterion(UsersPeer::USR_USERNAME, '%' . $query . '%', Criteria::LIKE)));
|
||||
$cUsers->addAnd($filters);
|
||||
}
|
||||
$cUsers->setLimit(20);
|
||||
$cUsers->addAscendingOrderByColumn(AppCacheViewPeer::APP_CURRENT_USER);
|
||||
$oDataset = AppCacheViewPeer::doSelectRS($cUsers, Propel::getDbConnection('workflow_ro'));
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$oDataset->next();
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$users[] = array("USR_UID" => $aRow['USR_UID'], "USR_FULLNAME" => $aRow['APP_CURRENT_USER']);
|
||||
$oDataset->next();
|
||||
}
|
||||
break;
|
||||
case 'search_simple':
|
||||
case 'search':
|
||||
G::LoadClass("configuration");
|
||||
|
||||
@@ -548,46 +548,49 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
G::RenderPage( 'publish', 'raw' );
|
||||
break;
|
||||
case 'uploadDocumentGrid_Ajax':
|
||||
G::LoadClass( 'case' );
|
||||
G::LoadClass( "BasePeer" );
|
||||
G::LoadClass('case');
|
||||
G::LoadClass("BasePeer");
|
||||
global $G_PUBLISH;
|
||||
|
||||
$arrayToTranslation = array(
|
||||
"INPUT" => G::LoadTranslation("ID_INPUT_DB"),
|
||||
"OUTPUT" => G::LoadTranslation("ID_OUTPUT_DB"),
|
||||
"INPUT" => G::LoadTranslation("ID_INPUT_DB"),
|
||||
"OUTPUT" => G::LoadTranslation("ID_OUTPUT_DB"),
|
||||
"ATTACHED" => G::LoadTranslation("ID_ATTACHED_DB")
|
||||
);
|
||||
|
||||
$oCase = new Cases();
|
||||
$aProcesses = Array ();
|
||||
$aProcesses = Array();
|
||||
$G_PUBLISH = new Publisher();
|
||||
$c = $oCase->getAllUploadedDocumentsCriteria( $_SESSION['PROCESS'], $_SESSION['APPLICATION'],
|
||||
$_SESSION['CURRENT_TASK'], $_SESSION['USER_LOGGED'], $_SESSION['INDEX']);
|
||||
|
||||
if ($c->getDbName() == 'dbarray') {
|
||||
$rs = ArrayBasePeer::doSelectRs( $c );
|
||||
$criteria = $oCase->getAllUploadedDocumentsCriteria($_SESSION['PROCESS'], $_SESSION['APPLICATION'], $_SESSION['CURRENT_TASK'], $_SESSION['USER_LOGGED'], $_SESSION['INDEX']);
|
||||
if ($criteria->getDbName() == 'dbarray') {
|
||||
$rs = ArrayBasePeer::doSelectRs($criteria);
|
||||
} else {
|
||||
$rs = GulliverBasePeer::doSelectRs( $c );
|
||||
$rs = GulliverBasePeer::doSelectRs($criteria);
|
||||
}
|
||||
$totalCount = $rs->getRecordCount();
|
||||
|
||||
$rs->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$rs->next();
|
||||
$start = $_REQUEST["start"];
|
||||
$limit = $_REQUEST["limit"];
|
||||
|
||||
$totalCount = 0;
|
||||
|
||||
for ($j = 0; $j < $rs->getRecordCount(); $j ++) {
|
||||
$criteria->setLimit($limit);
|
||||
$criteria->setOffset($start);
|
||||
if ($criteria->getDbName() == 'dbarray') {
|
||||
$rs = ArrayBasePeer::doSelectRs($criteria);
|
||||
} else {
|
||||
$rs = GulliverBasePeer::doSelectRs($criteria);
|
||||
}
|
||||
$rs->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
while ($rs->next()) {
|
||||
$result = $rs->getRow();
|
||||
$result["TYPE"] = (array_key_exists($result["TYPE"], $arrayToTranslation))? $arrayToTranslation[$result["TYPE"]] : $result["TYPE"];
|
||||
$result["TYPE"] = (array_key_exists($result["TYPE"], $arrayToTranslation)) ? $arrayToTranslation[$result["TYPE"]] : $result["TYPE"];
|
||||
$aProcesses[] = $result;
|
||||
$rs->next();
|
||||
$totalCount ++;
|
||||
}
|
||||
|
||||
$r = new stdclass();
|
||||
$r->data = $aProcesses;
|
||||
$r->totalCount = $totalCount;
|
||||
|
||||
echo Bootstrap::json_encode( $r );
|
||||
echo Bootstrap::json_encode($r);
|
||||
break;
|
||||
case 'generateDocumentGrid_Ajax':
|
||||
|
||||
|
||||
@@ -56,12 +56,13 @@ if (isset($_SESSION['ACTION']) && ($_SESSION['ACTION'] == 'jump')) {
|
||||
$Fields = $oCase->loadCase( $_SESSION['APPLICATION'], $_SESSION['INDEX']);
|
||||
}
|
||||
|
||||
//Check the participated
|
||||
$participated = $oCase->userParticipatedInCase( $_GET['APP_UID'], $_SESSION['USER_LOGGED'] );
|
||||
//Check if is Supervisor
|
||||
$processUser = new ProcessUser();
|
||||
$userAccess = $processUser->validateUserAccess($Fields['PRO_UID'], $_SESSION['USER_LOGGED']);
|
||||
|
||||
if ($RBAC->userCanAccess( 'PM_ALLCASES' ) < 0 && $participated == 0) {
|
||||
/*if (strtoupper($Fields['APP_STATUS']) != 'COMPLETED') {
|
||||
$oCase->thisIsTheCurrentUser($_SESSION['APPLICATION'], $_SESSION['INDEX'], $_SESSION['USER_LOGGED'], 'SHOW_MESSAGE');
|
||||
}*/
|
||||
if ($RBAC->userCanAccess( 'PM_ALLCASES' ) < 0 && !$participated && !$userAccess) {
|
||||
$aMessage['MESSAGE'] = G::LoadTranslation( 'ID_NO_PERMISSION_NO_PARTICIPATED' );
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', $aMessage );
|
||||
@@ -77,12 +78,10 @@ if (isset( $aRow['APP_TYPE'] )) {
|
||||
$Fields['STATUS'] = ucfirst( strtolower( G::LoadTranslation( 'ID_CANCELLED' ) ) );
|
||||
break;
|
||||
}
|
||||
|
||||
//$Fields['STATUS'] = $aRow['APP_TYPE'];
|
||||
}
|
||||
|
||||
$actions = 'false';
|
||||
if ($_GET['action'] == 'paused') {
|
||||
if (isset($_GET['action']) && $_GET['action'] == 'paused') {
|
||||
$actions = 'true';
|
||||
}
|
||||
|
||||
|
||||
@@ -1009,7 +1009,7 @@ try {
|
||||
$aFields['TASK'][$sKey]['NEXT_TASK']['TAS_TRANSFER_HIDDEN_FLY'] = "<input type=hidden name='" . $hiddenName . "[NEXT_TASK][TAS_TRANSFER_HIDDEN_FLY]' id='" . $hiddenName . "[NEXT_TASK][TAS_TRANSFER_HIDDEN_FLY]' value=" . $aValues['NEXT_TASK']['TAS_TRANSFER_FLY'] . ">";
|
||||
if ($aValues['NEXT_TASK']['TAS_TRANSFER_FLY'] == 'true') {
|
||||
$aFields['TASK'][$sKey]['NEXT_TASK']['TAS_DURATION'] = '<input type="text" size="5" name="' . $hiddenName . '[NEXT_TASK][TAS_DURATION]" id="' . $hiddenName . '[NEXT_TASK][TAS_DURATION]" value="' . $aValues['NEXT_TASK']['TAS_DURATION'] . '">';
|
||||
$hoursSelected = $daysSelected = '';
|
||||
$hoursSelected = $daysSelected = $minSelected = '';
|
||||
if ($aFields['TASK'][$sKey]['NEXT_TASK']['TAS_TIMEUNIT'] == 'HOURS') {
|
||||
$hoursSelected = "selected = 'selected'";
|
||||
} else {
|
||||
|
||||
@@ -26,7 +26,7 @@ try {
|
||||
G::LoadSystem('inputfilter');
|
||||
$filter = new InputFilter();
|
||||
$_POST = $filter->xssFilterHard($_POST);
|
||||
|
||||
|
||||
G::LoadInclude( 'ajax' );
|
||||
if (isset( $_POST['form'] )) {
|
||||
$_POST = $_POST['form'];
|
||||
@@ -153,7 +153,6 @@ try {
|
||||
$oDataset->next();
|
||||
$aRow = $oDataset->getRow();
|
||||
|
||||
$oContent = new Content();
|
||||
if($locale != "en"){ //Default Lengage 'en'
|
||||
if($locale != SYS_LANG){ //Current lenguage
|
||||
//THERE IS NO ANY CASE STARTED FROM THES LANGUAGE
|
||||
|
||||
@@ -363,10 +363,9 @@ button.x-btn-text:focus,.x-combo-selected{
|
||||
|
||||
|
||||
/*
|
||||
Pone en mayúsuclas el texto que se encuentra en el toolbar de arriba
|
||||
toolbar, set 'text-transform: capitalize;' for capitalize (transforms the first character of each word to uppercase)
|
||||
*/
|
||||
.x-panel-tbar .x-toolbar-cell{
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
/*TREE*/
|
||||
@@ -911,7 +910,8 @@ antes funcionaba.
|
||||
top: 40%;
|
||||
left: 40%;
|
||||
font-size: 15px;
|
||||
color:black filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);
|
||||
color:black;
|
||||
filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=80)";
|
||||
opacity: .55;
|
||||
-moz-opacity: .55;
|
||||
}
|
||||
|
||||
@@ -523,10 +523,9 @@ button.x-btn-text:focus,
|
||||
padding-left: 18px !important;
|
||||
}
|
||||
/*
|
||||
Pone en mayC:suclas el texto que se encuentra en el toolbar de arriba
|
||||
toolbar, set 'text-transform: capitalize;' for capitalize (transforms the first character of each word to uppercase)
|
||||
*/
|
||||
.x-panel-tbar .x-toolbar-cell {
|
||||
text-transform: capitalize;
|
||||
}
|
||||
/*TREE*/
|
||||
#ext-gen38.x-tree-root-ct .x-tree-node-el {
|
||||
|
||||
@@ -388,10 +388,9 @@ button.x-btn-text:focus,.x-combo-selected{
|
||||
|
||||
|
||||
/*
|
||||
Pone en mayúsuclas el texto que se encuentra en el toolbar de arriba
|
||||
toolbar, set 'text-transform: capitalize;' for capitalize (transforms the first character of each word to uppercase)
|
||||
*/
|
||||
.x-panel-tbar .x-toolbar-cell{
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
/*TREE*/
|
||||
@@ -930,7 +929,8 @@ antes funcionaba.
|
||||
top: 40%;
|
||||
left: 40%;
|
||||
font-size: 15px;
|
||||
color:black filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);
|
||||
color:black;
|
||||
filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=80)";
|
||||
opacity: .55;
|
||||
-moz-opacity: .55;
|
||||
}
|
||||
|
||||
@@ -360,10 +360,9 @@ button.x-btn-text:focus,.x-combo-selected{
|
||||
|
||||
|
||||
/*
|
||||
Pone en mayúsuclas el texto que se encuentra en el toolbar de arriba
|
||||
toolbar, set 'text-transform: capitalize;' for capitalize (transforms the first character of each word to uppercase)
|
||||
*/
|
||||
.x-panel-tbar .x-toolbar-cell{
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
/*TREE*/
|
||||
@@ -891,7 +890,8 @@ antes funcionaba.
|
||||
top: 40%;
|
||||
left: 40%;
|
||||
font-size: 15px;
|
||||
color:black filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);
|
||||
color:black;
|
||||
filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=80)";
|
||||
opacity: .55;
|
||||
-moz-opacity: .55;
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ use \CasesPeer;
|
||||
class Cases
|
||||
{
|
||||
private $formatFieldNameInUppercase = true;
|
||||
private $messageResponse = [];
|
||||
|
||||
/**
|
||||
* Set the format of the fields name (uppercase, lowercase)
|
||||
@@ -2878,6 +2879,7 @@ class Cases
|
||||
*
|
||||
* return json Return an json with the result of the reassigned cases.
|
||||
*/
|
||||
|
||||
public function doPostReassign($data)
|
||||
{
|
||||
if (!is_array($data)) {
|
||||
@@ -2888,112 +2890,125 @@ class Cases
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$dataResponse = $data;
|
||||
|
||||
//Verify data
|
||||
$arrayCasesToReassign = $data['cases'];
|
||||
|
||||
$arrayMsg = [];
|
||||
|
||||
foreach ($arrayCasesToReassign as $key => $value) {
|
||||
$appDelegation = \AppDelegationPeer::retrieveByPK($value['APP_UID'], $value['DEL_INDEX']);
|
||||
|
||||
if (is_null($appDelegation)) {
|
||||
$arrayMsg[] = [
|
||||
'app_uid' => $value['APP_UID'],
|
||||
'del_index' => $value['DEL_INDEX'],
|
||||
'result' => 0,
|
||||
'status' => 'DELEGATION_NOT_EXISTS'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($arrayMsg)) {
|
||||
return ['cases' => $arrayMsg];
|
||||
}
|
||||
|
||||
$task = new \ProcessMaker\BusinessModel\Task();
|
||||
$supervisor = new \ProcessMaker\BusinessModel\ProcessSupervisor();
|
||||
|
||||
$userUid = $data['usr_uid_target'];
|
||||
|
||||
foreach ($arrayCasesToReassign as $value) {
|
||||
$appDelegation = \AppDelegationPeer::retrieveByPK($value['APP_UID'], $value['DEL_INDEX']);
|
||||
|
||||
//Verify data
|
||||
$taskUid = $appDelegation->getTasUid();
|
||||
|
||||
$flagBoolean = $task->checkUserOrGroupAssignedTask($taskUid, $userUid);
|
||||
$flagps = $supervisor->isUserProcessSupervisor($appDelegation->getProUid(), $userUid);
|
||||
|
||||
if (!$flagBoolean && !$flagps) {
|
||||
$arrayMsg[] = [
|
||||
'app_uid' => $value['APP_UID'],
|
||||
'del_index' => $value['DEL_INDEX'],
|
||||
'result' => 0,
|
||||
'status' => 'USER_NOT_ASSIGNED_TO_TASK'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($arrayMsg)) {
|
||||
return ['cases' => $arrayMsg];
|
||||
}
|
||||
|
||||
G::LoadClass('case');
|
||||
$oCases = new \Cases();
|
||||
$appDelegation = new \AppDelegation();
|
||||
$casesToReassign = $data['cases'];
|
||||
$result = 0;
|
||||
if (sizeof($casesToReassign)) {
|
||||
foreach ($casesToReassign as $key => $val) {
|
||||
$usrUid = '';
|
||||
if (array_key_exists('USR_UID', $val)) {
|
||||
if ($val['USR_UID'] != '') {
|
||||
$usrUid = $val['USR_UID'];
|
||||
$oCases = new \Cases();
|
||||
foreach ($casesToReassign as $key => $val) {
|
||||
$appDelegation = \AppDelegationPeer::retrieveByPK($val['APP_UID'], $val['DEL_INDEX']);
|
||||
$existDelegation = $this->validateReassignData($appDelegation, $val, $data, 'DELEGATION_NOT_EXISTS');
|
||||
if ($existDelegation) {
|
||||
$existDelegation = $this->validateReassignData($appDelegation, $val, $data, 'USER_NOT_ASSIGNED_TO_TASK');
|
||||
if ($existDelegation) {
|
||||
$usrUid = '';
|
||||
if (array_key_exists('USR_UID', $val)) {
|
||||
if ($val['USR_UID'] != '') {
|
||||
$usrUid = $val['USR_UID'];
|
||||
}
|
||||
}
|
||||
if ($usrUid == '') {
|
||||
$fields = $appDelegation->toArray(\BasePeer::TYPE_FIELDNAME);
|
||||
$usrUid = $fields['USR_UID'];
|
||||
}
|
||||
//Will be not able reassign a case when is paused
|
||||
$flagPaused = $this->validateReassignData($appDelegation, $val, $data, 'ID_REASSIGNMENT_PAUSED_ERROR');
|
||||
//Current users of OPEN DEL_INDEX thread
|
||||
$flagSameUser = $this->validateReassignData($appDelegation, $val, $data, 'REASSIGNMENT_TO_THE_SAME_USER');
|
||||
//reassign case
|
||||
if ($flagPaused && $flagSameUser) {
|
||||
$reassigned = $oCases->reassignCase($val['APP_UID'], $val['DEL_INDEX'], $usrUid, $data['usr_uid_target']);
|
||||
$result = $reassigned ? 1 : 0;
|
||||
$this->messageResponse = [
|
||||
'APP_UID' => $val['APP_UID'],
|
||||
'DEL_INDEX' => $val['DEL_INDEX'],
|
||||
'RESULT' => $result,
|
||||
'STATUS' => 'SUCCESS'
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
$dataResponse['cases'][$key] = $this->messageResponse;
|
||||
}
|
||||
unset($dataResponse['usr_uid_target']);
|
||||
return G::json_encode($dataResponse);
|
||||
}
|
||||
|
||||
if ($usrUid == '') {
|
||||
$fields = $appDelegation->load($val['APP_UID'], $val['DEL_INDEX']);
|
||||
$usrUid = $fields['USR_UID'];
|
||||
}
|
||||
//Will be not able reassign a case when is paused
|
||||
$flagReassign = true;
|
||||
if (\AppDelay::isPaused($val['APP_UID'], $val['DEL_INDEX'])) {
|
||||
$dataResponse['cases'][$key]['result'] = 0;
|
||||
$dataResponse['cases'][$key]['status'] = \G::LoadTranslation('ID_REASSIGNMENT_PAUSED_ERROR');
|
||||
$flagReassign = false;
|
||||
/**
|
||||
* @param $appDelegation
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @param string $type
|
||||
* @return bool
|
||||
*/
|
||||
private function validateReassignData($appDelegation, $value, $data, $type = 'DELEGATION_NOT_EXISTS')
|
||||
{
|
||||
$return = true;
|
||||
switch ($type) {
|
||||
case 'DELEGATION_NOT_EXISTS':
|
||||
if (is_null($appDelegation)) {
|
||||
$this->messageResponse = [
|
||||
'APP_UID' => $value['APP_UID'],
|
||||
'DEL_INDEX' => $value['DEL_INDEX'],
|
||||
'RESULT' => 0,
|
||||
'STATUS' => $type
|
||||
];
|
||||
$return = false;
|
||||
}
|
||||
break;
|
||||
case 'USER_NOT_ASSIGNED_TO_TASK':
|
||||
$task = new \ProcessMaker\BusinessModel\Task();
|
||||
$supervisor = new \ProcessMaker\BusinessModel\ProcessSupervisor();
|
||||
$taskUid = $appDelegation->getTasUid();
|
||||
$flagBoolean = $task->checkUserOrGroupAssignedTask($taskUid, $data['usr_uid_target']);
|
||||
$flagps = $supervisor->isUserProcessSupervisor($appDelegation->getProUid(), $data['usr_uid_target']);
|
||||
|
||||
//Current users of OPEN DEL_INDEX thread
|
||||
$aCurUser = $appDelegation->getCurrentUsers($val['APP_UID'], $val['DEL_INDEX']);
|
||||
if (!$flagBoolean && !$flagps) {
|
||||
$this->messageResponse = [
|
||||
'APP_UID' => $value['APP_UID'],
|
||||
'DEL_INDEX' => $value['DEL_INDEX'],
|
||||
'RESULT' => 0,
|
||||
'STATUS' => 'USER_NOT_ASSIGNED_TO_TASK'
|
||||
];
|
||||
$return = false;
|
||||
}
|
||||
break;
|
||||
case 'ID_REASSIGNMENT_PAUSED_ERROR':
|
||||
if (\AppDelay::isPaused($value['APP_UID'], $value['DEL_INDEX'])) {
|
||||
$this->messageResponse = [
|
||||
'APP_UID' => $value['APP_UID'],
|
||||
'DEL_INDEX' => $value['DEL_INDEX'],
|
||||
'RESULT' => 0,
|
||||
'STATUS' => \G::LoadTranslation('ID_REASSIGNMENT_PAUSED_ERROR')
|
||||
];
|
||||
$return = false;
|
||||
}
|
||||
break;
|
||||
case 'REASSIGNMENT_TO_THE_SAME_USER':
|
||||
$aCurUser = $appDelegation->getCurrentUsers($value['APP_UID'], $value['DEL_INDEX']);
|
||||
if (!empty($aCurUser)) {
|
||||
foreach ($aCurUser as $keyAux => $value) {
|
||||
if ($value === $data['usr_uid_target']) {
|
||||
$flagReassign = false;
|
||||
$result = 1;
|
||||
foreach ($aCurUser as $keyAux => $val) {
|
||||
if ($val === $data['usr_uid_target']) {
|
||||
$this->messageResponse = [
|
||||
'APP_UID' => $value['APP_UID'],
|
||||
'DEL_INDEX' => $value['DEL_INDEX'],
|
||||
'RESULT' => 1,
|
||||
'STATUS' => 'SUCCESS'
|
||||
];
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//DEL_INDEX is CLOSED
|
||||
$dataResponse['cases'][$key]['result'] = 0;
|
||||
$dataResponse['cases'][$key]['status'] = \G::LoadTranslation('ID_REASSIGNMENT_ERROR');
|
||||
$flagReassign = false;
|
||||
$this->messageResponse = [
|
||||
'APP_UID' => $value['APP_UID'],
|
||||
'DEL_INDEX' => $value['DEL_INDEX'],
|
||||
'RESULT' => 0,
|
||||
'STATUS' => \G::LoadTranslation('ID_REASSIGNMENT_ERROR')
|
||||
];
|
||||
$return = false;
|
||||
}
|
||||
|
||||
if ($flagReassign) {
|
||||
$reassigned = $oCases->reassignCase($val['APP_UID'], $val['DEL_INDEX'], $usrUid, $data['usr_uid_target']);
|
||||
$result = $reassigned ? 1 : 0;
|
||||
$dataResponse['cases'][$key]['status'] = 'SUCCESS';
|
||||
}
|
||||
$dataResponse['cases'][$key]['result'] = $result;
|
||||
}
|
||||
break;
|
||||
}
|
||||
unset($dataResponse['usr_uid_target']);
|
||||
|
||||
return G::json_encode($dataResponse);
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3018,11 +3033,11 @@ class Cases
|
||||
|
||||
public function checkUserHasPermissionsOrSupervisor($userUid, $applicationUid, $dynaformUid)
|
||||
{
|
||||
$arrayApplicationData = $this->getApplicationRecordByPk($applicationUid, [], false);
|
||||
//Check whether the process supervisor
|
||||
$supervisor = new \ProcessMaker\BusinessModel\ProcessSupervisor();
|
||||
$userAccess = $supervisor->isUserProcessSupervisor($arrayApplicationData['PRO_UID'], $userUid);
|
||||
if (!empty($dynaformUid)) {
|
||||
$arrayApplicationData = $this->getApplicationRecordByPk($applicationUid, [], false);
|
||||
//Check whether the process supervisor
|
||||
$supervisor = new \ProcessMaker\BusinessModel\ProcessSupervisor();
|
||||
$userAccess = $supervisor->isUserProcessSupervisor($arrayApplicationData['PRO_UID'], $userUid);
|
||||
//Check if have objects assigned (Supervisor)
|
||||
$cases = new \Cases();
|
||||
$resultDynaForm = $cases->getAllDynaformsStepsToRevise($applicationUid);
|
||||
@@ -3065,7 +3080,7 @@ class Cases
|
||||
} else {
|
||||
$arrayResult = $this->getStatusInfo($applicationUid, 0, $userUid);
|
||||
$flagParticipated = false;
|
||||
if ($arrayResult) {
|
||||
if ($arrayResult || $userAccess) {
|
||||
$flagParticipated = true;
|
||||
}
|
||||
return $flagParticipated;
|
||||
|
||||
@@ -6,7 +6,6 @@ use \Smarty;
|
||||
use \Criteria;
|
||||
use \ReportTablePeer;
|
||||
use \ResultSet;
|
||||
use \AppCacheViewPeer;
|
||||
use \CaseConsolidatedCorePeer;
|
||||
use \ContentPeer;
|
||||
|
||||
@@ -31,15 +30,11 @@ class Consolidated
|
||||
$criteria = new Criteria();
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::DYN_UID);
|
||||
$criteria->addSelectColumn(\ReportTablePeer::REP_TAB_NAME);
|
||||
$criteria->addAsColumn('CON_VALUE', \ReportTablePeer::REP_TAB_TITLE);
|
||||
$criteria->addSelectColumn(\ReportTablePeer::REP_TAB_UID);
|
||||
$criteria->addSelectColumn(ContentPeer::CON_VALUE);
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::CON_STATUS);
|
||||
|
||||
$criteria->addJoin( CaseConsolidatedCorePeer::REP_TAB_UID, ReportTablePeer::REP_TAB_UID, Criteria::LEFT_JOIN );
|
||||
$criteria->addJoin( CaseConsolidatedCorePeer::REP_TAB_UID, ContentPeer::CON_ID, Criteria::LEFT_JOIN );
|
||||
$criteria->add( ContentPeer::CON_CATEGORY, "REP_TAB_TITLE");
|
||||
$criteria->add( ContentPeer::CON_LANG, SYS_LANG);
|
||||
|
||||
$criteria->add( CaseConsolidatedCorePeer::TAS_UID, $tas_uid, Criteria::EQUAL );
|
||||
$criteria->add( CaseConsolidatedCorePeer::CON_STATUS, 'ACTIVE', Criteria::EQUAL );
|
||||
|
||||
@@ -74,7 +69,6 @@ class Consolidated
|
||||
*/
|
||||
public function postDerivate ($app_uid, $app_number, $del_index, $usr_uid, $fieldName='', $fieldValue='')
|
||||
{
|
||||
G::LoadClass("library");
|
||||
G::LoadClass("wsBase");
|
||||
G::LoadClass("case");
|
||||
$ws = new \wsBase();
|
||||
@@ -118,7 +112,7 @@ class Consolidated
|
||||
|
||||
$response = array();
|
||||
|
||||
$response["casesNumRec"] = \Library::getCasesNumRec($usr_uid);
|
||||
$response["casesNumRec"] = self::getCasesNumRec($usr_uid);
|
||||
|
||||
if (is_array($res)) {
|
||||
$response ["message"] = "<b>" . G::LoadTranslation("ID_CASE") . " " . $app_number . "</b> " .
|
||||
@@ -130,6 +124,35 @@ class Consolidated
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $userUid
|
||||
* @return int
|
||||
*/
|
||||
public static function getCasesNumRec($userUid)
|
||||
{
|
||||
$criteria = new Criteria("workflow");
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::CON_STATUS);
|
||||
$criteria->add(CaseConsolidatedCorePeer::CON_STATUS, "ACTIVE");
|
||||
$activeNumRec = CaseConsolidatedCorePeer::doCount($criteria);
|
||||
$numRec = 0;
|
||||
|
||||
$criteria->clearSelectColumns();
|
||||
$criteria->addAsColumn('NUMREC', 'COUNT(' . \ListInboxPeer::TAS_UID . ')');
|
||||
$criteria->addJoin(CaseConsolidatedCorePeer::TAS_UID, \ListInboxPeer::TAS_UID, \Criteria::LEFT_JOIN);
|
||||
$criteria->add(\ListInboxPeer::USR_UID, $userUid, Criteria::EQUAL);
|
||||
$criteria->add(\ListInboxPeer::APP_STATUS, 'TO_DO', Criteria::EQUAL);
|
||||
$rsSql = CaseConsolidatedCorePeer::doSelectRS($criteria);
|
||||
$rsSql->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
while ($rsSql->next()) {
|
||||
$row = $rsSql->getRow();
|
||||
$numRec = $row["NUMREC"];
|
||||
}
|
||||
|
||||
$numRec = ($activeNumRec > 0) ? $numRec : 0;
|
||||
return $numRec;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Put Data Generate
|
||||
@@ -235,11 +258,12 @@ class Consolidated
|
||||
|
||||
$response = array();
|
||||
$searchFields = array();
|
||||
//
|
||||
$query = "SELECT REP_TAB_UID
|
||||
FROM CASE_CONSOLIDATED
|
||||
WHERE TAS_UID = '" . $tas_uid . "'";
|
||||
$caseConsolidated = executeQuery($query);
|
||||
|
||||
$criteria = new Criteria();
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::REP_TAB_UID);
|
||||
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, $tas_uid, Criteria::EQUAL);
|
||||
$caseConsolidated = CaseConsolidatedCorePeer::doSelectRS($criteria);
|
||||
$caseConsolidated->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
$tableUid = null;
|
||||
$tableName = null;
|
||||
@@ -273,12 +297,11 @@ class Consolidated
|
||||
$oCriteria->addSelectColumn("*");
|
||||
$oCriteria->addSelectColumn($tableName . ".APP_UID");
|
||||
|
||||
$oCriteria->addJoin($tableName . ".APP_UID", AppCacheViewPeer::APP_UID, Criteria::LEFT_JOIN);
|
||||
$oCriteria->addJoin($tableName . ".APP_UID", \ListInboxPeer::APP_UID, \Criteria::LEFT_JOIN);
|
||||
|
||||
$oCriteria->add(AppCacheViewPeer::DEL_THREAD_STATUS, "OPEN");
|
||||
$oCriteria->add(AppCacheViewPeer::TAS_UID, $tas_uid);
|
||||
$oCriteria->add(AppCacheViewPeer::USR_UID, $usr_uid);
|
||||
$oCriteria->add(AppCacheViewPeer::APP_STATUS, "TO_DO");
|
||||
$oCriteria->add(\ListInboxPeer::TAS_UID, $tas_uid);
|
||||
$oCriteria->add(\ListInboxPeer::USR_UID, $usr_uid);
|
||||
$oCriteria->add(\ListInboxPeer::APP_STATUS, "TO_DO");
|
||||
|
||||
if ($search != "") {
|
||||
$filename = $pro_uid . PATH_SEP . $dyn_uid . ".xml";
|
||||
@@ -333,10 +356,10 @@ class Consolidated
|
||||
|
||||
if ($oTmpCriteria != null) {
|
||||
$oCriteria->add(
|
||||
$oCriteria->getNewCriterion(AppCacheViewPeer::APP_NUMBER, $search, Criteria::LIKE)->addOr($oTmpCriteria)
|
||||
$oCriteria->getNewCriterion(\ListInboxPeer::APP_NUMBER, $search, Criteria::LIKE)->addOr($oTmpCriteria)
|
||||
);
|
||||
} else {
|
||||
$oCriteria->add($oCriteria->getNewCriterion(AppCacheViewPeer::APP_NUMBER, $search, Criteria::LIKE));
|
||||
$oCriteria->add($oCriteria->getNewCriterion(\ListInboxPeer::APP_NUMBER, $search, Criteria::LIKE));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,7 +367,7 @@ class Consolidated
|
||||
$filter = new \InputFilter();
|
||||
|
||||
if ($sort != "") {
|
||||
$reportTable = new ReportTables();
|
||||
$reportTable = new \ReportTables();
|
||||
$arrayReportTableVar = $reportTable->getTableVars($tableUid);
|
||||
$tableName = $filter->validateInput($tableName);
|
||||
$sort = $filter->validateInput($sort);
|
||||
@@ -352,7 +375,7 @@ class Consolidated
|
||||
$sort = strtoupper($sort);
|
||||
eval('$field = ' . $tableName . 'Peer::' . $sort . ';');
|
||||
} else {
|
||||
eval('$field = AppCacheViewPeer::' . $sort . ';');
|
||||
eval('$field = \ListInboxPeer::' . $sort . ';');
|
||||
}
|
||||
|
||||
if ($dir == "ASC") {
|
||||
@@ -361,7 +384,7 @@ class Consolidated
|
||||
$oCriteria->addDescendingOrderByColumn($field);
|
||||
}
|
||||
} else {
|
||||
$oCriteria->addDescendingOrderByColumn(AppCacheViewPeer::APP_NUMBER);
|
||||
$oCriteria->addDescendingOrderByColumn(\ListInboxPeer::APP_NUMBER);
|
||||
}
|
||||
|
||||
//pagination pagination attributes
|
||||
@@ -369,7 +392,7 @@ class Consolidated
|
||||
$oCriteria->setOffset($start);
|
||||
//end of pagination attributes
|
||||
|
||||
$oDataset = AppCacheViewPeer::doSelectRS($oCriteria);
|
||||
$oDataset = \ListInboxPeer::doSelectRS($oCriteria);
|
||||
//eval('$oDataset = '.$className.'Peer::doSelectRS($oCriteria);');
|
||||
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
@@ -404,17 +427,15 @@ class Consolidated
|
||||
$response["data"][] = $val;
|
||||
}
|
||||
|
||||
$query = "SELECT COUNT(APP_CACHE_VIEW.TAS_UID) AS QTY
|
||||
FROM CASE_CONSOLIDATED
|
||||
LEFT JOIN CONTENT ON (CASE_CONSOLIDATED.TAS_UID = CONTENT.CON_ID)
|
||||
LEFT JOIN APP_CACHE_VIEW ON (CASE_CONSOLIDATED.TAS_UID = APP_CACHE_VIEW.TAS_UID)
|
||||
LEFT JOIN TASK ON (CASE_CONSOLIDATED.TAS_UID = TASK.TAS_UID)
|
||||
WHERE CONTENT.CON_CATEGORY = 'TAS_TITLE' AND
|
||||
CONTENT.CON_LANG = 'en' AND
|
||||
APP_CACHE_VIEW.DEL_THREAD_STATUS = 'OPEN' AND
|
||||
USR_UID = '" . $usr_uid . "' AND
|
||||
APP_CACHE_VIEW.TAS_UID = '" . $tas_uid . "'";
|
||||
$count = executeQuery($query);
|
||||
$criteria = new Criteria();
|
||||
$criteria->addAsColumn('QTY', 'COUNT(' . \ListInboxPeer::TAS_UID . ')');
|
||||
$criteria->addJoin(\CaseConsolidatedCorePeer::TAS_UID, \TaskPeer::TAS_UID, \Criteria::LEFT_JOIN);
|
||||
$criteria->addJoin(\CaseConsolidatedCorePeer::TAS_UID, \ListInboxPeer::TAS_UID, \Criteria::LEFT_JOIN);
|
||||
$criteria->add(\ListInboxPeer::USR_UID, $usr_uid, \Criteria::EQUAL);
|
||||
$criteria->add(\ListInboxPeer::TAS_UID, $tas_uid, \Criteria::EQUAL);
|
||||
$criteria->add(\ListInboxPeer::APP_STATUS, 'TO_DO', \Criteria::EQUAL);
|
||||
$count = CaseConsolidatedCorePeer::doSelectRS($criteria);
|
||||
$count->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
|
||||
$totalCount = 0;
|
||||
foreach ($count as $item) {
|
||||
@@ -1115,10 +1136,9 @@ class Consolidated
|
||||
{
|
||||
$criteria = new Criteria();
|
||||
$criteria->add(\CaseConsolidatedCorePeer::CON_STATUS, 'ACTIVE');
|
||||
$criteria->addJoin(\CaseConsolidatedCorePeer::TAS_UID, \AppCacheViewPeer::TAS_UID, Criteria::LEFT_JOIN);
|
||||
$criteria->add(\AppCacheViewPeer::USR_UID, $usrUid);
|
||||
$criteria->add(\AppCacheViewPeer::DEL_THREAD_STATUS, 'OPEN');
|
||||
$criteria->add(\AppCacheViewPeer::APP_STATUS, 'TO_DO');
|
||||
$criteria->addJoin(\CaseConsolidatedCorePeer::TAS_UID, \ListInboxPeer::TAS_UID, Criteria::LEFT_JOIN);
|
||||
$criteria->add(\ListInboxPeer::USR_UID, $usrUid, Criteria::EQUAL);
|
||||
$criteria->add(\ListInboxPeer::APP_STATUS, 'TO_DO',Criteria::EQUAL);
|
||||
$total = \CaseConsolidatedCorePeer::doCount($criteria);
|
||||
return (int)$total;
|
||||
}
|
||||
|
||||
@@ -69,16 +69,18 @@ class Light
|
||||
$task->setArrayParamException(array("taskUid" => "act_uid", "stepUid" => "step_uid"));
|
||||
|
||||
$webEntryEvent = new \ProcessMaker\BusinessModel\WebEntryEvent();
|
||||
$webEntryEvent->setFormatFieldNameInUppercase(false);
|
||||
$webEntryEvent->setArrayFieldNameForException(array("processUid" => "prj_uid"));
|
||||
$arrayWebEntryEvent = array();
|
||||
$allWebEntryEvents = $webEntryEvent->getAllWebEntryEvents();
|
||||
foreach ($allWebEntryEvents as $webEntryEvents) {
|
||||
$arrayWebEntryEvent[] = $webEntryEvents["ACT_UID"];
|
||||
}
|
||||
|
||||
$step = new \ProcessMaker\Services\Api\Project\Activity\Step();
|
||||
$response = array();
|
||||
foreach ($processList as $key => $processInfo) {
|
||||
$tempTreeChildren = array ();
|
||||
foreach ($processList[$key] as $keyChild => $processInfoChild) {
|
||||
$webEntryEventStart = $webEntryEvent->getWebEntryEvents($processInfoChild['pro_uid']);
|
||||
if (empty($webEntryEventStart) && in_array($processInfoChild['pro_uid'], $bpmnProjects)) {
|
||||
if (!in_array($processInfoChild['uid'], $arrayWebEntryEvent) && in_array($processInfoChild['pro_uid'], $bpmnProjects)) {
|
||||
$tempTreeChild['text'] = $keyChild; //ellipsis ( $keyChild, 50 );
|
||||
$tempTreeChild['processId'] = $processInfoChild['pro_uid'];
|
||||
$tempTreeChild['taskId'] = $processInfoChild['uid'];
|
||||
|
||||
@@ -898,6 +898,31 @@ class WebEntryEvent
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all WebEntry-Events
|
||||
* Return an array with all WebEntry-Events
|
||||
* @return array
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function getAllWebEntryEvents()
|
||||
{
|
||||
try {
|
||||
$result = array();
|
||||
$criteria = $this->getWebEntryEventCriteria();
|
||||
$criteria->addJoin(\WebEntryEventPeer::PRJ_UID, \ProcessPeer::PRO_UID, \Criteria::JOIN);
|
||||
$criteria->add(\ProcessPeer::PRO_STATUS, 'ACTIVE', \Criteria::EQUAL);
|
||||
$rsCriteria = \WebEntryEventPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
while ($rsCriteria->next()) {
|
||||
$row = $rsCriteria->getRow();
|
||||
$result[] = $this->getWebEntryEventDataFromRecord($row);
|
||||
}
|
||||
return $result;
|
||||
} catch (\Exception $e) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get data of a WebEntry-Event
|
||||
*
|
||||
|
||||
@@ -65,6 +65,9 @@ class RoutingScreen extends \Derivation
|
||||
} else {
|
||||
$aDataMerged[$key]['NEXT_ROUTING'][] = $post[$i];
|
||||
}
|
||||
if (isset($post[$i]['NEXT_TASK'])) {
|
||||
$aDataMerged[$key]['NEXT_TASK'] = $post[$i]['NEXT_TASK'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,6 @@ class Cases extends Api
|
||||
|
||||
//Check if the user is supervisor process
|
||||
$case = new \ProcessMaker\BusinessModel\Cases();
|
||||
$supervisor = new \ProcessMaker\BusinessModel\ProcessSupervisor();
|
||||
$user = new \ProcessMaker\BusinessModel\User();
|
||||
|
||||
$count = 0;
|
||||
@@ -70,10 +69,10 @@ class Cases extends Api
|
||||
|
||||
if (!empty($arrayApplicationData)) {
|
||||
if (!$user->checkPermission($usrUid, 'PM_REASSIGNCASE')) {
|
||||
if($user->checkPermission($usrUid, 'PM_REASSIGNCASE_SUPERVISOR')){
|
||||
if ($user->checkPermission($usrUid, 'PM_REASSIGNCASE_SUPERVISOR')) {
|
||||
$supervisor = new \ProcessMaker\BusinessModel\ProcessSupervisor();
|
||||
$flagps = $supervisor->isUserProcessSupervisor($arrayApplicationData['PRO_UID'], $usrUid);
|
||||
if(!$flagps){
|
||||
if (!$flagps) {
|
||||
$count = $count + 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,31 @@ class Light extends Api
|
||||
'delRiskDate'
|
||||
];
|
||||
|
||||
public function __isAllowed()
|
||||
{
|
||||
try {
|
||||
$methodName = $this->restler->apiMethodInfo->methodName;
|
||||
$arrayArgs = $this->restler->apiMethodInfo->arguments;
|
||||
switch ($methodName) {
|
||||
case 'doIfAlreadyRoute':
|
||||
$applicationUid = $this->parameters[$arrayArgs['app_uid']];
|
||||
$delIndex = $this->parameters[$arrayArgs['cas_index']];
|
||||
$userUid = $this->getUserId();
|
||||
//Check if the user has the case
|
||||
$appDelegation = new \AppDelegation();
|
||||
$aCurUser = $appDelegation->getCurrentUsers($applicationUid, $delIndex);
|
||||
if (!empty($aCurUser) && in_array($userUid, $aCurUser)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
} catch (\Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor of the class
|
||||
*
|
||||
@@ -793,6 +818,8 @@ class Light extends Api
|
||||
/**
|
||||
* Get Already Route
|
||||
*
|
||||
* @access protected
|
||||
* @class AccessControl {@className \ProcessMaker\Services\Api\Light}
|
||||
* @param string $app_uid {@min 1}{@max 32}
|
||||
* @param int $cas_index
|
||||
*
|
||||
|
||||
@@ -589,12 +589,12 @@ var openSummaryWindow = function(appUid, delIndex, action)
|
||||
]
|
||||
});
|
||||
tabs.push({
|
||||
title: Ext.util.Format.capitalize(_('ID_MORE_INFORMATION')),
|
||||
title: _('ID_MORE_INFORMATION'),
|
||||
layout: 'fit',
|
||||
items: [panel]
|
||||
});
|
||||
} else {
|
||||
tabs.push({title: Ext.util.Format.capitalize(_('ID_MORE_INFORMATION')), bodyCfg: {
|
||||
tabs.push({title: _('ID_MORE_INFORMATION'), bodyCfg: {
|
||||
tag: 'iframe',
|
||||
id: 'summaryIFrame',
|
||||
src: '../cases/summary?APP_UID=' + appUid + '&DEL_INDEX=' + delIndex + '&DYN_UID=' + response.dynUid,
|
||||
@@ -604,7 +604,7 @@ var openSummaryWindow = function(appUid, delIndex, action)
|
||||
}
|
||||
}
|
||||
|
||||
tabs.push({title: Ext.util.Format.capitalize(_('ID_UPLOADED_DOCUMENTS')), bodyCfg: {
|
||||
tabs.push({title: _('ID_UPLOADED_DOCUMENTS'), bodyCfg: {
|
||||
tag: 'iframe',
|
||||
id: 'summaryIFrame',
|
||||
src: '../cases/ajaxListener?action=uploadedDocumentsSummary',
|
||||
@@ -612,7 +612,7 @@ var openSummaryWindow = function(appUid, delIndex, action)
|
||||
onload: ''
|
||||
}});
|
||||
|
||||
tabs.push({title: Ext.util.Format.capitalize(_('ID_GENERATED_DOCUMENTS')), bodyCfg: {
|
||||
tabs.push({title: _('ID_GENERATED_DOCUMENTS'), bodyCfg: {
|
||||
tag: 'iframe',
|
||||
id: 'summaryIFrame',
|
||||
src: '../cases/ajaxListener?action=generatedDocumentsSummary',
|
||||
|
||||
@@ -241,7 +241,7 @@
|
||||
return actionTranslate;
|
||||
};
|
||||
|
||||
|
||||
var pageSize = 15;
|
||||
processesGrid = new Ext.grid.GridPanel({
|
||||
region: 'center',
|
||||
layout: 'fit',
|
||||
@@ -293,7 +293,7 @@
|
||||
}
|
||||
],
|
||||
bbar: new Ext.PagingToolbar({
|
||||
pageSize: 15,
|
||||
pageSize: pageSize,
|
||||
store: store,
|
||||
displayInfo: true,
|
||||
displayMsg: _('ID_DISPLAY_PROCESSES'),
|
||||
@@ -312,7 +312,7 @@
|
||||
}
|
||||
});
|
||||
|
||||
processesGrid.store.load({params: {"function":"languagesList"}});
|
||||
processesGrid.store.load({params: {"function":"languagesList", "start": 0, "limit": pageSize}});
|
||||
|
||||
processesGrid.store.on(
|
||||
'load',
|
||||
|
||||
@@ -2050,7 +2050,8 @@ Ext.onReady ( function() {
|
||||
btnReassign,
|
||||
"->",
|
||||
_("ID_USER"),
|
||||
comboAllUsers,
|
||||
suggestUser,
|
||||
resetSuggestButton,
|
||||
"-",
|
||||
_("ID_CATEGORY"),
|
||||
comboCategory,
|
||||
|
||||
@@ -373,6 +373,7 @@
|
||||
}
|
||||
return actionTranslate;
|
||||
};
|
||||
var pageSize = 25;
|
||||
var processesGrid = new Ext.grid.GridPanel({
|
||||
region: 'center',
|
||||
layout: 'fit',
|
||||
@@ -487,7 +488,7 @@
|
||||
}
|
||||
],
|
||||
bbar: new Ext.PagingToolbar({
|
||||
pageSize: 10,
|
||||
pageSize: pageSize,
|
||||
store: store,
|
||||
displayInfo: true,
|
||||
displayMsg: _('ID_DISPLAY_PROCESSES'),
|
||||
@@ -515,7 +516,7 @@
|
||||
}
|
||||
}
|
||||
});
|
||||
processesGrid.store.load({params: {"function":"languagesList"}});
|
||||
processesGrid.store.load({params: {"function": "languagesList", "start": 0, "limit": pageSize}});
|
||||
|
||||
processesGrid.store.on(
|
||||
'load',
|
||||
|
||||
@@ -1626,12 +1626,27 @@ importProcessExistGroup = function()
|
||||
success : function(o, resp) {
|
||||
var resp_ = Ext.util.JSON.decode(resp.response.responseText);
|
||||
var sNewProUid = resp_.sNewProUid;
|
||||
|
||||
if (typeof(resp_.project_type) != "undefined" && resp_.project_type == "bpmn") {
|
||||
var goTo = importProcessCallbackFile ? importProcessCallbackFile : "../designer?prj_uid=";
|
||||
openWindowIfIE(goTo + sNewProUid);
|
||||
if (resp_.catchMessage === '') {
|
||||
if (typeof (resp_.project_type) != "undefined" && resp_.project_type == "bpmn") {
|
||||
var goTo = importProcessCallbackFile ? importProcessCallbackFile : "../designer?prj_uid=";
|
||||
openWindowIfIE(goTo + sNewProUid);
|
||||
} else {
|
||||
window.location.href = "processes_Map?PRO_UID=" + sNewProUid;
|
||||
}
|
||||
} else {
|
||||
window.location.href = "processes_Map?PRO_UID=" + sNewProUid;
|
||||
Ext.getCmp('objectsToImport').setValue("");
|
||||
Ext.getCmp('importProcessExistGroupWindow').close();
|
||||
Ext.getCmp('importProcessExistProcessWindow').close();
|
||||
Ext.getCmp('importProcessWindow').close();
|
||||
Ext.MessageBox.show({
|
||||
title: _('ID_ERROR'),
|
||||
msg: resp_.catchMessage,
|
||||
buttons: Ext.MessageBox.OK,
|
||||
animEl: 'mb9',
|
||||
fn: function () {},
|
||||
icon: Ext.MessageBox.ERROR
|
||||
});
|
||||
processesGrid.store.reload();
|
||||
}
|
||||
},
|
||||
failure: function(o, resp) {
|
||||
|
||||
Reference in New Issue
Block a user