_helper->getHelper('AjaxContext'); $ajaxContext ->addActionContext('create-template', 'json') ->addActionContext('update-template', 'json') ->addActionContext('delete-template', 'json') ->addActionContext('set-template-default', 'json') ->initContext(); } public function indexAction() { $CC_CONFIG = Config::getConfig(); $baseUrl = Config::getBasePath(); Zend_Layout::getMvcInstance()->assign('parent_page', 'Analytics'); $this->view->headScript()->appendFile(Assets::url('js/airtime/playouthistory/template.js'), 'text/javascript'); $this->view->headLink()->appendStylesheet(Assets::url('css/history_styles.css')); $historyService = new Application_Service_HistoryService(); $this->view->template_list = $historyService->getListItemTemplates(); $this->view->template_file = $historyService->getFileTemplates(); $this->view->configured = $historyService->getConfiguredTemplateIds(); } public function configureTemplateAction() { $CC_CONFIG = Config::getConfig(); $baseUrl = Config::getBasePath(); Zend_Layout::getMvcInstance()->assign('parent_page', 'Analytics'); $this->view->headScript()->appendFile(Assets::url('js/airtime/playouthistory/configuretemplate.js'), 'text/javascript'); $this->view->headLink()->appendStylesheet(Assets::url('css/history_styles.css')); try { $templateId = $this->_getParam('id'); $historyService = new Application_Service_HistoryService(); $template = $historyService->loadTemplate($templateId); $templateType = $template['type']; $supportedTypes = $historyService->getSupportedTemplateTypes(); if (!in_array($templateType, $supportedTypes)) { throw new Exception("Error: {$templateType} is not supported."); } $getMandatoryFields = 'mandatory' . ucfirst($templateType) . 'Fields'; $mandatoryFields = $historyService->{$getMandatoryFields}(); $this->view->template_id = $templateId; $this->view->template_name = $template['name']; $this->view->template_fields = $template['fields']; $this->view->template_type = $templateType; $this->view->fileMD = $historyService->getFileMetadataTypes(); $this->view->fields = $historyService->getFieldTypes(); $this->view->required_fields = $mandatoryFields; $this->view->configured = $historyService->getConfiguredTemplateIds(); } catch (Exception $e) { Logging::info('Error?'); Logging::info($e); Logging::info($e->getMessage()); $this->_forward('index', 'playouthistorytemplate'); } } public function createTemplateAction() { $templateType = $this->_getParam('type', null); $request = $this->getRequest(); $params = $request->getPost(); try { $historyService = new Application_Service_HistoryService(); $supportedTypes = $historyService->getSupportedTemplateTypes(); if (!in_array($templateType, $supportedTypes)) { throw new Exception("Error: {$templateType} is not supported."); } $id = $historyService->createTemplate($params); $this->view->url = $this->view->baseUrl("Playouthistorytemplate/configure-template/id/{$id}"); } catch (Exception $e) { Logging::info($e); Logging::info($e->getMessage()); $this->view->error = $e->getMessage(); } } public function setTemplateDefaultAction() { $templateId = $this->_getParam('id', null); try { $historyService = new Application_Service_HistoryService(); $historyService->setConfiguredTemplate($templateId); } catch (Exception $e) { Logging::info($e); Logging::info($e->getMessage()); } } public function updateTemplateAction() { $templateId = $this->_getParam('id', null); $name = $this->_getParam('name', null); $fields = $this->_getParam('fields', []); try { $historyService = new Application_Service_HistoryService(); $historyService->updateItemTemplate($templateId, $name, $fields); } catch (Exception $e) { Logging::info($e); Logging::info($e->getMessage()); } } public function deleteTemplateAction() { $templateId = $this->_getParam('id'); try { $historyService = new Application_Service_HistoryService(); $historyService->deleteTemplate($templateId); } catch (Exception $e) { Logging::info($e); Logging::info($e->getMessage()); } } }