Merged in release/3.2.2 (pull request #6038)
Release/3.2.2 Approved-by: Julio Cesar Laura Avendaño <contact@julio-laura.com>
This commit is contained in:
@@ -70,6 +70,7 @@ return array(
|
||||
'replacementLogo' => ReplacementLogo::class,
|
||||
'Report' => Report::class,
|
||||
'ReportTables' => ReportTables::class,
|
||||
'request' => Illuminate\Http\Request::class,
|
||||
'serverConf' => ServerConf::class,
|
||||
'Sessions' => Sessions::class,
|
||||
'spoolRun' => SpoolRun::class,
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
"monolog/monolog": "1.19.0",
|
||||
"geshi/geshi": "dev-master",
|
||||
"libchart/libchart": "1.4.0",
|
||||
"indeyets/pake": "1.99.*",
|
||||
"phpmailer/phpmailer": "5.2.*",
|
||||
"pear/archive_tar": "1.4.*",
|
||||
"pear/console_getopt": "1.4.*",
|
||||
@@ -80,6 +79,7 @@
|
||||
"gulliver/includes/inc.ajax.php",
|
||||
"gulliver/includes/smarty_plugins/function.pmos.php",
|
||||
"thirdparty/pear/PEAR.php",
|
||||
"thirdparty/pake/pakeFunction.php",
|
||||
"thirdparty/HTMLPurifier/HTMLPurifier.auto.php",
|
||||
"workflow/engine/classes/class.pmFunctions.php",
|
||||
"workflow/engine/src/ProcessMaker/Util/helpers.php"
|
||||
|
||||
523
composer.lock
generated
523
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -486,6 +486,7 @@ class WebApplication
|
||||
// Change storage path
|
||||
app()->useStoragePath(realpath(PATH_DATA));
|
||||
app()->make(Kernel::class)->bootstrap();
|
||||
restore_error_handler();
|
||||
error_reporting(error_reporting() & ~E_STRICT & ~E_DEPRECATED);
|
||||
|
||||
Bootstrap::setLanguage();
|
||||
|
||||
@@ -223,51 +223,53 @@ function run_propel_build_model($task, $args)
|
||||
|
||||
function run_propel_build_sql($task, $args)
|
||||
{
|
||||
if ( isset ( $args[1] ) ) {
|
||||
$propelIniFile = $args[1] . '.ini';
|
||||
$alternateDir = '';
|
||||
if ( ! file_exists ( 'config' . PATH_SEP . $propelIniFile ) ) {
|
||||
$path = explode ( '/', $args[1] );
|
||||
if ( count($path) > 2 )
|
||||
throw new Exception('the propel.ini must be in your config directory.');
|
||||
if ( count($path) == 1 )
|
||||
$path[1] = 'propel';
|
||||
$alternateDir = '';
|
||||
if (isset ($args[1])) {
|
||||
$propelIniFile = $args[1] . '.ini';
|
||||
$alternateDir = '';
|
||||
if (!file_exists('config' . PATH_SEP . $propelIniFile)) {
|
||||
$path = explode('/', $args[1]);
|
||||
if (count($path) > 2)
|
||||
throw new Exception('the propel.ini must be in your config directory.');
|
||||
if (count($path) == 1)
|
||||
$path[1] = 'propel';
|
||||
|
||||
$propelIniFile = 'plugins' .PATH_SEP . $path[0] . PATH_SEP . 'config' . PATH_SEP . $path[1] . '.ini';
|
||||
if ( ! file_exists($propelIniFile) )
|
||||
throw new Exception("the propel.ini must be in your config directory. ($propelIniFile)");
|
||||
$propelIniFile = 'plugins' . PATH_SEP . $path[0] . PATH_SEP . 'config' . PATH_SEP . $path[1] . '.ini';
|
||||
if (!file_exists($propelIniFile))
|
||||
throw new Exception("the propel.ini must be in your config directory. ($propelIniFile)");
|
||||
|
||||
pake_echo_action('propel.ini', "using the file : $propelIniFile ");
|
||||
$alternateDir = PATH_PLUGINS . $path[0] . PATH_SEP;
|
||||
//_call_phing($task, 'om', false, $path[1] . '.ini' , PATH_PLUGINS . $path[0] . PATH_SEP );
|
||||
//return;
|
||||
}
|
||||
pake_echo_action('propel.ini', "using the file : $propelIniFile ");
|
||||
$alternateDir = PATH_PLUGINS . $path[0] . PATH_SEP;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$aDB = array('mysql', 'mssql', 'oracle', 'pgsql');
|
||||
|
||||
if ( !in_array($args[0], $aDB)) {
|
||||
throw new Exception('invalid database Adapter, available:[mysql|mssql|oracle|pgsql].');
|
||||
}
|
||||
else {
|
||||
switch ( $args [0]) {
|
||||
case 'mysql' : if ( $alternateDir != '' )
|
||||
_call_phing($task, 'sql', false, 'propel.mysql.ini', $alternateDir );
|
||||
else
|
||||
_call_phing($task, 'sql', true, 'propel.mysql.ini' );
|
||||
break;
|
||||
case 'mssql' : _call_phing($task, 'sql', true, 'propel.mssql.ini' );
|
||||
break;
|
||||
case 'oracle' : _call_phing($task, 'sql', true, 'propel.oracle.ini' );
|
||||
break;
|
||||
case 'pgsql' : _call_phing($task, 'sql', true, 'propel.pgsql.ini' );
|
||||
break;
|
||||
default :
|
||||
throw new Exception('specify database Adapter, valid values are: mysql, mssql, oracle, pgsql.');
|
||||
}
|
||||
|
||||
}
|
||||
$aDB = array('mysql', 'mssql', 'oracle', 'pgsql');
|
||||
|
||||
if (!in_array($args[0], $aDB)) {
|
||||
throw new Exception('invalid database Adapter, available:[mysql|mssql|oracle|pgsql].');
|
||||
} else {
|
||||
switch ($args [0]) {
|
||||
case 'mysql' :
|
||||
if ($alternateDir != '')
|
||||
_call_phing($task, 'sql', false, 'propel.mysql.ini', $alternateDir);
|
||||
else
|
||||
_call_phing($task, 'sql', true, 'propel.mysql.ini');
|
||||
break;
|
||||
case 'mssql' :
|
||||
_call_phing($task, 'sql', true, 'propel.mssql.ini');
|
||||
break;
|
||||
case 'oracle' :
|
||||
_call_phing($task, 'sql', true, 'propel.oracle.ini');
|
||||
break;
|
||||
case 'pgsql' :
|
||||
_call_phing($task, 'sql', true, 'propel.pgsql.ini');
|
||||
break;
|
||||
default :
|
||||
throw new Exception('specify database Adapter, valid values are: mysql, mssql, oracle, pgsql.');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function run_propel_build_db($task, $args)
|
||||
|
||||
20
thirdparty/propel/adapter/DBAdapter.php
vendored
20
thirdparty/propel/adapter/DBAdapter.php
vendored
@@ -71,16 +71,16 @@ abstract class DBAdapter {
|
||||
* @return DBAdapter An instance of a Propel database adapter.
|
||||
* @throws PropelException if the adapter could not be instantiated.
|
||||
*/
|
||||
public static function factory($driver) {
|
||||
$adapterClass = isset(self::$adapters[$driver]) ? self::$adapters[$driver] : null;
|
||||
if ($adapterClass !== null) {
|
||||
require_once 'propel/adapter/'.$adapterClass.'.php';
|
||||
$a = new $adapterClass();
|
||||
return $a;
|
||||
} else {
|
||||
throw new PropelException("Unsupported Propel driver: " . $driver . ": Check your configuration file");
|
||||
}
|
||||
}
|
||||
public static function factory($driver)
|
||||
{
|
||||
$adapterClass = isset(self::$adapters[$driver]) ? self::$adapters[$driver] : null;
|
||||
if ($adapterClass !== null) {
|
||||
$a = new $adapterClass();
|
||||
return $a;
|
||||
} else {
|
||||
throw new PropelException("Unsupported Propel driver: " . $driver . ": Check your configuration file");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is used to ignore case.
|
||||
|
||||
@@ -92,6 +92,7 @@ try {
|
||||
|
||||
app()->useStoragePath(realpath(PATH_DATA));
|
||||
app()->make(Kernel::class)->bootstrap();
|
||||
restore_error_handler();
|
||||
//Do not change any of these settings directly, use env.ini instead
|
||||
ini_set('display_errors', $arraySystemConfiguration['debug']);
|
||||
ini_set('error_reporting', $e_all);
|
||||
|
||||
@@ -82,6 +82,7 @@ try {
|
||||
|
||||
app()->useStoragePath(realpath(PATH_DATA));
|
||||
app()->make(Kernel::class)->bootstrap();
|
||||
restore_error_handler();
|
||||
//Do not change any of these settings directly, use env.ini instead
|
||||
ini_set('display_errors', $arraySystemConfiguration['debug']);
|
||||
ini_set('error_reporting', $e_all);
|
||||
|
||||
@@ -22,6 +22,7 @@ class Applications
|
||||
* @param string $category uid for the process
|
||||
* @param date $dateFrom
|
||||
* @param date $dateTo
|
||||
* @param string $columnSearch name of column for a specific search
|
||||
* @return array $result result of the query
|
||||
*/
|
||||
public function searchAll(
|
||||
@@ -35,7 +36,8 @@ class Applications
|
||||
$sort = null,
|
||||
$category = null,
|
||||
$dateFrom = null,
|
||||
$dateTo = null
|
||||
$dateTo = null,
|
||||
$columnSearch = 'APP_TITLE'
|
||||
) {
|
||||
//Exclude the Task Dummies in the delegations
|
||||
$arrayTaskTypeToExclude = array("WEBENTRYEVENT", "END-MESSAGE-EVENT", "START-MESSAGE-EVENT", "INTERMEDIATE-THROW-MESSAGE-EVENT", "INTERMEDIATE-CATCH-MESSAGE-EVENT");
|
||||
@@ -127,8 +129,42 @@ class Applications
|
||||
}
|
||||
|
||||
if (!empty($search)) {
|
||||
//In the filter search we check in the following columns: APP_NUMBER APP_TAS_TITLE APP_TITLE
|
||||
$sqlData .= " AND (APPLICATION.APP_TITLE LIKE '%{$search}%' OR APP_DELEGATION.APP_NUMBER LIKE '%{$search}%' OR TASK.TAS_TITLE LIKE '%{$search}%')";
|
||||
//If the filter is related to the APPLICATION table: APP_NUMBER or APP_TITLE
|
||||
if ($columnSearch === 'APP_NUMBER' || $columnSearch === 'APP_TITLE') {
|
||||
$sqlSearch = "SELECT APPLICATION.APP_NUMBER FROM APPLICATION";
|
||||
$sqlSearch .= " WHERE APPLICATION.{$columnSearch} LIKE '%{$search}%'";
|
||||
switch ($columnSearch) {
|
||||
case 'APP_TITLE':
|
||||
break;
|
||||
case 'APP_NUMBER':
|
||||
//Cast the search criteria to string
|
||||
if (!is_string($search)) {
|
||||
$search = (string)$search;
|
||||
}
|
||||
//Only if is integer we will to add to greater equal in the query
|
||||
if (substr($search, 0, 1) != '0' && ctype_digit($search)) {
|
||||
$sqlSearch .= " AND APPLICATION.{$columnSearch} >= {$search}";
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (!empty($start)) {
|
||||
$sqlSearch .= " LIMIT $start, " . $limit;
|
||||
} else {
|
||||
$sqlSearch .= " LIMIT " . $limit;
|
||||
}
|
||||
$dataset = $stmt->executeQuery($sqlSearch);
|
||||
$appNumbers = array(-1);
|
||||
while ($dataset->next()) {
|
||||
$newRow = $dataset->getRow();
|
||||
array_push($appNumbers, $newRow['APP_NUMBER']);
|
||||
}
|
||||
$sqlData .= " AND APP_DELEGATION.APP_NUMBER IN (" . implode(",", $appNumbers) . ")";
|
||||
}
|
||||
//If the filter is related to the TASK table: TAS_TITLE
|
||||
if ($columnSearch === 'TAS_TITLE') {
|
||||
$sqlData .= " AND TASK.TAS_TITLE LIKE '%{$search}%' ";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (!empty($dateFrom)) {
|
||||
@@ -141,7 +177,7 @@ class Applications
|
||||
}
|
||||
|
||||
//Add the additional filters
|
||||
if (!empty($sort)) {
|
||||
if (!empty($sort) && empty($search)) {
|
||||
switch ($sort) {
|
||||
case 'APP_NUMBER':
|
||||
//The order by APP_DELEGATION.APP_NUMBER is must be fast than APPLICATION.APP_NUMBER
|
||||
@@ -156,7 +192,7 @@ class Applications
|
||||
}
|
||||
|
||||
//Sorts the records in descending order by default
|
||||
if (!empty($dir)) {
|
||||
if (!empty($dir) && empty($search)) {
|
||||
$sqlData .= " " . $dir;
|
||||
}
|
||||
|
||||
@@ -164,7 +200,7 @@ class Applications
|
||||
if(empty($limit)) {
|
||||
$limit = 25;
|
||||
}
|
||||
if (!empty($start)) {
|
||||
if (!empty($start) && empty($search)) {
|
||||
$sqlData .= " LIMIT $start, " . $limit;
|
||||
} else {
|
||||
$sqlData .= " LIMIT " . $limit;
|
||||
@@ -633,23 +669,6 @@ class Applications
|
||||
|
||||
// this is the optimal way or query to render the cases search list
|
||||
// fixing the bug related to the wrong data displayed in the list
|
||||
/*
|
||||
if ($action == 'search') {
|
||||
$oDatasetIndex = AppCacheViewPeer::doSelectRS( $Criteria );
|
||||
$oDatasetIndex->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDatasetIndex->next();
|
||||
$maxDelIndexList = array ();
|
||||
// a list of MAX_DEL_INDEXES is required in order to validate the right row
|
||||
while ($aRow = $oDatasetIndex->getRow()) {
|
||||
$maxDelIndexList[] = $aRow['MAX_DEL_INDEX'];
|
||||
$oDatasetIndex->next();
|
||||
}
|
||||
// adding the validation condition in order to get the right row using the group by sentence
|
||||
$Criteria->add( AppCacheViewPeer::DEL_INDEX, $maxDelIndexList, Criteria::IN );
|
||||
//
|
||||
//$params = array($maxDelIndexList);
|
||||
}
|
||||
*/
|
||||
|
||||
//here we count how many records exists for this criteria.
|
||||
//BUT there are some special cases, and if we dont optimize them the server will crash.
|
||||
@@ -657,16 +676,6 @@ class Applications
|
||||
//case 1. when the SEARCH action is selected and none filter, search criteria is defined,
|
||||
//we need to count using the table APPLICATION, because APP_CACHE_VIEW takes 3 seconds
|
||||
|
||||
/*
|
||||
if ($action == 'search' && $filter == '' && $search == '' && $process == '' && $status == '' && $dateFrom == '' && $dateTo == '' && $category == '') {
|
||||
$totalCount = $oAppCache->getSearchAllCount();
|
||||
$doCountAlreadyExecuted = true;
|
||||
}
|
||||
if ($category != '') {
|
||||
$totalCount = $oAppCache->getSearchCountCriteria();
|
||||
$doCountAlreadyExecuted = true;
|
||||
}
|
||||
*/
|
||||
$tableNameAux = '';
|
||||
$totalCount = 0;
|
||||
if ($doCountAlreadyExecuted == true) {
|
||||
@@ -786,31 +795,6 @@ class Applications
|
||||
while ($oDataset->next()) {
|
||||
$aRow = $oDataset->getRow();
|
||||
|
||||
//$aRow = $oAppCache->replaceRowUserData($aRow);
|
||||
|
||||
/*
|
||||
* For participated cases, we want the last step in the case, not only the last step this user participated. To do that we get every case information again for the last step. (This could be solved by a subquery, but Propel might not support it and subqueries can be slower for larger
|
||||
* datasets).
|
||||
*/
|
||||
/*if ($action == 'sent' || $action == 'search') {
|
||||
$maxCriteria = new Criteria('workflow');
|
||||
$maxCriteria->add(AppCacheViewPeer::APP_UID, $aRow['APP_UID'], Criteria::EQUAL);
|
||||
$maxCriteria->addDescendingOrderByColumn(AppCacheViewPeer::DEL_INDEX);
|
||||
$maxCriteria->setLimit(1);
|
||||
|
||||
$maxDataset = AppCacheViewPeer::doSelectRS( $maxCriteria );
|
||||
$maxDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$maxDataset->next();
|
||||
|
||||
$newData = $maxDataset->getRow();
|
||||
foreach ($aRow as $col => $value) {
|
||||
if (array_key_exists($col, $newData))
|
||||
$aRow[$col] = $newData[$col];
|
||||
}
|
||||
|
||||
$maxDataset->close();
|
||||
}*/
|
||||
|
||||
//Current delegation (*)
|
||||
if ($action == 'sent' || $action == 'simple_search' || $action == 'to_reassign') {
|
||||
//Current task
|
||||
|
||||
@@ -81,10 +81,10 @@ class IndicatorsCalculator
|
||||
private $userGroupReportingMetadata = array("tableName" => "USR_REPORTING", "keyField" => "PRO_UID");
|
||||
private $processCategoryReportingMetadata = array("tableName" => "PRO_REPORTING", "keyField" => "PRO_UID");
|
||||
|
||||
private $peiCostFormula = " SUM(case when (TOTAL_TIME_BY_TASK + TOTAL_QUEUE_TIME_BY_TASK) > 0 then (TOTAL_CASES_OUT * CONFIGURED_TASK_TIME - (TOTAL_TIME_BY_TASK * USER_HOUR_COST + TOTAL_QUEUE_TIME_BY_TASK * PRO_COST)) else 0 end)";
|
||||
private $peiCostFormula = " SUM(case when (TOTAL_TIME_BY_TASK + TOTAL_QUEUE_TIME_BY_TASK) > 0 then (TOTAL_CASES_OUT * CONFIGURED_TASK_TIME * PRO_COST - (TOTAL_TIME_BY_TASK * USER_HOUR_COST + TOTAL_QUEUE_TIME_BY_TASK * PRO_COST)) else 0 end)";
|
||||
private $peiFormula = "SUM(TOTAL_CASES_OUT*CONFIGURED_TASK_TIME) / SUM(SDV_TIME * TOTAL_CASES_OUT + (TOTAL_TIME_BY_TASK + TOTAL_QUEUE_TIME_BY_TASK))";
|
||||
|
||||
private $ueiCostFormula = " SUM(case when (TOTAL_TIME_BY_TASK + TOTAL_QUEUE_TIME_BY_TASK) > 0 then (TOTAL_CASES_OUT * CONFIGURED_TASK_TIME - (TOTAL_TIME_BY_TASK * USER_HOUR_COST + TOTAL_QUEUE_TIME_BY_TASK * PRO_COST)) else 0 end)";
|
||||
private $ueiCostFormula = " SUM(case when (TOTAL_TIME_BY_TASK + TOTAL_QUEUE_TIME_BY_TASK) > 0 then (TOTAL_CASES_OUT * CONFIGURED_TASK_TIME * PRO_COST - (TOTAL_TIME_BY_TASK * USER_HOUR_COST + TOTAL_QUEUE_TIME_BY_TASK * PRO_COST)) else 0 end)";
|
||||
private $ueiFormula = "SUM(TOTAL_CASES_OUT * CONFIGURED_TASK_TIME) / SUM((TOTAL_TIME_BY_TASK + TOTAL_QUEUE_TIME_BY_TASK))";
|
||||
|
||||
public function getSkewOfDataDistribution($table, $field) {
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
<?php
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class PMLicensedFeatures
|
||||
{
|
||||
|
||||
private $featuresDetails = array ();
|
||||
private $features = array ();
|
||||
private $newFeatures = array(
|
||||
@@ -334,6 +337,11 @@ class PMLicensedFeatures
|
||||
/*----------------------------------********---------------------------------*/
|
||||
public function verifyfeature ($featureName)
|
||||
{
|
||||
$cached = Cache::get(PmLicenseManager::CACHE_KEY . '.' . SYS_SYS, []);
|
||||
if (isset($cached[$featureName])) {
|
||||
return $cached[$featureName];
|
||||
}
|
||||
|
||||
$licenseManager = PmLicenseManager::getSingleton(false);
|
||||
|
||||
$_SESSION['__sw__'] = true;
|
||||
@@ -350,6 +358,10 @@ class PMLicensedFeatures
|
||||
$this->featuresDetails[$value[0]] = new stdclass();
|
||||
}
|
||||
$this->featuresDetails[$value[0]]->enabled = $enable;
|
||||
|
||||
$cached[$featureName] = $enable;
|
||||
Cache::put(PmLicenseManager::CACHE_KEY . '.' . SYS_SYS, $cached, Carbon::now()->addDay(1));
|
||||
|
||||
return $enable;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
use ProcessMaker\Plugins\PluginRegistry;
|
||||
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
/**
|
||||
* class.pmLicenseManager.php
|
||||
@@ -10,6 +10,7 @@ use ProcessMaker\Plugins\PluginRegistry;
|
||||
|
||||
class PmLicenseManager
|
||||
{
|
||||
const CACHE_KEY = 'license';
|
||||
|
||||
private static $instance = null;
|
||||
|
||||
@@ -474,6 +475,7 @@ class PmLicenseManager
|
||||
$tr->setLicenseType ( $LicenseType );
|
||||
|
||||
$res = $tr->save ();
|
||||
Cache::forget(PmLicenseManager::CACHE_KEY . '.' . SYS_SYS);
|
||||
} catch ( Exception $e ) {
|
||||
G::pr($e);
|
||||
}
|
||||
|
||||
@@ -3979,12 +3979,9 @@ function pmSqlEscape($vValue)
|
||||
//End - Private functions
|
||||
|
||||
|
||||
/* * *************************************************************************
|
||||
* Error handler
|
||||
* author: Julio Cesar Laura Avenda<64>o <juliocesar@colosa.com>
|
||||
* date: 2009-10-01
|
||||
* ************************************************************************* */
|
||||
/**
|
||||
* Error handler
|
||||
*
|
||||
* @param $errno
|
||||
* @param $errstr
|
||||
* @param $errfile
|
||||
|
||||
@@ -136,30 +136,31 @@ if ($action == "todo" || $action == "draft" || $action == "sent" || $action == "
|
||||
}
|
||||
|
||||
//get values for the comboBoxes
|
||||
$processes[] = array ('',G::LoadTranslation( 'ID_ALL_PROCESS' ));
|
||||
$status = getStatusArray( $action, $userUid );
|
||||
$processes[] = array('', G::LoadTranslation('ID_ALL_PROCESS'));
|
||||
$status = getStatusArray($action, $userUid);
|
||||
$category = getCategoryArray();
|
||||
|
||||
$oHeadPublisher->assign( 'reassignReaderFields', $reassignReaderFields ); //sending the fields to get from proxy
|
||||
$oHeadPublisher->addExtJsScript( 'cases/reassignList', false );
|
||||
$columnToSearch = getColumnsSearchArray();
|
||||
$oHeadPublisher->assign('reassignReaderFields', $reassignReaderFields); //sending the fields to get from proxy
|
||||
$oHeadPublisher->addExtJsScript('cases/reassignList', false);
|
||||
$enableEnterprise = false;
|
||||
if (class_exists( 'enterprisePlugin' )) {
|
||||
if (class_exists('enterprisePlugin')) {
|
||||
$enableEnterprise = true;
|
||||
$oHeadPublisher->addExtJsScript(PATH_PLUGINS . "enterprise" . PATH_SEP . "advancedTools" . PATH_SEP , false, true);
|
||||
$oHeadPublisher->addExtJsScript(PATH_PLUGINS . "enterprise" . PATH_SEP . "advancedTools" . PATH_SEP, false, true);
|
||||
}
|
||||
|
||||
$oHeadPublisher->assign( 'pageSize', $pageSize ); //sending the page size
|
||||
$oHeadPublisher->assign( 'columns', $columns ); //sending the columns to display in grid
|
||||
$oHeadPublisher->assign( 'readerFields', $readerFields ); //sending the fields to get from proxy
|
||||
$oHeadPublisher->assign( 'reassignColumns', $reassignColumns ); //sending the columns to display in grid
|
||||
$oHeadPublisher->assign( 'action', $action ); //sending the action to make
|
||||
$oHeadPublisher->assign( 'urlProxy', $urlProxy ); //sending the urlProxy to make
|
||||
$oHeadPublisher->assign( 'PMDateFormat', $dateFormat ); //sending the fields to get from proxy
|
||||
$oHeadPublisher->assign( 'statusValues', $status ); //Sending the listing of status
|
||||
$oHeadPublisher->assign( 'processValues', $processes ); //Sending the listing of processes
|
||||
$oHeadPublisher->assign( 'categoryValues', $category ); //Sending the listing of categories
|
||||
$oHeadPublisher->assign( 'solrEnabled', $solrEnabled ); //Sending the status of solar
|
||||
$oHeadPublisher->assign( 'enableEnterprise', $enableEnterprise ); //sending the page size
|
||||
$oHeadPublisher->assign('pageSize', $pageSize); //sending the page size
|
||||
$oHeadPublisher->assign('columns', $columns); //sending the columns to display in grid
|
||||
$oHeadPublisher->assign('readerFields', $readerFields); //sending the fields to get from proxy
|
||||
$oHeadPublisher->assign('reassignColumns', $reassignColumns); //sending the columns to display in grid
|
||||
$oHeadPublisher->assign('action', $action); //sending the action to make
|
||||
$oHeadPublisher->assign('urlProxy', $urlProxy); //sending the urlProxy to make
|
||||
$oHeadPublisher->assign('PMDateFormat', $dateFormat); //sending the fields to get from proxy
|
||||
$oHeadPublisher->assign('statusValues', $status); //Sending the listing of status
|
||||
$oHeadPublisher->assign('processValues', $processes); //Sending the listing of processes
|
||||
$oHeadPublisher->assign('categoryValues', $category); //Sending the listing of categories
|
||||
$oHeadPublisher->assign('solrEnabled', $solrEnabled); //Sending the status of solar
|
||||
$oHeadPublisher->assign('enableEnterprise', $enableEnterprise); //sending the page size
|
||||
$oHeadPublisher->assign('columnSearchValues', $columnToSearch); //Sending the list of column for search: caseTitle, caseNumber, tasTitle
|
||||
|
||||
|
||||
/*----------------------------------********---------------------------------*/
|
||||
@@ -214,7 +215,6 @@ if(sizeof($fromPlugin)) {
|
||||
}
|
||||
}
|
||||
$oHeadPublisher->assign( 'openReassignCallback', $jsFunction );
|
||||
|
||||
G::RenderPage( 'publish', 'extJs' );
|
||||
|
||||
function getCategoryArray ()
|
||||
@@ -255,8 +255,6 @@ function getStatusArray($action, $userUid)
|
||||
return $status;
|
||||
}
|
||||
|
||||
//these getXX function gets the default fields in casesListSetup
|
||||
|
||||
/**
|
||||
* get the list configuration headers of the cases checked for reassign, for the
|
||||
* reassign cases list.
|
||||
@@ -388,6 +386,18 @@ function getAdditionalFields($action, $confCasesList = array())
|
||||
return $arrayConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function define the possibles columns for apply the specific search
|
||||
* @return array $filters values of the dropdown
|
||||
*/
|
||||
function getColumnsSearchArray ()
|
||||
{
|
||||
$filters = [];
|
||||
$filters[] = ['APP_TITLE', G::LoadTranslation('ID_CASE_TITLE')];
|
||||
$filters[] = ['APP_NUMBER', G::LoadTranslation('ID_CASE_NUMBER')];
|
||||
$filters[] = ['TAS_TITLE', G::LoadTranslation('ID_TASK')];
|
||||
return $filters;
|
||||
}
|
||||
|
||||
/*----------------------------------********---------------------------------*/
|
||||
function getClientCredentials($clientId)
|
||||
|
||||
@@ -36,8 +36,8 @@ $dateTo = isset($_REQUEST["dateTo"]) ? substr($_REQUEST["dateTo"], 0, 10) : "";
|
||||
$first = isset($_REQUEST["first"]) ? true : false;
|
||||
$openApplicationUid = (isset($_REQUEST['openApplicationUid']) && $_REQUEST['openApplicationUid'] != '') ?
|
||||
$_REQUEST['openApplicationUid'] : null;
|
||||
|
||||
$search = (!is_null($openApplicationUid)) ? $openApplicationUid : $search;
|
||||
$columnSearch = isset($_REQUEST["columnSearch"]) ? strtoupper($_REQUEST["columnSearch"]) : "";
|
||||
|
||||
if ($sort == 'CASE_SUMMARY' || $sort == 'CASE_NOTES_COUNT') {
|
||||
$sort = 'APP_NUMBER';//DEFAULT VALUE
|
||||
@@ -81,7 +81,8 @@ try {
|
||||
$sort,
|
||||
$category,
|
||||
$dateFrom,
|
||||
$dateTo
|
||||
$dateTo,
|
||||
$columnSearch
|
||||
);
|
||||
} else {
|
||||
$data = $apps->getAll(
|
||||
|
||||
@@ -123,8 +123,6 @@ if (PMLicensedFeatures
|
||||
|
||||
if ($code == 0) {
|
||||
//Save Cases Notes
|
||||
include_once 'utils.php';
|
||||
|
||||
$dataAbeRequests = loadAbeRequest($aber);
|
||||
$dataAbeConfiguration = loadAbeConfiguration($dataAbeRequests['ABE_UID']);
|
||||
|
||||
|
||||
@@ -650,7 +650,7 @@ function NewCase($params)
|
||||
$oSession = new Sessions();
|
||||
$session = $oSession->getSessionUser($params->sessionId);
|
||||
$userId = $session['USR_UID'];
|
||||
$variables = $params->variables;
|
||||
$variables = isset($params->variables) ? $params->variables : null;
|
||||
|
||||
$field = array();
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
namespace ProcessMaker\Util;
|
||||
use G;
|
||||
|
||||
/**
|
||||
* Constructs the name of the variable starting from a string representing the
|
||||
|
||||
@@ -1230,6 +1230,29 @@ Ext.onReady ( function() {
|
||||
iconCls: 'no-icon' //use iconCls if placing within menu to shift to right side of menu
|
||||
});
|
||||
|
||||
// ComboBox creation for the columnSearch: caseTitle, appNumber, tasTitle
|
||||
var comboColumnSearch = new Ext.form.ComboBox({
|
||||
width : 80,
|
||||
boxMaxWidth : 90,
|
||||
editable : false,
|
||||
mode : 'local',
|
||||
store : new Ext.data.ArrayStore({
|
||||
fields: ['id', 'value'],
|
||||
data : columnSearchValues
|
||||
}),
|
||||
valueField : 'id',
|
||||
displayField : 'value',
|
||||
triggerAction : 'all',
|
||||
listeners:{
|
||||
scope: this,
|
||||
'select': function() {
|
||||
var filter = comboColumnSearch.value;
|
||||
storeCases.setBaseParam('columnSearch', filter);
|
||||
}
|
||||
},
|
||||
iconCls: 'no-icon' //use iconCls if placing within menu to shift to right side of menu
|
||||
});
|
||||
|
||||
// ComboBox creation processValues
|
||||
var userStore = new Ext.data.Store( {
|
||||
proxy : new Ext.data.HttpProxy( {
|
||||
@@ -2081,6 +2104,9 @@ Ext.onReady ( function() {
|
||||
clearDateTo,
|
||||
"->",
|
||||
'-',
|
||||
_('ID_FILTER_BY'),
|
||||
comboColumnSearch,
|
||||
'-',
|
||||
textSearch,
|
||||
resetSearchButton,
|
||||
btnSearch ,
|
||||
@@ -2357,7 +2383,7 @@ Ext.onReady ( function() {
|
||||
storeCases.setBaseParam("category", "");
|
||||
storeCases.setBaseParam("process", "");
|
||||
storeCases.setBaseParam("status", comboStatus.store.getAt(0).get(comboStatus.valueField));
|
||||
//storeCases.setBaseParam("user", comboUser.store.getAt(0).get(comboUser.valueField));
|
||||
storeCases.setBaseParam("columnSearch", comboColumnSearch.store.getAt(0).get(comboColumnSearch.valueField));
|
||||
storeCases.setBaseParam("search", textSearch.getValue());
|
||||
storeCases.setBaseParam("dateFrom", dateFrom.getValue());
|
||||
storeCases.setBaseParam("dateTo", dateTo.getValue());
|
||||
@@ -2504,6 +2530,7 @@ Ext.onReady ( function() {
|
||||
comboCategory.setValue("");
|
||||
suggestProcess.setValue("");
|
||||
comboStatus.setValue("");
|
||||
comboColumnSearch.setValue("APP_TITLE");
|
||||
/*----------------------------------********---------------------------------*/
|
||||
if (typeof valueFilterStatus != 'undefined') {
|
||||
comboFilterStatus.setValue(valueFilterStatus);
|
||||
|
||||
@@ -553,6 +553,7 @@ if (! defined( 'PATH_DATA' ) || ! file_exists( PATH_DATA )) {
|
||||
|
||||
app()->useStoragePath(realpath(PATH_DATA));
|
||||
app()->make(Kernel::class)->bootstrap();
|
||||
restore_error_handler();
|
||||
//Overwrite with the Processmaker env.ini configuration used in production environments
|
||||
//@todo: move env.ini configuration to .env
|
||||
ini_set( 'display_errors', $config['display_errors']);
|
||||
|
||||
Reference in New Issue
Block a user