Ejemplo n.º 1
0
 /**
  * Show a group
  */
 public function showAction()
 {
     $this->assertPermission('config/authentication/groups/show');
     $groupName = $this->params->getRequired('group');
     $backend = $this->getUserGroupBackend($this->params->getRequired('backend'));
     $group = $backend->select(array('group_name', 'created_at', 'last_modified'))->where('group_name', $groupName)->fetchRow();
     if ($group === false) {
         $this->httpNotFound(sprintf($this->translate('Group "%s" not found'), $groupName));
     }
     $members = $backend->select()->from('group_membership', array('user_name'))->where('group_name', $groupName);
     $filterEditor = Widget::create('filterEditor')->setQuery($members)->setSearchColumns(array('user'))->preserveParams('limit', 'sort', 'dir', 'view', 'backend', 'group')->ignoreParams('page')->handleRequest($this->getRequest());
     $members->applyFilter($filterEditor->getFilter());
     $this->setupFilterControl($filterEditor);
     $this->setupPaginationControl($members);
     $this->setupLimitControl();
     $this->setupSortControl(array('user_name' => $this->translate('Username'), 'created_at' => $this->translate('Created at'), 'last_modified' => $this->translate('Last modified')), $members);
     $this->view->group = $group;
     $this->view->backend = $backend;
     $this->view->members = $members;
     $this->createShowTabs($backend->getName(), $groupName)->activate('group/show');
     if ($this->hasPermission('config/authentication/groups/edit') && $backend instanceof Reducible) {
         $removeForm = new Form();
         $removeForm->setUidDisabled();
         $removeForm->setAction(Url::fromPath('group/removemember', array('backend' => $backend->getName(), 'group' => $groupName)));
         $removeForm->addElement('hidden', 'user_name', array('isArray' => true, 'decorators' => array('ViewHelper')));
         $removeForm->addElement('hidden', 'redirect', array('value' => Url::fromPath('group/show', array('backend' => $backend->getName(), 'group' => $groupName)), 'decorators' => array('ViewHelper')));
         $removeForm->addElement('button', 'btn_submit', array('escape' => false, 'type' => 'submit', 'class' => 'link-like', 'value' => 'btn_submit', 'decorators' => array('ViewHelper'), 'label' => $this->view->icon('trash'), 'title' => $this->translate('Remove this member')));
         $this->view->removeForm = $removeForm;
     }
 }
Ejemplo n.º 2
0
 /**
  * List all shared navigation items
  */
 public function sharedAction()
 {
     $this->assertPermission('config/application/navigation');
     $config = Config::app('navigation');
     $config->getConfigObject()->setKeyColumn('name');
     $query = $config->select();
     $removeForm = new Form();
     $removeForm->setUidDisabled();
     $removeForm->setAction(Url::fromPath('navigation/unshare'));
     $removeForm->addElement('hidden', 'name', array('decorators' => array('ViewHelper')));
     $removeForm->addElement('hidden', 'redirect', array('value' => Url::fromPath('navigation/shared'), 'decorators' => array('ViewHelper')));
     $removeForm->addElement('button', 'btn_submit', array('escape' => false, 'type' => 'submit', 'class' => 'link-like spinner', 'value' => 'btn_submit', 'decorators' => array('ViewHelper'), 'label' => $this->view->icon('trash'), 'title' => $this->translate('Unshare this navigation item')));
     $this->view->removeForm = $removeForm;
     $this->view->types = $this->listItemTypes();
     $this->view->items = $query;
     $this->getTabs()->add('navigation/shared', array('title' => $this->translate('List and configure shared navigation items'), 'label' => $this->translate('Shared Navigation'), 'url' => 'navigation/shared'))->activate('navigation/shared');
     $this->setupSortControl(array('type' => $this->translate('Type'), 'owner' => $this->translate('Owner'), 'name' => $this->translate('Shared Navigation')), $query);
 }
Ejemplo n.º 3
0
 /**
  * Render this widget
  *
  * @return string                   The HTML of the widget as a string
  */
 public function render()
 {
     $view = $this->view();
     $form = new Form();
     $form->setAttrib('class', 'inline');
     $form->setMethod('GET');
     $form->setAction(Url::fromPath('/filter'));
     $form->setTokenDisabled();
     $form->addElement('text', 'query', array('name' => 'query', 'placeholder' => 'Add filter'));
     $query = $form->getElement('query')->setDecorators(array('ViewHelper'));
     $badges = new FilterBadgeRenderer($this->initialFilter);
     return '<div class="pull-right">' . $badges->render($view) . '</div>' . $form;
     $html = str_replace('{{FORM}}', $form->render($view), self::$TPL);
     $html = '<div class="input-append">' . $html . '</div>';
     return str_replace('{{BADGES}}', $badges->render($view), $html);
 }
Ejemplo n.º 4
0
 /**
  * Render the form for removing a dashboard elemetn
  *
  * @return string                       The html representation of the form
  */
 protected function getRemoveForm()
 {
     // TODO: temporarily disabled, should point to a form asking for confirmal
     return '';
     $removeUrl = Url::fromPath('/dashboard/removecomponent', array('pane' => $this->pane->getName(), 'component' => $this->getTitle()));
     $form = new Form();
     $form->setMethod('POST');
     $form->setAttrib('class', 'inline');
     $form->setAction($removeUrl);
     $form->addElement(new Zend_Form_Element_Button('remove_pane_btn', array('class' => 'link-like pull-right', 'type' => 'submit', 'label' => 'x')));
     return $form;
 }
Ejemplo n.º 5
0
 /**
  * Renders this widget via the given view and returns the
  * HTML as a string
  *
  * @return  string
  */
 public function render()
 {
     $form = new Form();
     $form->setAttrib('class', 'inline');
     $form->setMethod('GET');
     $form->setTokenDisabled();
     $form->setName($this->name);
     $form->addElement('select', 'sort', array('label' => 'Sort By', 'multiOptions' => $this->sortFields, 'class' => 'autosubmit'));
     $form->addElement('select', 'dir', array('multiOptions' => array('desc' => 'Desc', 'asc' => 'Asc'), 'class' => 'autosubmit'));
     $sort = $form->getElement('sort')->setDecorators(array('ViewHelper'));
     $dir = $form->getElement('dir')->setDecorators(array('ViewHelper'));
     // $form->enableAutoSubmit(array('sort', 'dir'));
     // $form->addElement($this->createFallbackSubmitButton());
     if ($this->request) {
         $form->setAction($this->request->getRequestUri());
         $form->populate($this->request->getParams());
     }
     return $form;
 }