Merge pull request #2125 from Jennydmz/BUG-13421
BUG-13421 Ordenamiento en el listado de procesos 'Designer'.
This commit is contained in:
@@ -48,6 +48,8 @@ class Process extends BaseProcess
|
||||
* @var string
|
||||
*/
|
||||
protected $pro_title = '';
|
||||
public $dir = 'ASC';
|
||||
public $sort = '';
|
||||
|
||||
/**
|
||||
* Get the [Pro_title] column value.
|
||||
@@ -387,7 +389,12 @@ class Process extends BaseProcess
|
||||
}
|
||||
}
|
||||
|
||||
usort( $processes, 'ordProcessByProTitle' );
|
||||
if ($this->dir=='ASC') {
|
||||
usort( $processes, array($this, "ordProcessAsc") );
|
||||
} else {
|
||||
usort( $processes, array($this, "ordProcessDesc") );
|
||||
}
|
||||
|
||||
return $processes;
|
||||
}
|
||||
|
||||
@@ -589,7 +596,7 @@ class Process extends BaseProcess
|
||||
|
||||
public function getAllProcesses ($start, $limit, $category = null, $processName = null, $counters = true, $reviewSubProcess = false)
|
||||
{
|
||||
require_once PATH_RBAC . "model/RbacUsers.php";
|
||||
require_once PATH_RBAC . "model/RbacUsers.php";
|
||||
require_once "classes/model/ProcessCategory.php";
|
||||
require_once "classes/model/Users.php";
|
||||
|
||||
@@ -629,14 +636,7 @@ class Process extends BaseProcess
|
||||
|
||||
$this->tmpCriteria = clone $oCriteria;
|
||||
|
||||
if ($start != '') {
|
||||
$oCriteria->setOffset( $start );
|
||||
}
|
||||
if ($limit != '' && ! isset( $category ) && ! isset( $processName )) {
|
||||
$oCriteria->setLimit( $limit );
|
||||
}
|
||||
|
||||
//execute a query to obtain numbers, how many cases there are by process
|
||||
//execute a query to obtain numbers, how many cases there are by process
|
||||
if ($counters) {
|
||||
$casesCnt = $this->getCasesCountInAllProcesses();
|
||||
}
|
||||
@@ -741,8 +741,22 @@ class Process extends BaseProcess
|
||||
$aProcesses[] = $process;
|
||||
|
||||
}
|
||||
|
||||
$memcache = & PMmemcached::getSingleton( SYS_SYS );
|
||||
if (isset($memcache) && $memcache->enabled == 1 ) {
|
||||
return $aProcesses;
|
||||
}
|
||||
|
||||
if ($limit == '') {
|
||||
$limit = count($aProcesses);
|
||||
}
|
||||
if ($this->dir=='ASC') {
|
||||
usort( $aProcesses, array($this, "ordProcessAsc") );
|
||||
} else {
|
||||
usort( $aProcesses, array($this, "ordProcessDesc") );
|
||||
}
|
||||
$aProcesses = array_splice($aProcesses, $start, $limit);
|
||||
|
||||
usort( $aProcesses, 'ordProcessByProTitle' );
|
||||
return $aProcesses;
|
||||
}
|
||||
|
||||
@@ -848,16 +862,38 @@ class Process extends BaseProcess
|
||||
$r = $memcache->delete( $memkeyTotal );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function orderMemcache($dataMemcache, $start, $limit)
|
||||
{
|
||||
if ($this->dir=='ASC') {
|
||||
usort( $dataMemcache, array($this, "ordProcessAsc") );
|
||||
} else {
|
||||
usort( $dataMemcache, array($this, "ordProcessDesc") );
|
||||
}
|
||||
$dataMemcache = array_splice($dataMemcache, $start, $limit);
|
||||
return $dataMemcache;
|
||||
}
|
||||
|
||||
function ordProcessByProTitle ($a, $b)
|
||||
{
|
||||
if ($a['PRO_TITLE'] > $b['PRO_TITLE']) {
|
||||
return 1;
|
||||
} elseif ($a['PRO_TITLE'] < $b['PRO_TITLE']) {
|
||||
return - 1;
|
||||
} else {
|
||||
return 0;
|
||||
public function ordProcessAsc ($a, $b)
|
||||
{
|
||||
if ($a[$this->sort] > $b[$this->sort]) {
|
||||
return 1;
|
||||
} elseif ($a[$this->sort] < $b[$this->sort]) {
|
||||
return - 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public function ordProcessDesc ($a, $b)
|
||||
{
|
||||
if ($a[$this->sort] > $b[$this->sort]) {
|
||||
return - 1;
|
||||
} elseif ($a[$this->sort] < $b[$this->sort]) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user