Пример #1
0
 public function getRole($createIfNotExist = false)
 {
     if (!isset($this->role)) {
         $this->role = \Rebond\Core\Role\Data::loadById($this->roleId, $createIfNotExist);
     }
     return $this->role;
 }
Пример #2
0
 public function buildRole()
 {
     $options = [];
     $options['clearSelect'] = true;
     $options['select'][] = \Rebond\Core\Role\Data::getList(['id', 'title']);
     $models = \Rebond\Core\Role\Data::loadAll($options);
     return Util\Form::buildDropdownList('roleId' . $this->unique, $models, 'id', 'title', $this->getModel()->getRoleId(), $this->roleValidator['foreignKey']);
 }
Пример #3
0
 public function buildRoles()
 {
     $items = \Rebond\Core\Role\Data::loadAll();
     $roles = \Rebond\Core\UserRole\Data::loadAllByUserId($this->getModel()->getId());
     $selectedValues = [];
     if (isset($roles) && count($roles)) {
         foreach ($roles as $role) {
             $selectedValues[] = $role->getRoleId();
         }
     }
     return Util\Form::buildCheckboxList('role' . $this->unique, $items, 'id', 'title', $selectedValues);
 }
Пример #4
0
 protected static function mapper(array $row, $alias = 'role_permission')
 {
     $model = new \Rebond\Core\RolePermission\Model(false);
     if (isset($row[$alias . 'RoleId'])) {
         $model->setRoleId($row[$alias . 'RoleId']);
         $model->setRole(\Rebond\Core\Role\Data::join($row, $alias . '_role'));
     }
     if (isset($row[$alias . 'PermissionId'])) {
         $model->setPermissionId($row[$alias . 'PermissionId']);
         $model->setPermission(\Rebond\Core\Permission\Data::join($row, $alias . '_permission'));
     }
     return $model;
 }
Пример #5
0
 public function role_permission()
 {
     // auth
     Auth::isAdminAuthorized($this->signedUser, 'admin.user.role', true, '/user/role');
     // check
     $id = Converter::int('id');
     $permissionIds = Converter::arr('permission', 'post');
     $role = \Rebond\Core\Role\Data::loadById($id);
     if (!isset($role)) {
         Session::adminError('itemNotFound', [$id], '/user/role');
     }
     $form = new \Rebond\Core\Role\Form($role);
     // action
     if (isset($_POST['save'])) {
         Auth::isAdminAuthorized($this->signedUser, 'admin.user.role.edit', true, '/user/role-permission?id=' . $id);
         \Rebond\Core\RolePermission\Data::deleteByRoleId($id);
         $newPermissions = [];
         if (isset($permissionIds)) {
             foreach ($permissionIds as $permissionId) {
                 $rolePermission = new \Rebond\Core\RolePermission\Model();
                 $rolePermission->setRoleId($role->getId());
                 $rolePermission->setPermissionId($permissionId);
                 $newPermissions[] = $rolePermission;
             }
         }
         \Rebond\Core\RolePermission\Data::saveAll($newPermissions);
         Session::adminSuccess('saved', '/user/role');
     }
     // view
     $this->setTpl();
     // main
     $tplMain = new Template(Template::MODULE, ['core', 'role']);
     $tplMain->set('item', $form);
     // layout
     if (Auth::isAdminAuthorized($this->signedUser, 'admin.user.role.edit', false)) {
         $this->tplLayout->set('column1', $tplMain->render('editor-permission'));
     } else {
         // @todo create viewer-permission template
         $this->tplLayout->set('column1', $tplMain->render('editor-permission'));
     }
     // master
     $this->tplMaster->set('layout', $this->tplLayout->render('layout-1-col'));
     return $this->tplMaster->render('tpl-default');
 }
Пример #6
0
 protected static function mapper(array $row, $alias = 'user_role')
 {
     $model = new \Rebond\Core\UserRole\Model(false);
     if (isset($row[$alias . 'UserId'])) {
         $model->setUserId($row[$alias . 'UserId']);
         $model->setUser(\Rebond\Core\User\Data::join($row, $alias . '_user'));
     }
     if (isset($row[$alias . 'RoleId'])) {
         $model->setRoleId($row[$alias . 'RoleId']);
         $model->setRole(\Rebond\Core\Role\Data::join($row, $alias . '_role'));
     }
     return $model;
 }