/** * Page to configuration the notifications (triggers and actions) * * @copyright Copyright (C) 2013 Combodo SARL * @license http://opensource.org/licenses/AGPL-3.0 */ require_once('../approot.inc.php'); require_once(APPROOT.'/application/application.inc.php'); require_once(APPROOT.'/application/itopwebpage.class.inc.php'); require_once(APPROOT.'/application/startup.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php'); LoginWebPage::DoLogin(true); // Check user rights and prompt if needed (must be admin) // Main program // $oP = new iTopWebPage(Dict::S('Menu:NotificationsMenu+')); $oP->add(''); $oP->StartCollapsibleSection(Dict::S('UI:NotificationsMenu:Help'), true); $oP->add('
'); $oP->add(''); $oP->add(Dict::S('UI:NotificationsMenu:HelpContent')); $oP->add('
'); $oP->add(''); $oP->add(''); $oP->EndCollapsibleSection(); $oP->add('

 

'); $oP->AddTabContainer('Tabs_0'); $oP->SetCurrentTabContainer('Tabs_0'); $oP->SetCurrentTab(Dict::S('UI:NotificationsMenu:Triggers')); $oP->add('

'.Dict::S('UI:NotificationsMenu:AvailableTriggers').'

'); $oFilter = new DBObjectSearch('Trigger'); $aParams = array(); $oBlock = new DisplayBlock($oFilter, 'list', false, $aParams); $oBlock->Display($oP, 'block_0', $aParams); $aActionClasses = array(); foreach(MetaModel::EnumChildClasses('Action', ENUM_CHILD_CLASSES_EXCLUDETOP) as $sActionClass) { if (!MetaModel::IsAbstract($sActionClass)) { $aActionClasses[] = $sActionClass; } } $oP->SetCurrentTab(Dict::S('UI:NotificationsMenu:Actions')); if (count($aActionClasses) == 1) { // Preserve old style $oP->add('

'.Dict::S('UI:NotificationsMenu:AvailableActions').'

'); } $iBlock = 0; foreach($aActionClasses as $sActionClass) { if (count($aActionClasses) > 1) { // New style $oP->add('

'.MetaModel::GetName($sActionClass).'

'); } $oFilter = new DBObjectSearch($sActionClass); $aParams = array(); $oBlock = new DisplayBlock($oFilter, 'list', false, $aParams); $oBlock->Display($oP, 'block_action_'.$iBlock, $aParams); $iBlock++; } $oP->SetCurrentTab(''); $oP->SetCurrentTabContainer(''); $oP->output();