public function init()
 {
     parent::init();
     $element = new Zend_Form_Element_Select('hm_op_category_id');
     $element->setLabel('Categorie')->addMultiOption('', '...')->setRequired(true);
     foreach (Model_Hm_Op_Category::listAll()->execute() as $category) {
         $element->addMultiOption($category->id, $category->translationHandler()->name);
     }
     $this->addElement($element)->addDisplayGroup(array('hm_op_category_id'), 'category', array('legend' => 'Categorie'));
     $subForm = new Zend_Form_SubForm('Translation');
     $langs = Model_Hm_Lang::listAll();
     foreach ($langs as $lang) {
         $subSubForm = new Zend_Form_SubForm($lang->code);
         $element = new Zend_Form_Element_Text('name');
         $element->setLabel('Naam')->setAttrib('maxlength', 64)->setValidators(array(array('stringLength', false, array('min' => 4, 'max' => 64))))->setRequired(true);
         $subSubForm->addElement($element);
         $element = new Zend_Form_Element_Textarea('description');
         $element->setLabel('Omschrijving')->setRequired(true)->setValidators(array(array('stringLength', false, array('min' => 40))))->setAttrib('class', 'autoexpand')->setAttrib('rows', 2);
         $subSubForm->addElement($element);
         $subSubForm->addDisplayGroup(array('name', 'description'), $lang->code, array('legend' => $lang->name, 'class' => 'textarea'));
         $subForm->addSubForm($subSubForm, $lang->code);
         $this->bhvkSubDecorators($subSubForm);
     }
     $this->addSubForm($subForm, 'Translation');
     $this->bhvkSubDecorators($subForm);
     $element = new Zend_Form_Element_Submit('submit_option');
     $element->setLabel('Verwerken')->setAttrib('class', 'submit');
     $this->addElement($element)->addDisplayGroup(array('submit_option'), 'submit', array('class' => 'submit'));
     $this->bhvkDecorators();
     $this->bhvkDecorateSubmit('submit_option');
 }
 public function editAction()
 {
     $this->_helper->layout()->setLayout('submenu');
     $form = $this->_getForm();
     $id = $this->_getParam('id');
     $this->view->form = $form;
     $category = Model_Hm_Op_Category::findOneByIdForAdmin($id)->fetchOne();
     $form->populate($category->toArray(true));
     if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
         $category->fromArray($form->getValues());
         $category->save();
         $this->_helper->redirector('admin', 'options', null);
     }
 }
 public function adminAction()
 {
     $this->_helper->layout()->setLayout('submenu');
     $this->view->categories = Model_Hm_Op_Category::findAllForAdmin()->execute();
 }