- Al editar el "Self Service Value Based Assignment" y asignarles un valor a "Variable for Self Service Value Based Assignment" y luego cambiar a cualquier pestaña no se guardaba el valor. - La opcion ya se guardaba en el js solo que no se recuperaba el valor, se edito el file tasks_AssignmentRules.xml y se recupera el dato de TAS_GROUP_VARIABLE cuando es del tipo SELF_SERVICE_EVALUATE. - Se agrego un switch en el archivo tasks.ajax.php al momento de hacer el saveTaskData recuperar datos que no se ubieran modificado en el formulario principal.
127 lines
4.7 KiB
PHP
Executable File
127 lines
4.7 KiB
PHP
Executable File
<?php
|
|
try {
|
|
global $RBAC;
|
|
|
|
switch ($RBAC->userCanAccess( 'PM_FACTORY' )) {
|
|
case - 2:
|
|
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' );
|
|
G::header( 'location: ../login/login' );
|
|
die();
|
|
break;
|
|
case - 1:
|
|
G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' );
|
|
G::header( 'location: ../login/login' );
|
|
die();
|
|
break;
|
|
}
|
|
|
|
//$oJSON = new Services_JSON();
|
|
$aData = get_object_vars( G::json_decode( $_POST['oData'] ));
|
|
//$aData = get_object_vars( $oJSON->decode( $_POST['oData'] ) );
|
|
|
|
if (isset( $_POST['function'] )) {
|
|
$sAction = $_POST['function'];
|
|
} else {
|
|
$sAction = $_POST['functions'];
|
|
}
|
|
|
|
switch ($sAction) {
|
|
case "saveTaskData":
|
|
require_once ("classes/model/Task.php");
|
|
|
|
$response = array ();
|
|
|
|
$oTask = new Task();
|
|
$aTaskInfo = $oTask->load($aData['TAS_UID']);
|
|
|
|
/**
|
|
* routine to replace @amp@ by &
|
|
* that why the char "&" can't be passed by XmlHttpRequest directly
|
|
* @autor erik <erik@colosa.com>
|
|
*/
|
|
|
|
foreach ($aData as $k => $v) {
|
|
$aData[$k] = str_replace( '@amp@', '&', $v );
|
|
}
|
|
|
|
if (isset( $aData['SEND_EMAIL'] )) {
|
|
$aData['TAS_SEND_LAST_EMAIL'] = $aData['SEND_EMAIL'] == 'TRUE' ? 'TRUE' : 'FALSE';
|
|
} else {
|
|
//$aTaskInfo = $oTask->load($aData['TAS_UID']);
|
|
$aData['TAS_SEND_LAST_EMAIL'] = is_null($aTaskInfo['TAS_SEND_LAST_EMAIL']) ? 'FALSE' : $aTaskInfo['TAS_SEND_LAST_EMAIL'];
|
|
}
|
|
|
|
//Additional configuration
|
|
if (isset( $aData['TAS_DEF_MESSAGE_TYPE'] ) && isset( $aData['TAS_DEF_MESSAGE_TEMPLATE'] )) {
|
|
G::LoadClass( 'configuration' );
|
|
|
|
$oConf = new Configurations();
|
|
$oConf->aConfig = array ('TAS_DEF_MESSAGE_TYPE' => $aData['TAS_DEF_MESSAGE_TYPE'],'TAS_DEF_MESSAGE_TEMPLATE' => $aData['TAS_DEF_MESSAGE_TEMPLATE']
|
|
);
|
|
|
|
$oConf->saveConfig( 'TAS_EXTRA_PROPERTIES', $aData['TAS_UID'], '', '' );
|
|
|
|
unset( $aData['TAS_DEF_MESSAGE_TYPE'] );
|
|
unset( $aData['TAS_DEF_MESSAGE_TEMPLATE'] );
|
|
}
|
|
|
|
//Validating TAS_ASSIGN_VARIABLE value
|
|
$sw = false;
|
|
if (!isset($aData['TAS_ASSIGN_TYPE'])) {
|
|
$sw = true;
|
|
if (isset($aTaskInfo['TAS_ASSIGN_TYPE'])) {
|
|
switch($aTaskInfo['TAS_ASSIGN_TYPE']) {
|
|
case 'SELF_SERVICE':
|
|
case 'SELF_SERVICE_EVALUATE':
|
|
$aData['TAS_ASSIGN_TYPE'] = ($aTaskInfo['TAS_GROUP_VARIABLE'] == '') ? 'SELF_SERVICE':'SELF_SERVICE_EVALUATE';
|
|
$aData['TAS_GROUP_VARIABLE'] = $aTaskInfo['TAS_GROUP_VARIABLE'];
|
|
break;
|
|
default:
|
|
$aData['TAS_ASSIGN_TYPE'] = $aTaskInfo['TAS_ASSIGN_TYPE'];
|
|
break;
|
|
}
|
|
} else {
|
|
$derivateType = $oTask->kgetassigType($_SESSION['PROCESS'],$aData['TAS_UID']);
|
|
if (is_null($derivateType)){
|
|
$aData['TAS_ASSIGN_TYPE'] = 'BALANCED';
|
|
} else {
|
|
$aData['TAS_ASSIGN_TYPE'] = $derivateType['TAS_ASSIGN_TYPE'];
|
|
}
|
|
}
|
|
}
|
|
switch($aData['TAS_ASSIGN_TYPE']) {
|
|
case 'SELF_SERVICE':
|
|
case 'SELF_SERVICE_EVALUATE':
|
|
if ($aData['TAS_ASSIGN_TYPE'] == 'SELF_SERVICE_EVALUATE') {
|
|
$aData['TAS_ASSIGN_TYPE'] = 'SELF_SERVICE';
|
|
if(trim($aData['TAS_GROUP_VARIABLE']) == '') {
|
|
$aData['TAS_GROUP_VARIABLE'] = '@@SYS_GROUP_TO_BE_ASSIGNED';
|
|
}
|
|
} else {
|
|
$aData['TAS_GROUP_VARIABLE'] = '';
|
|
}
|
|
break;
|
|
default:
|
|
if (isset($aTaskInfo['TAS_ASSIGN_TYPE']) && $sw) {
|
|
$aData['TAS_ASSIGN_TYPE'] = $aTaskInfo['TAS_ASSIGN_TYPE'];
|
|
}
|
|
$aData['TAS_GROUP_VARIABLE'] = '';
|
|
break;
|
|
}
|
|
|
|
$result = $oTask->update( $aData );
|
|
|
|
$response["status"] = "OK";
|
|
|
|
if ($result == 3) {
|
|
$response["status"] = "CRONCL";
|
|
}
|
|
|
|
echo G::json_encode( $response );
|
|
break;
|
|
}
|
|
} catch (Exception $oException) {
|
|
die( $oException->getMessage() );
|
|
}
|
|
|