public function tearDown()
 {
     if (isset($this->roleId) && isset($this->userId)) {
         $testRole = new Opus_UserRole($this->roleId);
         $testRole->delete();
         $userAccount = new Opus_Account($this->userId);
         $userAccount->delete();
     }
     parent::tearDown();
 }
 public function testRoleNameLikeUserName()
 {
     $userAccount = new Opus_Account();
     $userAccount->setLogin('_test')->setPassword('role_tester');
     $userAccount->setRole(new Opus_UserRole($this->roleId));
     $userId = $userAccount->store();
     Zend_Auth::getInstance()->getStorage()->write('_test');
     $aclProvider = new Application_Security_AclProvider();
     $acl = $aclProvider->getAcls();
     $userAccount->delete();
     $this->assertTrue($acl instanceof Zend_Acl, 'Excpected instance of Zend_Acl');
     $this->assertTrue($acl->isAllowed(Application_Security_AclProvider::ACTIVE_ROLE, 'documents'), "expected user has access to resource 'documents'");
     $this->assertFalse($acl->isAllowed(Application_Security_AclProvider::ACTIVE_ROLE, 'accounts'), "expected user has no access to resource 'account'");
 }
Example #3
0
 /**
  * Deletes account.
  */
 public function deleteAction()
 {
     $accountId = $this->getRequest()->getParam('id');
     $message = null;
     if (!empty($accountId)) {
         $account = new Opus_Account($accountId);
         if (!empty($account)) {
             $currentUser = Zend_Auth::getInstance()->getIdentity();
             // Check that user does not delete himself and protect admin
             // account
             if ($currentUser === strtolower($account->getLogin())) {
                 $message = 'admin_account_error_delete_self';
             } else {
                 if (strtolower($account->getLogin()) === 'admin') {
                     $message = 'admin_account_error_delete_admin';
                 } else {
                     $account->delete();
                 }
             }
         } else {
             $message = 'admin_account_error_badid';
         }
     } else {
         $message = 'admin_account_error_missingid';
     }
     $messages = array();
     if ($message === null) {
         $messages['notice'] = $this->view->translate('admin_account_delete_success');
     } else {
         $messages['failure'] = $this->view->translate($message);
     }
     $this->_redirectTo('index', $messages);
 }