BUG 15225 La bandeja "Sin asignar", tarda demasiado en cargar cuando la regla de asignaciós "Self Service Value Based Assignment" SOLVED
- La funcion "LoadCase" de la clase "Cases" se usaba N veces y provocaba la lentitud - Se optimizo el query para que no sea necesario usar la funcion "LoadCase" varias veces
This commit is contained in:
@@ -512,16 +512,11 @@ class Cases
|
||||
try {
|
||||
$oApp = new Application;
|
||||
$aFields = $oApp->Load($sAppUid);
|
||||
//$aFields = $oApp->toArray(BasePeer::TYPE_FIELDNAME);
|
||||
$appData = @unserialize($aFields['APP_DATA']);
|
||||
|
||||
// BUG 8134, FIX!// for single/double quote troubles // Unserialize with utf8 content get trouble
|
||||
if ($appData === false) {
|
||||
$appData = preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $aFields['APP_DATA']);
|
||||
$appData = @unserialize($appData);
|
||||
}
|
||||
$appData = self::unserializeData($aFields['APP_DATA']);
|
||||
|
||||
$aFields['APP_DATA'] = G::array_merges(G::getSystemConstants(), $appData);
|
||||
|
||||
switch ($oApp->getAppStatus()) {
|
||||
case 'COMPLETED':
|
||||
$aFields['STATUS'] = G::LoadTranslation('ID_COMPLETED');
|
||||
@@ -6456,13 +6451,13 @@ class Cases
|
||||
$row[] = $aUser['USR_UID'];
|
||||
}
|
||||
}
|
||||
|
||||
global $RBAC;
|
||||
//Adding the actual user if this has the PM_REASSIGNCASE permission assigned.
|
||||
|
||||
global $RBAC;
|
||||
//Adding the actual user if this has the PM_REASSIGNCASE permission assigned.
|
||||
if ($RBAC->userCanAccess('PM_REASSIGNCASE') == 1){
|
||||
if(!in_array($RBAC->aUserInfo['USER_INFO']['USR_UID'], $row)){
|
||||
$row[] = $RBAC->aUserInfo['USER_INFO']['USR_UID'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
require_once 'classes/model/Users.php';
|
||||
@@ -6728,4 +6723,16 @@ class Cases
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function unserializeData($data) {
|
||||
$unserializedData = @unserialize($data);
|
||||
|
||||
// BUG 8134, FIX!// for single/double quote troubles // Unserialize with utf8 content get trouble
|
||||
if ($unserializedData === false) {
|
||||
$unserializedData = preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $data);
|
||||
$unserializedData = @unserialize($unserializedData);
|
||||
}
|
||||
|
||||
return $unserializedData;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user