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

pulibrary / orangelight / 4c391e0e-519a-40cb-8ad3-354445f4ce03

12 Aug 2025 08:47PM UTC coverage: 85.348% (-10.0%) from 95.335%
4c391e0e-519a-40cb-8ad3-354445f4ce03

push

circleci

web-flow
[#5143] Use access restriction note as Aeon ItemInfo1 if available (#5173)

With this commit, if a user visits a record with an access
restrictions note and presses the Reading Room Request
button, they will get to an Aeon form with the 'Restrictions'
field pre-filled with the restriction note.

If the record does not have an access restrictions note,
the field will be pre-filled with 'Reading Room Access Only',
as it has been previously.

Closes #5143

5493 of 6436 relevant lines covered (85.35%)

251.82 hits per line

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

40.74
/app/services/db_migrate_uppercase_usernames.rb
1
# frozen_string_literal: false
2

3
class DBMigrateUppercaseUsernames
1✔
4
  def self.run
1✔
5
    new.run
×
6
  end
7

8
  def run
1✔
9
    find_uppercase_users.map { |uppercase_user| UserLowercaser.new(uppercase_user).convert }
×
10
  end
11

12
  # find all users with uppercase letters in their username
13
  def find_uppercase_users
1✔
14
    User.where("uid ~ ?", "[A-Z]").to_a
×
15
  end
16

17
  class UserLowercaser
1✔
18
    attr_reader :uppercase_user
1✔
19

20
    def initialize(uppercase_user)
1✔
21
      @uppercase_user = uppercase_user
×
22
    end
23

24
    def convert
1✔
25
      lowercase_user = find_lowercase_user
×
26
      merge_bookmarks(lowercase_user)
×
27
      merge_searches(lowercase_user)
×
28
    end
29

30
    # find lowercase version of the user with uppercase letters in their username
31
    def find_lowercase_user
1✔
32
      User.find_by(username: uppercase_user.uid.downcase) || User.create(uid: uppercase_user.uid.downcase, username: uppercase_user.uid.downcase)
×
33
    end
34

35
    # merge uppercase user's bookmarks into lowercase user's bookmarks
36
    def merge_bookmarks(lowercase_user)
1✔
37
      uppercase_user_bookmarks = Bookmark.where(user_id: uppercase_user.id)
×
38
      lowercase_user_bookmarks = Bookmark.where(user_id: lowercase_user.id).to_a
×
39
      lowercase_bookmarks_doc_ids = lowercase_user_bookmarks.map(&:document_id)
×
40
      lowercase_user.bookmarks = lowercase_user_bookmarks + uppercase_user_bookmarks.reject { |bookmark| lowercase_bookmarks_doc_ids.include? bookmark.document_id }
×
41
    end
42

43
    # merge uppercase user's searches into lowercase user's searches
44
    def merge_searches(lowercase_user)
1✔
45
      uppercase_user_searches = Search.where(user_id: uppercase_user.id)
×
46
      lowercase_user_searches = Search.where(user_id: lowercase_user.id).to_a
×
47
      lowercase_searches_queries = lowercase_user_searches.map(&:query_params)
×
48
      lowercase_user.searches = lowercase_user_searches + uppercase_user_searches.reject { |search| lowercase_searches_queries.include? search.query_params }
×
49
    end
50
  end
51
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

© 2025 Coveralls, Inc