/**
  * The form for selecting the patch level
  *
  * @return \Gems_Form
  */
 protected function _getSelectForm()
 {
     $form = new \Gems_Form(array('name' => 'autosubmit', 'class' => 'form-inline', 'role' => 'form'));
     $form->setHtml('div');
     $div = $form->getHtml();
     $div->class = 'search';
     $span = $div->div(array('class' => 'panel panel-default'))->div(array('class' => 'inputgroup panel-body'));
     $element = $form->createElement('select', 'gpa_level', array('multiOptions' => $this->patchLevels, 'onchange' => 'this.form.submit();', 'onkeyup' => 'this.form.submit();'));
     $element->setValue($this->getPatchLevel());
     $span->input($element);
     $form->addElement($element);
     $submit = $form->createElement('submit', 'search', array('label' => $this->_('Search'), 'class' => 'button small'));
     $span->input($submit);
     $form->addElement($submit);
     return $form;
 }
 /**
  * Add an element to the form, when a tab (subform) had been added, it will return
  * the subform instead of the form, keep this in mind when chaining methods
  *
  * @param  string|\Zend_Form_Element $element
  * @param  string $name
  * @param  array|\Zend_Config $options
  * @throws \Zend_Form_Exception on invalid element
  * @return \Gems_TabForm|\Gems_Form_TabSubForm
  */
 public function addElement($element, $name = null, $options = null)
 {
     if ($this->currentTab) {
         return $this->currentTab->addElement($element, $name, $options);
     } else {
         parent::addElement($element, $name, $options);
         if (is_string($element)) {
             $element = $this->getElement($name);
         }
         //$this->addToOtherGroup($element); // Causes duplicate links on old browse edit
         if ($element instanceof \Zend_Form_Element_Hidden) {
             //Remove decorators
             $element->removeDecorator('HtmlTag');
             $element->removeDecorator('Label');
             $element->removeDecorator('DtDdWrapper');
         } elseif ($element instanceof \Zend_Form_Element) {
             $element->removeDecorator('DtDdWrapper');
             if ($element instanceof \MUtil_Form_Element_Html) {
                 $element->removeDecorator('HtmlTag');
                 $element->removeDecorator('Label');
             }
             $error = $element->getDecorator('Errors');
             if ($error instanceof \Zend_Form_Decorator_Errors) {
                 $element->removeDecorator('Errors');
                 $element->addDecorator($error);
             }
         }
         return $this;
     }
 }
 /**
  * Creates a fake form so that it is (slightly) easier to
  * copy and paste a token.
  *
  * @param string $value Gems token value
  * @return \Gems_Form
  */
 public static function makeFakeForm($value)
 {
     $form = new \Gems_Form();
     $form->removeDecorator('HtmlTag');
     $element = new \Zend_Form_Element_Text('gto_id_token');
     $element->class = 'token_copy';
     $element->setDecorators(array('ViewHelper', array('HtmlTag', 'Div')));
     $form->addElement($element);
     $form->isValid(array('gto_id_token' => \MUtil_Lazy::call('strtoupper', $value)));
     return $form;
 }
 /**
  * Constructs the form
  *
  * @param boolean $hideGroup When true group checkbox is hidden
  * @return \Gems_Form_TableForm
  */
 public function getForm($hideGroup = false)
 {
     $form = new \Gems_Form();
     $form->setAttrib('target', '_blank');
     if ($hideGroup) {
         $element = new \Zend_Form_Element_Hidden('group');
     } else {
         $element = new \Zend_Form_Element_Checkbox('group');
         $element->setLabel($this->_('Group surveys'));
     }
     $element->setValue(1);
     $form->addElement($element);
     $element = new \Zend_Form_Element_Select('format');
     $element->setLabel($this->_('Output format'));
     $outputFormats = array('html' => 'HTML');
     if ($this->_pdf->hasPdfExport()) {
         $outputFormats['pdf'] = 'PDF';
         $element->setValue('pdf');
     }
     $element->setMultiOptions($outputFormats);
     $form->addElement($element);
     $element = new \Zend_Form_Element_Submit('export');
     $element->setLabel($this->_('Export'))->setAttrib('class', 'button');
     $form->addElement($element);
     $links = $this->menu->getMenuList();
     $links->addParameterSources($this->request, $this->menu->getParameterSource());
     $links->addCurrentParent($this->_('Cancel'));
     if (count($links)) {
         $element = new \MUtil_Form_Element_Html('menuLinks');
         $element->setValue($links);
         // $element->setOrder(999);
         $form->addElement($element);
     }
     return $form;
 }