2020-07-28 23:09:34 +05:30
|
|
|
- page_title _("Users")
|
2015-09-11 14:41:01 +05:30
|
|
|
|
2019-12-04 20:38:33 +05:30
|
|
|
.top-area.scrolling-tabs-container.inner-page-scroll-tabs
|
|
|
|
.fade-left
|
2020-07-28 23:09:34 +05:30
|
|
|
= sprite_icon('chevron-lg-left', size: 12)
|
2019-12-04 20:38:33 +05:30
|
|
|
.fade-right
|
2020-07-28 23:09:34 +05:30
|
|
|
= sprite_icon('chevron-lg-right', size: 12)
|
2019-12-04 20:38:33 +05:30
|
|
|
%ul.nav-links.nav.nav-tabs.scrolling-tabs
|
|
|
|
= nav_link(html_options: { class: active_when(params[:filter].nil?) }) do
|
|
|
|
= link_to admin_users_path do
|
|
|
|
= s_('AdminUsers|Active')
|
2020-03-13 15:44:24 +05:30
|
|
|
%small.badge.badge-pill= limited_counter_with_delimiter(User.active_without_ghosts)
|
2019-12-04 20:38:33 +05:30
|
|
|
= nav_link(html_options: { class: active_when(params[:filter] == 'admins') }) do
|
|
|
|
= link_to admin_users_path(filter: "admins") do
|
|
|
|
= s_('AdminUsers|Admins')
|
|
|
|
%small.badge.badge-pill= limited_counter_with_delimiter(User.admins)
|
|
|
|
= nav_link(html_options: { class: "#{active_when(params[:filter] == 'two_factor_enabled')} filter-two-factor-enabled" }) do
|
|
|
|
= link_to admin_users_path(filter: 'two_factor_enabled') do
|
|
|
|
= s_('AdminUsers|2FA Enabled')
|
|
|
|
%small.badge.badge-pill= limited_counter_with_delimiter(User.with_two_factor)
|
|
|
|
= nav_link(html_options: { class: "#{active_when(params[:filter] == 'two_factor_disabled')} filter-two-factor-disabled" }) do
|
|
|
|
= link_to admin_users_path(filter: 'two_factor_disabled') do
|
|
|
|
= s_('AdminUsers|2FA Disabled')
|
|
|
|
%small.badge.badge-pill= limited_counter_with_delimiter(User.without_two_factor)
|
|
|
|
= nav_link(html_options: { class: active_when(params[:filter] == 'external') }) do
|
|
|
|
= link_to admin_users_path(filter: 'external') do
|
|
|
|
= s_('AdminUsers|External')
|
|
|
|
%small.badge.badge-pill= limited_counter_with_delimiter(User.external)
|
|
|
|
= nav_link(html_options: { class: active_when(params[:filter] == 'blocked') }) do
|
|
|
|
= link_to admin_users_path(filter: "blocked") do
|
|
|
|
= s_('AdminUsers|Blocked')
|
|
|
|
%small.badge.badge-pill= limited_counter_with_delimiter(User.blocked)
|
2021-01-03 14:25:43 +05:30
|
|
|
- if Feature.enabled?(:admin_approval_for_new_user_signups, default_enabled: true)
|
|
|
|
= nav_link(html_options: { class: "#{active_when(params[:filter] == 'blocked_pending_approval')} filter-blocked-pending-approval" }) do
|
|
|
|
= link_to admin_users_path(filter: "blocked_pending_approval") do
|
|
|
|
= s_('AdminUsers|Pending approval')
|
|
|
|
%small.badge.badge-pill= limited_counter_with_delimiter(User.blocked_pending_approval)
|
2019-12-21 20:55:43 +05:30
|
|
|
= nav_link(html_options: { class: active_when(params[:filter] == 'deactivated') }) do
|
|
|
|
= link_to admin_users_path(filter: "deactivated") do
|
|
|
|
= s_('AdminUsers|Deactivated')
|
|
|
|
%small.badge.badge-pill= limited_counter_with_delimiter(User.deactivated)
|
2019-12-04 20:38:33 +05:30
|
|
|
= nav_link(html_options: { class: active_when(params[:filter] == 'wop') }) do
|
|
|
|
= link_to admin_users_path(filter: "wop") do
|
|
|
|
= s_('AdminUsers|Without projects')
|
|
|
|
%small.badge.badge-pill= limited_counter_with_delimiter(User.without_projects)
|
|
|
|
.nav-controls
|
|
|
|
= render_if_exists 'admin/users/admin_email_users'
|
2020-11-24 15:15:51 +05:30
|
|
|
= link_to s_('AdminUsers|New user'), new_admin_user_path, class: 'btn gl-button btn-success btn-search float-right'
|
2019-03-02 22:35:43 +05:30
|
|
|
|
2019-12-04 20:38:33 +05:30
|
|
|
.filtered-search-block.row-content-block.border-top-0
|
|
|
|
= form_tag admin_users_path, method: :get do
|
|
|
|
- if params[:filter].present?
|
|
|
|
= hidden_field_tag "filter", h(params[:filter])
|
|
|
|
.search-holder
|
|
|
|
.search-field-holder
|
2019-12-21 20:55:43 +05:30
|
|
|
= search_field_tag :search_query, params[:search_query], placeholder: s_('AdminUsers|Search by name, email or username'), class: 'form-control search-text-input js-search-input', spellcheck: false, data: { qa_selector: 'user_search_field' }
|
2019-12-04 20:38:33 +05:30
|
|
|
- if @sort.present?
|
|
|
|
= hidden_field_tag :sort, @sort
|
2021-01-03 14:25:43 +05:30
|
|
|
= sprite_icon('search', css_class: 'search-icon')
|
2019-12-04 20:38:33 +05:30
|
|
|
= button_tag s_('AdminUsers|Search users') if Rails.env.test?
|
|
|
|
.dropdown.user-sort-dropdown
|
2019-12-21 20:55:43 +05:30
|
|
|
= label_tag 'Sort by', nil, class: 'label-bold'
|
2019-12-04 20:38:33 +05:30
|
|
|
- toggle_text = @sort.present? ? users_sort_options_hash[@sort] : sort_title_name
|
|
|
|
= dropdown_toggle(toggle_text, { toggle: 'dropdown' })
|
|
|
|
%ul.dropdown-menu.dropdown-menu-right
|
|
|
|
%li.dropdown-header
|
|
|
|
= s_('AdminUsers|Sort by')
|
|
|
|
%li
|
|
|
|
- users_sort_options_hash.each do |value, title|
|
|
|
|
= link_to admin_users_path(sort: value, filter: params[:filter], search_query: params[:search_query]) do
|
|
|
|
= title
|
2014-09-02 18:07:02 +05:30
|
|
|
|
2019-12-04 20:38:33 +05:30
|
|
|
- if @users.empty?
|
|
|
|
.nothing-here-block.border-top-0
|
|
|
|
= s_('AdminUsers|No users found')
|
|
|
|
- else
|
|
|
|
.table-holder
|
|
|
|
.thead-white.text-nowrap.gl-responsive-table-row.table-row-header{ role: 'row' }
|
|
|
|
.table-section.section-40{ role: 'rowheader' }= _('Name')
|
2021-01-03 14:25:43 +05:30
|
|
|
.table-section.section-10{ role: 'rowheader' }= _('Projects')
|
|
|
|
.table-section.section-15{ role: 'rowheader' }= _('Created on')
|
2019-12-04 20:38:33 +05:30
|
|
|
.table-section.section-15{ role: 'rowheader' }= _('Last activity')
|
2016-01-19 16:12:03 +05:30
|
|
|
|
2019-12-04 20:38:33 +05:30
|
|
|
= render partial: 'admin/users/user', collection: @users
|
2016-01-19 16:12:03 +05:30
|
|
|
|
2019-12-04 20:38:33 +05:30
|
|
|
= paginate @users, theme: "gitlab"
|
2018-03-17 18:26:18 +05:30
|
|
|
|
2019-12-21 20:55:43 +05:30
|
|
|
= render partial: 'admin/users/modals'
|