/**
  * Shows the actions for the selected trigger
  *
  */
 public function detailsAction()
 {
     $this->view->acl = array('add' => $this->_helper->hasAccess('add'), 'copy' => $this->_helper->hasAccess('copy'), 'edit' => $this->_helper->hasAccess('edit'), 'delete' => $this->_helper->hasAccess('delete'), 'changeStatus' => $this->_helper->hasAccess('change-status'));
     $eventKey = $this->_getParam('eventKey', null);
     if (is_null($eventKey)) {
         throw new Ot_Exception_Input('msg-error-triggerIdNotFound');
     }
     $register = new Ot_Trigger_EventRegister();
     $thisTriggerEvent = $register->getTriggerEvent($eventKey);
     if (is_null($thisTriggerEvent)) {
         throw new Ot_Exception_Data('msg-error-noTrigger');
     }
     $action = new Ot_Model_DbTable_TriggerAction();
     $where = $action->getAdapter()->quoteInto('eventKey = ?', $thisTriggerEvent->getKey());
     $actions = $action->fetchAll($where)->toArray();
     $tpr = new Ot_Trigger_ActionTypeRegister();
     $actionTypes = $tpr->getTriggerActionTypes();
     if (count($actionTypes) == 0) {
         throw new Ot_Exception_Data('model-trigger-action:noHelpersDefined');
     }
     $actionsWithActionTypes = array();
     foreach ($actions as $a) {
         if (isset($actionTypes[$a['actionKey']])) {
             $a['actionType'] = $actionTypes[$a['actionKey']];
         }
         $actionsWithActionTypes[] = $a;
     }
     $this->_helper->pageTitle('ot-trigger-details:title', $thisTriggerEvent->getName());
     $this->view->assign(array('actions' => $actionsWithActionTypes, 'actionTypes' => $actionTypes, 'triggerEvent' => $thisTriggerEvent));
 }
 /**
  * Display a list of all users in the system.
  *
  */
 public function indexAction()
 {
     $filterStatus = $this->_getParam('status', 'any');
     $filterTrigger = $this->_getParam('trigger', 'any');
     $filterSort = $this->_getParam('sort', 'queueDt');
     $filterDirection = $this->_getParam('direction', 'asc');
     $form = new Ot_Form_EmailqueueSearch();
     $form->populate($_GET);
     $eq = new Ot_Model_DbTable_EmailQueue();
     $select = new Zend_Db_Table_Select($eq);
     if ($filterStatus != '' && $filterStatus != 'any') {
         $select->where('status = ?', $filterStatus);
     }
     if ($filterTrigger != '' && $filterTrigger != 'any') {
         $select->where('attributeName = ?', 'triggerActionId');
         $select->where('attributeId = ?', $filterTrigger);
     }
     $select->order($filterSort . ' ' . $filterDirection);
     $adapter = new Zend_Paginator_Adapter_DbSelect($select);
     $paginator = new Zend_Paginator($adapter);
     $paginator->setCurrentPageNumber($this->_getParam('page', 1));
     $ta = new Ot_Model_DbTable_TriggerAction();
     $actions = $ta->fetchAll();
     $triggers = array();
     foreach ($actions as $a) {
         $triggers[$a->triggerActionId] = $a;
     }
     $this->_helper->pageTitle('ot-emailqueue-index:title');
     $this->view->assign(array('paginator' => $paginator, 'form' => $form, 'interface' => true, 'sort' => $filterSort, 'direction' => $filterDirection, 'triggers' => $triggers));
 }
 public function __construct($options = array())
 {
     parent::__construct($options);
     $this->setAttrib('id', 'emailqueueSearchForm')->setDecorators(array('FormElements', array('HtmlTag', array('tag' => 'div', 'class' => 'well')), 'Form'))->setMethod(Zend_Form::METHOD_GET);
     $status = $this->createElement('select', 'status', array('label' => 'Sending Status:'));
     $status->addMultiOptions(array('any' => 'Any Status', 'waiting' => 'Waiting', 'sent' => 'Sent', 'error' => 'Error'));
     $trigger = $this->createElement('select', 'trigger', array('label' => 'From Trigger:'));
     $trigger->addMultiOption('any', 'Any Trigger');
     $ta = new Ot_Model_DbTable_TriggerAction();
     $actions = $ta->fetchAll(null, array('eventKey', 'name'));
     foreach ($actions as $a) {
         $trigger->addMultiOption($a->triggerActionId, $a->name);
     }
     $this->addElements(array($status, $trigger));
     $this->setElementDecorators(array('ViewHelper', array(array('wrapperField' => 'HtmlTag'), array('tag' => 'div', 'class' => 'elm')), array('Errors', array('placement' => 'append')), array('Label', array('placement' => 'prepend')), array(array('wrapperAll' => 'HtmlTag'), array('tag' => 'div', 'class' => 'criteria'))));
     $sort = $this->createElement('hidden', 'sort');
     $sort->setDecorators(array('ViewHelper'));
     $direction = $this->createElement('hidden', 'direction');
     $direction->setDecorators(array('ViewHelper'));
     $submit = $this->createElement('submit', 'submitButton', array('label' => 'Filter Results'));
     $submit->setAttrib('class', 'btn btn-danger');
     $submit->setDecorators(array(array('ViewHelper', array('helper' => 'formSubmit')), array(array('wrapperAll' => 'HtmlTag'), array('tag' => 'div', 'class' => 'submit')), array('HtmlTag', array('tag' => 'div', 'class' => 'clearfix'))));
     $this->addElements(array($submit, $sort, $direction));
     return $this;
 }