. * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. */ /* * This is a ajax response file * */ //G::LoadThirdParty( 'pear/json', 'class.json' ); $function = isset( $_POST['function'] ) ? $_POST['function'] : ''; $infoProcess = new Process(); $resultProcessOld = $infoProcess->load($_POST['form']['PRO_UID']); unset($resultProcessOld['PRO_DYNAFORMS']); switch ($function) { case 'lookForNameProcess': require_once 'classes/model/Content.php'; $snameProcess = urldecode( $_POST['NAMEPROCESS'] ); $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( 'COUNT(*) AS PROCESS' ); $oCriteria->add(ProcessPeer::PRO_TITLE, $snameProcess); $oDataset = ContentPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); $aRow = $oDataset->getRow(); print ($aRow['PROCESS'] ? true : false) ; break; default: if (isset( $_GET['PRO_UID'] )) { $_POST['form']['PRO_UID'] = $_GET['PRO_UID']; } $_POST['form']['PRO_TITLE'] = trim( $_POST['form']['PRO_TITLE'] ); G::LoadClass( 'processMap' ); $oProcessMap = new ProcessMap(); if (! isset( $_POST['form']['PRO_UID'] )) { $_POST['form']['USR_UID'] = $_SESSION['USER_LOGGED']; //$oJSON = new Services_JSON(); require_once 'classes/model/Task.php'; $sProUid = $oProcessMap->createProcess( $_POST['form'] ); //call plugins $oData['PRO_UID'] = $sProUid; $oData['PRO_TEMPLATE'] = (isset( $_POST['form']['PRO_TEMPLATE'] ) && $_POST['form']['PRO_TEMPLATE'] != '') ? $_POST['form']['PRO_TEMPLATE'] : ''; $oData['PROCESSMAP'] = $oProcessMap; $oPluginRegistry = & PMPluginRegistry::getSingleton(); $oPluginRegistry->executeTriggers( PM_NEW_PROCESS_SAVE, $oData ); G::header( 'location: processes_Map?PRO_UID=' . $sProUid ); die(); } else { $_POST['form']['PRO_DYNAFORMS'] = array (); $_POST['form']['PRO_DYNAFORMS']['PROCESS'] = isset( $_POST['form']['PRO_SUMMARY_DYNAFORM'] ) ? $_POST['form']['PRO_SUMMARY_DYNAFORM'] : ''; unset( $_POST['form']['PRO_SUMMARY_DYNAFORM'] ); $oProcessMap->updateProcess( $_POST['form'] ); $sProUid = $_POST['form']['PRO_UID']; } //Save Calendar ID for this process G::LoadClass( "calendar" ); $calendarObj = new Calendar(); $calendarObj->assignCalendarTo( $sProUid, $_POST['form']['PRO_CALENDAR'], 'PROCESS' ); if ($_POST['form']['THETYPE'] == '') { G::header( 'location: main' ); } break; } $resultProcessNew = $infoProcess->load($_POST['form']['PRO_UID']); unset($resultProcessNew['PRO_DYNAFORMS']); $newFields = array_diff_assoc($resultProcessNew,$resultProcessOld); $fields = array(); if(array_key_exists('PRO_TITLE', $newFields)) { $fields[] = G::LoadTranslation('ID_TITLE'); } if(array_key_exists('PRO_DESCRIPTION', $newFields)) { $fields[] = G::LoadTranslation('ID_DESCRIPTION'); } if(array_key_exists('PRO_CALENDAR', $newFields)) { $fields[] = G::LoadTranslation('ID_CALENDAR'); } if(array_key_exists('PRO_CATEGORY', $newFields)) { $fields[] = "Process Category"; } if(array_key_exists('PRO_SUMMARY_DYNAFORM', $newFields)) { $fields[] = "Dynaform to show a case summary"; } if(array_key_exists('PRO_DERIVATION_SCREEN_TPL', $newFields)) { $fields[] = "Routing Screen Template"; } if(array_key_exists('PRO_DEBUG', $newFields)) { $fields[] = G::LoadTranslation('ID_PRO_DEBUG'); } if(array_key_exists('PRO_SHOW_MESSAGE', $newFields)) { $fields[] = "Hide the case number and the case title in the steps"; } if(array_key_exists('PRO_SUBPROCESS', $newFields)) { $fields[] = "This a sub process"; } if(array_key_exists('PRO_TRI_DELETED', $newFields)) { $fields[] = "Execute a trigger when a case is deleted"; } if(array_key_exists('PRO_TRI_CANCELED', $newFields)) { $fields[] = "Execute a trigger when a case is canceled"; } if(array_key_exists('PRO_TRI_PAUSED', $newFields)) { $fields[] = "Execute a trigger when a case is paused"; } if(array_key_exists('PRO_TRI_REASSIGNED', $newFields)) { $fields[] = "Execute a trigger when a case is reassigned"; } if(array_key_exists('PRO_TRI_UNPAUSED', $newFields)) { $fields[] = "Execute a trigger when a case is unpaused"; } if(array_key_exists('PRO_TYPE_PROCESS', $newFields)) { $fields[] = "Type of process (only owners can edit private processes)"; } G::auditLog('EditProcess','Edit fields ('.implode(', ',$fields).') in process "'.$_POST['form']['PRO_TITLE'].'"'); if(isset($_POST['form']['PRO_UID']) && !empty($_POST['form']['PRO_UID'])) { $valuesProcess['PRO_UID'] = $_POST['form']['PRO_UID']; $valuesProcess['PRO_UPDATE_DATE'] = date("Y-m-d H:i:s"); G::LoadClass('processes'); $infoProcess = new Processes(); $resultProcess = $infoProcess->updateProcessRow($valuesProcess); }