/**
  * Erzeugt eine neue CollectionRole bzw. speichert eine geänderte ab.
  */
 public function createAction()
 {
     if (!$this->getRequest()->isPost()) {
         return $this->_redirectToAndExit('index');
     }
     $data = $this->getRequest()->getPost();
     $collectionRoleModel = new Admin_Model_CollectionRole($this->getRequest()->getParam('oid'));
     $collectionRole = $collectionRoleModel->getObject();
     $form = new Admin_Form_CollectionRole();
     $form->populate($data);
     if (!$form->isValid($data)) {
         $this->view->form = $this->initCreateRoleForm($form, $collectionRole);
         $this->setTitle($collectionRole);
         return;
     }
     $form->updateModel($collectionRole);
     if (true === $collectionRole->isNewRecord()) {
         $messageKey = 'admin_collectionroles_add';
         if (true === is_null($collectionRole->getRootCollection())) {
             $collectionRole->addRootCollection();
             $collectionRole->getRootCollection()->setVisible('1');
         }
     } else {
         $messageKey = 'admin_collectionroles_edit_notice';
     }
     $collectionRole->store();
     return $this->_redirectTo('index', $this->view->translate($messageKey, $collectionRole->getName()));
 }
 public function testValidationTrueForEditing()
 {
     $form = new Admin_Form_CollectionRole();
     $this->assertTrue($form->isValid(array('Id' => '1', 'Name' => 'institutes', 'OaiName' => 'institutes', 'DisplayBrowsing' => 'Name', 'DisplayFrontdoor' => 'Name,Number')));
 }