Exemplo n.º 1
0
 public function action()
 {
     Exits::exit403If(!Operator::currentOperatorHasAnyOfPermissions([Permissions::PERMISSION_PHPAUTH_MANAGE_OPERATORS]));
     $operator_id = $this->operator_id;
     $operator_obj = Operator::factory($operator_id);
     $html = '<div class="col-md-6">';
     $html .= '<h2>Параметры</h2>';
     $html .= CRUDForm::html($operator_obj, [new CRUDFormRow('title', new CRUDFormWidgetInput('title')), new CRUDFormRow('описание', new CRUDFormWidgetTextarea('description')), new CRUDFormRow('User id', new CRUDFormWidgetReferenceAjax('user_id', User::class, 'login', (new UsersListAjaxAction())->url(), (new UserEditAction('REFERENCED_ID'))->url()))]);
     $new_operator_permission_obj = new OperatorPermission();
     $new_operator_permission_obj->setOperatorId($operator_id);
     $html .= '</div><div class="col-md-6">';
     if (Operator::currentOperatorHasAnyOfPermissions([Permissions::PERMISSION_PHPAUTH_MANAGE_OPERATORS])) {
         $html .= '<h2>Назначенные разрешения</h2>';
         $html .= HTML::div('', '', function () use($operator_id) {
             $new_permissiontouser_obj = new OperatorPermission();
             $new_permissiontouser_obj->setOperatorId($operator_id);
             echo CRUDTable::html(OperatorPermission::class, '', [new \OLOG\CRUD\CRUDTableColumn('Разрешение', new \OLOG\CRUD\CRUDTableWidgetText('{' . Permission::class . '.{this->permission_id}->title}')), new \OLOG\CRUD\CRUDTableColumn('Удалить', new \OLOG\CRUD\CRUDTableWidgetDelete())], [new CRUDTableFilterEqualInvisible('operator_id', $operator_id)], '');
             echo CallapsibleWidget::buttonAndCollapse('Показать все неназначенные разрешения', function () use($operator_id) {
                 $html = CRUDTable::html(Permission::class, '', [new CRUDTableColumn('Разрешение', new CRUDTableWidgetTextWithLink('{this->title}', (new PermissionAddToOperatorAction($operator_id, '{this->id}'))->url())), new CRUDTableColumn('', new CRUDTableWidgetTextWithLink('Добавить оператору', (new PermissionAddToOperatorAction($operator_id, '{this->id}'))->url(), 'btn btn-default btn-xs'))], [new CRUDTableFilterNotInInvisible('id', OperatorPermission::getPermissionIdsArrForOperatorId($operator_id))], 'id', '79687tg8976rt87');
                 return $html;
             });
         });
     }
     $html .= '</div>';
     AdminLayoutSelector::render($html, $this);
 }
Exemplo n.º 2
0
 public function action()
 {
     Exits::exit403If(!Operator::currentOperatorHasAnyOfPermissions([Permissions::PERMISSION_PHPAUTH_MANAGE_OPERATORS, Permissions::PERMISSION_PHPAUTH_MANAGE_USERS]));
     $html = '';
     $html .= '<div>' . HTML::a((new PermissionsListAction())->url(), 'Разрешения') . '</div>';
     $html .= '<div>' . HTML::a((new UsersListAction())->url(), 'Пользователи') . '</div>';
     $html .= '<div>' . HTML::a((new GroupsListAction())->url(), 'Группы') . '</div>';
     $html .= '<div>' . HTML::a((new OperatorsListAction())->url(), 'Операторы') . '</div>';
     AdminLayoutSelector::render($html, $this);
 }
Exemplo n.º 3
0
 public function action()
 {
     Exits::exit403If(!Operator::currentOperatorHasAnyOfPermissions([Permissions::PERMISSION_PHPAUTH_MANAGE_GROUPS]));
     $group_obj = Group::factory($this->getGroupId());
     Exits::exit403If(!OwnerCheck::currentUserOwnsObj($group_obj));
     $html = '';
     $html .= CRUDForm::html($group_obj, [new CRUDFormRow('Title', new CRUDFormWidgetInput(Group::_TITLE))]);
     $html .= self::adminParamsForm($this->group_id);
     $html .= self::usersInGroupTable($this->group_id);
     AdminLayoutSelector::render($html, $this);
 }
Exemplo n.º 4
0
 public function action()
 {
     Exits::exit403If(!Operator::currentOperatorHasAnyOfPermissions([Permissions::PERMISSION_PHPAUTH_MANAGE_OPERATORS]));
     $html = \OLOG\CRUD\CRUDTable::html(\OLOG\Auth\Permission::class, null, [new \OLOG\CRUD\CRUDTableColumn('ID', new \OLOG\CRUD\CRUDTableWidgetText('{this->id}')), new \OLOG\CRUD\CRUDTableColumn('title', new \OLOG\CRUD\CRUDTableWidgetText('{this->title}'))]);
     AdminLayoutSelector::render($html, $this);
 }
Exemplo n.º 5
0
 public function action()
 {
     Exits::exit403If(!Operator::currentOperatorHasAnyOfPermissions([Permissions::PERMISSION_PHPAUTH_MANAGE_USERS]));
     $user_id = $this->user_id;
     $user_obj = User::factory($user_id);
     Exits::exit403If(!OwnerCheck::currentUserOwnsObj($user_obj));
     Operations::matchOperation(self::OPERATION_SET_PASSWORD, function () use($user_id) {
         $new_password = POSTAccess::getOptionalPostValue(self::FIELD_NAME_PASSWORD);
         $new_password_hash = password_hash($new_password, PASSWORD_BCRYPT);
         $user_obj = User::factory($user_id);
         $user_obj->setPasswordHash($new_password_hash);
         $user_obj->save();
     });
     $html = '';
     $html .= '<div class="row"><div class="col-md-6">';
     $html .= self::commonParamsForm($user_id);
     $html .= self::passwordForm();
     $html .= self::userOperatorsTable($user_id);
     $html .= self::adminParamsForm($user_id);
     $html .= '</div><div class="col-md-6">';
     if (Operator::currentOperatorHasAnyOfPermissions([Permissions::PERMISSION_PHPAUTH_MANAGE_USERS_PERMISSIONS])) {
         $html .= '<h2>Разрешения</h2>';
         $html .= HTML::div('', '', function () use($user_id) {
             $new_permissiontouser_obj = new PermissionToUser();
             $new_permissiontouser_obj->setUserId($user_id);
             echo CRUDTable::html(PermissionToUser::class, '', [new \OLOG\CRUD\CRUDTableColumn('Разрешение', new \OLOG\CRUD\CRUDTableWidgetText('{' . Permission::class . '.{this->permission_id}->title}')), new \OLOG\CRUD\CRUDTableColumn('Удалить', new \OLOG\CRUD\CRUDTableWidgetDelete())], [new CRUDTableFilterEqualInvisible('user_id', $user_id)], '');
             echo CallapsibleWidget::buttonAndCollapse('Показать все неназначенные разрешения', function () use($user_id) {
                 $html = CRUDTable::html(Permission::class, '', [new CRUDTableColumn('Разрешение', new CRUDTableWidgetTextWithLink('{this->title}', (new PermissionAddToUserAction($user_id, '{this->id}'))->url())), new CRUDTableColumn('', new CRUDTableWidgetTextWithLink('Добавить пользователю', (new PermissionAddToUserAction($user_id, '{this->id}'))->url(), 'btn btn-default btn-xs'))], [new CRUDTableFilterNotInInvisible('id', PermissionToUser::getPermissionIdsArrForUserId($user_id))], 'id', '79687tg8976rt87');
                 return $html;
             });
         });
     }
     $html .= self::userInGroupsTable($user_id);
     $html .= '</div></div>';
     AdminLayoutSelector::render($html, $this);
 }
Exemplo n.º 6
0
 public function action()
 {
     Exits::exit403If(!Operator::currentOperatorHasAnyOfPermissions([Permissions::PERMISSION_PHPAUTH_MANAGE_OPERATORS]));
     $html = \OLOG\CRUD\CRUDTable::html(\OLOG\Auth\Operator::class, CRUDForm::html(new Operator(), [new CRUDFormRow('user_id', new CRUDFormWidgetReference('user_id', User::class, 'login')), new CRUDFormRow('title', new CRUDFormWidgetInput('title')), new CRUDFormRow('Описание', new CRUDFormWidgetTextarea('description'))]), [new \OLOG\CRUD\CRUDTableColumn('ID', new \OLOG\CRUD\CRUDTableWidgetTextWithLink('{this->id}', (new OperatorEditAction('{this->id}'))->url())), new \OLOG\CRUD\CRUDTableColumn('title', new \OLOG\CRUD\CRUDTableWidgetText('{this->title}')), new \OLOG\CRUD\CRUDTableColumn('описание', new \OLOG\CRUD\CRUDTableWidgetText('{this->description}')), new \OLOG\CRUD\CRUDTableColumn('login', new \OLOG\CRUD\CRUDTableWidgetText('{\\OLOG\\Auth\\User.{this->user_id}->login}'))], [new CRUDTableFilterLike('title_1287318', 'title', 'title'), new CRUDTableFilterLike('description_1287318', 'описание', 'description')], '', '1', \OLOG\CRUD\CRUDTable::FILTERS_POSITION_TOP);
     AdminLayoutSelector::render($html, $this);
 }
Exemplo n.º 7
0
 public function action()
 {
     Exits::exit403If(!Operator::currentOperatorHasAnyOfPermissions([Permissions::PERMISSION_PHPAUTH_MANAGE_USERS]));
     $html = \OLOG\CRUD\CRUDTable::html(\OLOG\Auth\User::class, CRUDForm::html(new User(), [new CRUDFormRow('login', new CRUDFormWidgetInput('login')), new CRUDFormRow('Комментарий', new CRUDFormWidgetTextarea('description'))]), [new \OLOG\CRUD\CRUDTableColumn('Логин', new \OLOG\CRUD\CRUDTableWidgetTextWithLink('{this->login}', (new UserEditAction('{this->id}'))->url())), new \OLOG\CRUD\CRUDTableColumn('Создан', new \OLOG\CRUD\CRUDTableWidgetTimestamp('{this->created_at_ts}')), new \OLOG\CRUD\CRUDTableColumn('Комментарий', new \OLOG\CRUD\CRUDTableWidgetText('{this->description}')), new \OLOG\CRUD\CRUDTableColumn('Основная группа', new \OLOG\CRUD\CRUDTableWidgetText('{' . Group::class . '.{this->' . User::_PRIMARY_GROUP_ID . '}->title}')), new \OLOG\CRUD\CRUDTableColumn('Удалить', new \OLOG\CRUD\CRUDTableWidgetDelete())], [new CRUDTableFilterLike('login_1287318', 'login', 'login'), new CRUDTableFilterLike('description_1287318', 'комментарий', 'description'), new \OLOG\Auth\CRUDTableFilterOwnerInvisible()], 'login', '1', \OLOG\CRUD\CRUDTable::FILTERS_POSITION_TOP);
     AdminLayoutSelector::render($html, $this);
 }
Exemplo n.º 8
0
 public function action()
 {
     Exits::exit403If(!Operator::currentOperatorHasAnyOfPermissions([Permissions::PERMISSION_PHPAUTH_MANAGE_GROUPS]));
     $html = \OLOG\CRUD\CRUDTable::html(\OLOG\Auth\Group::class, CRUDForm::html(new Group(), [new CRUDFormRow('title', new CRUDFormWidgetInput(Group::_TITLE))]), [new \OLOG\CRUD\CRUDTableColumn('Title', new \OLOG\CRUD\CRUDTableWidgetTextWithLink('{this->' . Group::_TITLE . '}', (new GroupEditAction('{this->id}'))->url())), new \OLOG\CRUD\CRUDTableColumn('Создана', new \OLOG\CRUD\CRUDTableWidgetTimestamp('{this->created_at_ts}')), new \OLOG\CRUD\CRUDTableColumn('Удалить', new \OLOG\CRUD\CRUDTableWidgetDelete())], [new CRUDTableFilterLike('wgieruygfigfe', 'Title', Group::_TITLE), new CRUDTableFilterOwnerInvisible()], 'title', '1', \OLOG\CRUD\CRUDTable::FILTERS_POSITION_TOP);
     AdminLayoutSelector::render($html, $this);
 }
Exemplo n.º 9
0
 public function action()
 {
     $html = '<div>TEST CONTENT</div>';
     AdminLayoutSelector::render($html, $this);
 }