Ejemplo n.º 1
0
 /**
  * List all available users
  *
  * @view /views/scripts/user/index.phtml
  * @access public
  */
 public function indexAction()
 {
     $users = array();
     $rUsers = array();
     if ($this->getRequest()->getParam('deleted', '') === 'show') {
         $rUsers = $this->dbUser->fetchAll();
     } else {
         $rUsers = $this->dbUser->findActiveUsers();
     }
     foreach ($rUsers as $user) {
         $users[] = new Admin_Model_DbRow_User($user);
     }
     $this->view->users = $users;
 }
Ejemplo n.º 2
0
 /**
  * Load all existing Users for the user listing
  *
  * @return array
  * @todo Add a column for enabled/deleted users (front/backend)
  */
 public function loadUserUsersAction()
 {
     $userModel = new Admin_Model_DbTable_Users();
     $groupModel = new Admin_Model_DbTable_Groups();
     $return = array();
     foreach ($userModel->fetchAll() as $userRow) {
         $user = new Admin_Model_DbRow_User($userRow);
         $group = new Admin_Model_DbRow_Group($groupModel->find($user->get('groupid')));
         $return[] = array_merge($user->toJsonArray(), array('groupname' => $group->get('name')));
     }
     return $this->responseSuccess(array('users' => $return));
 }
Ejemplo n.º 3
0
 /**
  * Edit a role and assign users and groups to this role
  *
  * @view /views/scripts/role/edit.phtml
  * @access public
  */
 public function editAction()
 {
     $roleRow = new Admin_Model_DbRow_Role($this->dbRole->find($this->checkRoleIdParam()));
     $groups = array();
     $users = array();
     $inhterits = array();
     foreach ($this->dbGroup->fetchAll() as $row) {
         $groups[] = new Admin_Model_DbRow_Group($row);
     }
     foreach ($this->dbUser->fetchAll() as $row) {
         $users[] = new Admin_Model_DbRow_User($row);
     }
     foreach ($this->dbRole->fetchAll() as $row) {
         $inherit = new Admin_Model_DbRow_Role($row);
         if ($inherit->get('id') !== $roleRow->get('id')) {
             $inhterits[] = $inherit;
         }
     }
     $form = new Admin_Form_Role_Edit($roleRow, $groups, $users, $inhterits);
     if ($this->getRequest()->isPost()) {
         if ($form->isValid($this->getRequest()->getParams())) {
             $selectedGroups = $form->getValue('groups');
             $selectedUsers = $form->getValue('users');
             $roleInheritance = $form->getValue('inherit');
             $this->dbRole->update($roleRow->toDbArray(array('name', 'description')), $roleRow->get('id'));
             // delete current settings
             $this->dbRoleInherit->deleteWithRoleId($roleRow->get('id'));
             $this->dbRoleMember->deleteWithRoleId($roleRow->get('id'));
             // add the new setting
             foreach ($roleInheritance as $inherit) {
                 // dont insert "no inheritance" in the database or self as inheritance
                 if ($inherit == 0 || $inherit == $roleRow->get('id')) {
                     continue;
                 }
                 $this->dbRoleInherit->insert($roleRow->get('id'), $inherit);
             }
             foreach ($selectedGroups as $group) {
                 $this->dbRoleMember->insert($roleRow->get('id'), $group, Admin_Model_DbTable_Acl_RoleMember::MEMBER_TYPE_GROUP);
             }
             foreach ($selectedUsers as $user) {
                 $this->dbRoleMember->insert($roleRow->get('id'), $user, Admin_Model_DbTable_Acl_RoleMember::MEMBER_TYPE_USER);
             }
             $this->_redirect('admin/role/index');
         }
     }
     $form->getElement('groups')->setValue($this->dbRoleMember->getRoleBindingToId($roleRow->get('id'), Admin_Model_DbTable_Acl_RoleMember::MEMBER_TYPE_GROUP));
     $form->getElement('users')->setValue($this->dbRoleMember->getRoleBindingToId($roleRow->get('id'), Admin_Model_DbTable_Acl_RoleMember::MEMBER_TYPE_USER));
     $form->getElement('inherit')->setValue($this->dbRoleInherit->getInheritedRoles($roleRow->get('id')));
     $this->view->form = $form;
 }