• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

uclibs / ucrate / f9647d14-3fc3-4116-877b-ad4fb3aabedf

18 Jun 2025 07:40PM UTC coverage: 61.334% (+6.8%) from 54.567%
f9647d14-3fc3-4116-877b-ad4fb3aabedf

push

circleci

web-flow
Merge pull request #1178 from uclibs/bundle/update

LIBSCHOLAR-16 Bundle Update PR

2327 of 3794 relevant lines covered (61.33%)

294.28 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/app/controllers/display_users_controller.rb
1
# frozen_string_literal: true
2

3
class DisplayUsersController < Hyrax::UsersController
×
4
  def index
×
5
    all_users = search(params[:uq])
×
6
    filtered_users = exclude_admins_and_non_owners(all_users)
×
7
    @users = get_current_page(filtered_users)
×
8
  end
×
9

10
  def search(query)
×
11
    clause = query.blank? ? nil : "%" + query.downcase.strip + "%"
×
12
    base = ::User.where(*base_query)
×
13
    if clause.present?
×
14
      base = base.where("#{Devise.authentication_keys.first} like lower(?)
×
15
                           OR display_name like lower(?)
×
16
                           OR first_name like lower(?)
×
17
                           OR last_name like lower(?)", clause, clause, clause, clause)
×
18
    end
×
19
    base.where("#{Devise.authentication_keys.first} not in (?)", [::User.batch_user_key, ::User.audit_user_key])
×
20
        .where(guest: false)
×
21
        .references(:trophies)
×
22
        .order(sort_value)
×
23
  end
×
24

25
  protected
×
26

27
  def sort_value
×
28
    sort = params[:sort].presence || "name"
×
29
    case sort
×
30
    when 'name'
×
31
      'last_name'
×
32
    when 'name desc'
×
33
      'last_name DESC'
×
34
    end
×
35
  end
×
36

37
  def exclude_admins_and_non_owners(users)
×
38
    users.to_a.delete_if do |user|
×
39
      !(current_user && current_user&.admin?) && (user_work_count(user)&.zero? || user&.admin?)
×
40
    end
×
41
  end
×
42

43
  def get_current_page(users)
×
44
    ::User.where(id: users.map(&:id)).order(sort_value).page(params[:page]).per(10)
×
45
  end
×
46
end
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc