User - Пользователь

Поля

КлючТипНазваниеОписание
idintegerID
loginstringЛогин
firstnamestringИмя
lastnamestringФамилия
mailstringПочта
namestringФорматированное имяФормат определяется в настройках системы

Методы

  • 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 - системный пользователь