PM-3475: 0018278: Desaparecen casos al cambiar el tipo de derivacion
optimizacion de query cambio de metodo en criteria builder validacion SELF_SERVICE_VALUE_BASED se considera tambien de SELF SERVICE VALUE BASED a SELF SERVICE
This commit is contained in:
@@ -498,8 +498,9 @@ class Task extends BaseTask
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
$con->begin();
|
$con->begin();
|
||||||
$this->load($fields["TAS_UID"]);
|
$oldValues = $this->load($fields["TAS_UID"]);
|
||||||
$this->fromArray($fields, BasePeer::TYPE_FIELDNAME);
|
$this->fromArray($fields, BasePeer::TYPE_FIELDNAME);
|
||||||
|
$this->validateAssignType($fields,$oldValues);
|
||||||
|
|
||||||
if ($this->validate()) {
|
if ($this->validate()) {
|
||||||
$taskDefTitlePrevious = null;
|
$taskDefTitlePrevious = null;
|
||||||
@@ -787,5 +788,29 @@ class Task extends BaseTask
|
|||||||
|
|
||||||
return $event_uid;
|
return $event_uid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function validateAssignType($newValues,$oldValues)
|
||||||
|
{
|
||||||
|
if(isset($newValues['TAS_ASSIGN_TYPE']) && isset($oldValues['TAS_ASSIGN_TYPE'])) {
|
||||||
|
$newAssigType = $newValues['TAS_ASSIGN_TYPE'];
|
||||||
|
$oldAssigType = $oldValues['TAS_ASSIGN_TYPE'];
|
||||||
|
if($newAssigType == 'SELF_SERVICE'){
|
||||||
|
$newAssigType = isset($newValues['TAS_GROUP_VARIABLE'])?(empty($newValues['TAS_GROUP_VARIABLE'])?'SELF_SERVICE':'SELF_SERVICE_VALUE_BASED'):'SELF_SERVICE';
|
||||||
|
}
|
||||||
|
if($oldAssigType == 'SELF_SERVICE'){
|
||||||
|
$oldAssigType = isset($oldValues['TAS_GROUP_VARIABLE'])?(empty($oldValues['TAS_GROUP_VARIABLE'])?'SELF_SERVICE':'SELF_SERVICE_VALUE_BASED'):'SELF_SERVICE';
|
||||||
|
}
|
||||||
|
if(($oldAssigType == 'SELF_SERVICE' && $newAssigType != 'SELF_SERVICE') || ($oldAssigType == 'SELF_SERVICE_VALUE_BASED' && $newAssigType != 'SELF_SERVICE_VALUE_BASED')) {
|
||||||
|
$oCriteria = new Criteria();
|
||||||
|
$oCriteria->add(AppDelegationPeer::DEL_THREAD_STATUS, "OPEN");
|
||||||
|
$oCriteria->add(AppDelegationPeer::TAS_UID, $newValues['TAS_UID']);
|
||||||
|
$oApplication = AppDelegationPeer::doSelectOne($oCriteria);
|
||||||
|
if(!empty($oApplication)) {
|
||||||
|
throw (new Exception(G::LoadTranslation('ID_CURRENT_ASSING_TYPE_WITH_CASES')));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user