User - Пользователь
Поля
Ключ | Тип | Название | Описание |
---|---|---|---|
id | integer | ID | |
login | string | Логин | |
firstname | string | Имя | |
lastname | string | Фамилия | |
string | Почта | ||
name | string | Форматированное имя | Формат определяется в настройках системы |
Методы
-
pref - настройки пользователя
-
in_group?(group: Group | Symbol | string | integer) - проверка что пользователь состоит в группе group. ```ruby user.in_group?(1) user.in_group?("Group name") user.in_group?(:group_123) user.in_group?(Group.find(123))
-
has_role_in_project?(role: Symbol | string | integer, project: Project | string | integer) - является ли пользователь участников проекта (project) с ролью (role) ```ruby user.has_role_in_project?(:member, 'demo-project') user.has_role_in_project?(2, 4) user.has_role_in_project?('Member', Project.find('demo-project'))
-
allowed_to?(action, context, global: false) - проверка прав на действие action в контексте context (проект или глобальный)
-
allowed_to_globally?(action) - проверка прав на глобальное действие
-
allowed_to_in_project?(action, project) - проверка прав на действие в рамках проекта
Фильтры
- blocked - выбрать заблокированных пользователей
- not_blocked - выбрать не заблокированных пользователей
- admin - выбрать администраторов
- like(query) - поиск по ФИО, login, email
- visible(user = ::User.current) - выбрать пользователей видимых для тек. пользователя или произвольного пользователя
Статические методы
- current - текущий авторизованный пользователей
- system - системный пользователь