Esempio n. 1
0
 public function testGetRolesMultiOptions()
 {
     $element = new Application_Form_Element_Roles('Roles');
     $options = $element->getRolesMultiOptions();
     $this->assertEquals(count(Opus_UserRole::getAll()), count($options));
     foreach ($options as $value => $label) {
         $this->assertEquals($value, $label);
     }
 }
Esempio n. 2
0
 public function getRolesMultiOptions()
 {
     $roles = Opus_UserRole::getAll();
     $options = array();
     foreach ($roles as $role) {
         $roleName = $role->getDisplayName();
         $options[$roleName] = $roleName;
     }
     return $options;
 }
Esempio n. 3
0
 /**
  * Initialize model with the following fields:
  * - staringip
  * - endingip
  * - Name
  *
  * @return void
  */
 protected function _init()
 {
     $startingip = new Opus_Model_Field('Startingip');
     $endingip = new Opus_Model_Field('Endingip');
     $name = new Opus_Model_Field('Name');
     $role = new Opus_Model_Field('Role');
     $startingip->setMandatory(true)->setValidator(new Zend_Validate_NotEmpty())->setValidator(new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_IP));
     $endingip->setMandatory(true)->setValidator(new Zend_Validate_NotEmpty())->setValidator(new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_IP));
     $role->setMultiplicity('*')->setDefault(Opus_UserRole::getAll())->setSelection(true);
     $this->addField($startingip)->addField($endingip)->addField($name)->addField($role);
 }
 /**
  * Shows list of all roles.
  */
 public function indexAction()
 {
     $this->view->title = $this->view->translate('admin_role_index');
     $roles = Opus_UserRole::getAll();
     if (empty($roles)) {
         $this->view->render('none');
     } else {
         $this->view->roles = array();
         foreach ($roles as $role) {
             $this->view->roles[$role->getId()] = $role->getDisplayName();
         }
     }
     $this->view->protectedRoles = self::$_protectedRoles;
 }
Esempio n. 5
0
 public static function parseSelectedRoleNames($postData)
 {
     $roles = Opus_UserRole::getAll();
     $selectedRoles = array();
     foreach ($roles as $roleName) {
         $keyName = 'role' . $roleName;
         // FIXME: Kludge to avoid undefined array indices.
         if (!array_key_exists($keyName, $postData)) {
             continue;
         }
         // If role-checkbox is activated, add role to returned array.
         if ($postData[$keyName]) {
             $selectedRoles[] = $roleName;
         }
     }
     return $selectedRoles;
 }
Esempio n. 6
0
 public function getRolesForFile($fileId)
 {
     $checkedRoles = array();
     $roles = Opus_UserRole::getAll();
     $items = array();
     foreach ($roles as $role) {
         $files = $role->listAccessFiles();
         if (in_array($fileId, $files)) {
             array_push($checkedRoles, $role->getName());
         }
     }
     return $checkedRoles;
 }
 /**
  * Stores roles for document.
  *
  * @param <type> $request
  *
  * TODO Is it a problem if document is append twice?
  */
 private function storeRoles($request)
 {
     $docId = $request->getParam('docid');
     $roles = Opus_UserRole::getAll();
     foreach ($roles as $role) {
         $roleName = $role->getName();
         $checked = $request->getParam($roleName);
         if ($checked) {
             $role->appendAccessDocument($docId);
             $role->store();
         } else {
             $role->removeAccessDocument($docId);
             $role->store();
         }
     }
 }