public function editTaskProperties($sTaskUID = '', $iForm = 1, $iIndex = 0) { $sw_template = false; try { switch ($iForm) { case 1: $sFilename = 'tasks/tasks_Definition.xml'; break; case 2: $sFilename = 'tasks/tasks_AssignmentRules.xml'; break; case 3: $sFilename = 'tasks/tasks_TimingControl.xml'; break; case 4: $sFilename = 'tasks/tasks_Owner.xml'; break; case 5: $sFilename = 'tasks/tasks_Permissions.xml'; break; case 6: $sFilename = 'tasks/tasks_Labels.xml'; break; case 7: $sFilename = 'tasks/tasks_Notifications.xml'; break; case 8: $sFilename = 'tasks/tasks_Consolidated.xml'; break; default: //if the $iForm is not one of the defaults then search under Plugins for an extended property. By JHL Jan 18, 2011 $oPluginRegistry = & PMPluginRegistry::getSingleton(); $activePluginsForTaskProperties = $oPluginRegistry->getTaskExtendedProperties(); foreach ($activePluginsForTaskProperties as $key => $taskPropertiesInfo) { $id = $taskPropertiesInfo->sNamespace . "--" . $taskPropertiesInfo->sName; if ($id == $iForm) { $sFilename = $taskPropertiesInfo->sPage; $sw_template = true; } } //$sFilename = 'tasks/tasks_Owner.xml'; break; } $oTask = new Task(); $aFields = $oTask->load($sTaskUID); $aFields['INDEX'] = $iIndex; $aFields['IFORM'] = $iForm; $aFields['LANG'] = SYS_LANG; /** * Task Notifications * */ if ($iForm == 7 || $iForm == 1) { G::loadClass('processes'); $files = Processes::getProcessFiles($aFields['PRO_UID'], 'mail'); $templates = array(); $templates[] = 'dummy'; foreach ($files as $file) { $templates[] = array('FILE' => $file['filename'], 'NAME' => $file['filename'] ); } global $_DBArray; $_DBArray['_TEMPLATES1'] = $templates; $_SESSION['_DBArray'] = $_DBArray; if ($iForm == 7) { // Additional configuration G::loadClass('configuration'); $oConf = new Configurations(); $oConf->loadConfig($x, 'TAS_EXTRA_PROPERTIES', $aFields['TAS_UID'], '', ''); $conf = $oConf->aConfig; if (isset($conf['TAS_DEF_MESSAGE_TYPE']) && isset($conf['TAS_DEF_MESSAGE_TYPE'])) { $aFields['TAS_DEF_MESSAGE_TYPE'] = $conf['TAS_DEF_MESSAGE_TYPE']; $aFields['TAS_DEF_MESSAGE_TEMPLATE'] = $conf['TAS_DEF_MESSAGE_TEMPLATE']; } } } if ($iForm == 3) { //Load Calendar Information $calendar = new Calendar(); $calendarObj = $calendar->getCalendarList(true, true); global $_DBArray; $_DBArray['availableCalendars'] = $calendarObj['array']; $_SESSION['_DBArray'] = $_DBArray; $calendarInfo = $calendar->getCalendarFor($sTaskUID, $sTaskUID, $sTaskUID); //If the function returns a DEFAULT calendar it means that this object doesn't have assigned any calendar $aFields['TAS_CALENDAR'] = $calendarInfo['CALENDAR_APPLIED'] != 'DEFAULT' ? $calendarInfo['CALENDAR_UID'] : ""; } if ($iForm == 2) { switch ($aFields["TAS_ASSIGN_TYPE"]) { case "SELF_SERVICE": $aFields["TAS_ASSIGN_TYPE"] = (!empty($aFields["TAS_GROUP_VARIABLE"])) ? "SELF_SERVICE_EVALUATE" : $aFields["TAS_ASSIGN_TYPE"]; break; } } if ($iForm == 8) { $oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($_SESSION["cDhTajE2T2lxSkhqMzZUTXVacWYyNcKwV3A4eWYybDdyb1p3"]["TAS_UID"]); if ((is_object($oCaseConsolidated)) && get_class($oCaseConsolidated) == "CaseConsolidated") { require_once ("classes/model/ReportTable.php"); $aFields["CON_STATUS"] = $oCaseConsolidated->getConStatus(); $aFields["DYN_UID"] = $oCaseConsolidated->getDynUid(); $aFields["REP_TAB_UID"] = $oCaseConsolidated->getRepTabUid(); $oReportTables = new ReportTable(); $oReportTables = $oReportTables->load($aFields["REP_TAB_UID"]); if (count($oReportTables)>0) { if ($oReportTables['REP_TAB_STATUS'] == 'ACTIVE') { $aFields["TABLE_NAME"] = $oReportTables['REP_TAB_NAME']; $aFields["TITLE"] = $oReportTables['REP_TAB_TITLE']; } } } $aFields["PRO_UID"] = $_SESSION["PROCESS"]; $aFields["TAS_UID"] = $_SESSION["cDhTajE2T2lxSkhqMzZUTXVacWYyNcKwV3A4eWYybDdyb1p3"]["TAS_UID"]; $aFields["SYS_LANG"] = SYS_LANG; $aFields['INDEX'] = 0; $aFields["TABLE_NAME_DEFAULT"] = "__" . $aFields["TAS_UID"]; $oCriteria = new Criteria("workflow"); $del = DBAdapter::getStringDelimiter(); $oCriteria->setDistinct(); $oCriteria->addSelectColumn(DynaformPeer::DYN_UID); $oCriteria->addSelectColumn(ContentPeer::CON_VALUE); $aConditions = array(); $aConditions[] = array(DynaformPeer::DYN_UID, ContentPeer::CON_ID); $aConditions[] = array(ContentPeer::CON_CATEGORY, $del . "DYN_TITLE" . $del); $aConditions[] = array(ContentPeer::CON_LANG, $del . "en" . $del); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $oCriteria->add(DynaformPeer::PRO_UID, $_SESSION["PROCESS"]); $oCriteria->add(DynaformPeer::DYN_TYPE, "grid"); $oCriteria->addAscendingOrderByColumn(ContentPeer::CON_VALUE); $numRows = DynaformPeer::doCount($oCriteria); if ($numRows == 0) { $aFields['TITLE_ALERT'] = G::LoadTranslation('ID_ALERT'); $aFields['SUBTITLE_MESSAGE'] = G::LoadTranslation('ID_CONSOLIDATED_DYNAFORM_REQUIRED'); $sFilename = 'tasks/tasks_Consolidated_Error.xml'; } } global $G_PUBLISH; G::LoadClass('xmlfield_InputPM'); $G_PUBLISH = new Publisher(); if ($sw_template) { $G_PUBLISH->AddContent('view', $sFilename); } else { $G_PUBLISH->AddContent('xmlform', 'xmlform', $sFilename, '', $aFields); } G::RenderPage('publish', 'raw'); return true; } catch (Exception $oError) { throw ($oError); } }
public function editTaskProperties($sTaskUID = '', $iForm = 1, $iIndex = 0) { $sw_template = false; try { switch ($iForm) { case 1: $sFilename = 'tasks/tasks_Definition.xml'; break; case 2: $sFilename = 'tasks/tasks_AssignmentRules.xml'; break; case 3: $sFilename = 'tasks/tasks_TimingControl.xml'; break; case 4: $sFilename = 'tasks/tasks_Owner.xml'; break; case 5: $sFilename = 'tasks/tasks_Permissions.xml'; break; case 6: $sFilename = 'tasks/tasks_Labels.xml'; break; case 7: $sFilename = 'tasks/tasks_Notifications.xml'; break; default: //if the $iForm is not one of the defaults then search under Plugins for an extended property. By JHL Jan 18, 2011 $oPluginRegistry =& PMPluginRegistry::getSingleton(); $activePluginsForTaskProperties = $oPluginRegistry->getTaskExtendedProperties(); $oPM->taskOptions = array(); foreach ($activePluginsForTaskProperties as $key => $taskPropertiesInfo) { $id = $taskPropertiesInfo->sNamespace . "--" . $taskPropertiesInfo->sName; if ($id == $iForm) { $sFilename = $taskPropertiesInfo->sPage; $sw_template = true; } } //$sFilename = 'tasks/tasks_Owner.xml'; break; } $oTask = new Task(); $aFields = $oTask->load($sTaskUID); $aFields['INDEX'] = $iIndex; $aFields['IFORM'] = $iForm; $aFields['LANG'] = SYS_LANG; /** * Task Notifications * */ if ($iForm == 7 || $iForm == 1) { G::loadClass('processes'); $files = Processes::getProcessFiles($aFields['PRO_UID'], 'mail'); $templates = array(); $templates[] = 'dummy'; foreach ($files as $file) { $templates[] = array('FILE' => $file['filename'], 'NAME' => $file['filename']); } global $_DBArray; $_DBArray['_TEMPLATES1'] = $templates; $_SESSION['_DBArray'] = $_DBArray; if ($iForm == 7) { // Additional configuration G::loadClass('configuration'); $oConf = new Configurations(); $oConf->loadConfig($x, 'TAS_EXTRA_PROPERTIES', $aFields['TAS_UID'], '', ''); $conf = $oConf->aConfig; if (isset($conf['TAS_DEF_MESSAGE_TYPE']) && isset($conf['TAS_DEF_MESSAGE_TYPE'])) { $aFields['TAS_DEF_MESSAGE_TYPE'] = $conf['TAS_DEF_MESSAGE_TYPE']; $aFields['TAS_DEF_MESSAGE_TEMPLATE'] = $conf['TAS_DEF_MESSAGE_TEMPLATE']; } } } if ($iForm == 3) { //Load Calendar Information $calendar = new Calendar(); $calendarObj = $calendar->getCalendarList(true, true); global $_DBArray; $_DBArray['availableCalendars'] = $calendarObj['array']; $_SESSION['_DBArray'] = $_DBArray; $calendarInfo = $calendar->getCalendarFor($sTaskUID, $sTaskUID, $sTaskUID); //If the function returns a DEFAULT calendar it means that this object doesn't have assigned any calendar $aFields['TAS_CALENDAR'] = $calendarInfo['CALENDAR_APPLIED'] != 'DEFAULT' ? $calendarInfo['CALENDAR_UID'] : ""; } if ($iForm == 2) { switch ($aFields["TAS_ASSIGN_TYPE"]) { case "SELF_SERVICE": $aFields["TAS_ASSIGN_TYPE"] = !empty($aFields["TAS_GROUP_VARIABLE"]) ? "SELF_SERVICE_EVALUATE" : $aFields["TAS_ASSIGN_TYPE"]; break; } } global $G_PUBLISH; G::LoadClass('xmlfield_InputPM'); $G_PUBLISH = new Publisher(); if ($sw_template) { $G_PUBLISH->AddContent('view', $sFilename); } else { $G_PUBLISH->AddContent('xmlform', 'xmlform', $sFilename, '', $aFields); } G::RenderPage('publish', 'raw'); return true; } catch (Exception $oError) { throw $oError; } }
/** * Verify if doesn't exists the Template in Routing Screen Template * * @param string $processUid Unique id of Process * @param string $fileName Name template * @param string $fieldNameForException Field name for the exception * * return void Throw exception if doesn't exists the Template in Routing Screen Template */ public function throwExceptionIfNotExistsRoutingScreenTemplate($processUid, $fileName, $fieldNameForException) { try { \G::LoadClass("processes"); $arrayFile = \Processes::getProcessFiles($processUid, "mail"); $flag = 0; foreach ($arrayFile as $f) { if ($f["filename"] == $fileName) { $flag = 1; break; } } if ($flag == 0) { throw new \Exception(\G::LoadTranslation("ID_ROUTING_SCREEN_TEMPLATE_DOES_NOT_EXIST", array($fieldNameForException, $fileName))); } } catch (\Exception $e) { throw $e; } }