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($aData["TAS_TITLE"])) { $aData["TAS_TITLE"] = str_replace("__ADD__", "+", $aData["TAS_TITLE"]); } if (isset($aData["TAS_DESCRIPTION"])) { $aData["TAS_DESCRIPTION"] = str_replace("__ADD__", "+", $aData["TAS_DESCRIPTION"]); } 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 */ 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 ); $oTaskNewPattern = new Task(); $taskInfo=$oTaskNewPattern->load($aData['TAS_UID']); $titleTask=$taskInfo['TAS_TITLE']; $taskProperties=''; foreach ($aData as $key => $value){ if ($value!='') { $taskProperties.=$key.' -> '.$value.' '; } } G::auditLog("SaveTaskProperties","Task Properties DETAILS : ".$taskProperties); $response["status"] = "OK"; if ($result == 3) { $response["status"] = "CRONCL"; } echo G::json_encode( $response ); break; } } catch (Exception $oException) { $token = strtotime("now"); PMException::registerErrorLog($oException, $token); G::outRes($oException->getMessage()); die; }