ucb_rails_user 8.0.3 → 8.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 918695706c657e124473ab9b924deba0613340af5fec3de9db28c8e67cbe5512
4
- data.tar.gz: a53245a84b4150f134b84bf72cece17e2da3b71d565ba4b1ad2e48424558e3d8
3
+ metadata.gz: 33c1423ac635977abc651ba960a571fb70f398d436475d701f8932b06f54b361
4
+ data.tar.gz: 15d1eadd248c5a83ef7bc45511e7920721c344f24594eb9083856fb5343a545c
5
5
  SHA512:
6
- metadata.gz: 126345f6c3015d8fe72e8f6ed957c8b34e2546ef171db042d3878652ef3381e52a4bef61f007eafa066c015e7b7cd18741bbaa4e1e49d75aa310cf0f954ff8cd
7
- data.tar.gz: ebcbb49bbfc56404249408beeea6ee80d2d999c712efbc23e6e32fd64d9079189235066edfdd9afc83efb2d67e632426b7a64393c4e8c7532cd71c0547932221
6
+ metadata.gz: 23e75ecaf5356a46eb33bda871f6fdb6f0416b3d8b27bbaf5c3fba830ec5cb00958d23997cf6139ff3918c7d33907dfb8df64197bcbcadcc6ae9ddd9c17d95a2
7
+ data.tar.gz: 35eb226797cc645fdb3a7f2798bb0dc88315e9c62e5ff5e0eb8e317c59fb3581032417139c794e7c5833c3dbd724b1704c575a718297a6414cae7317dc0b8c71
@@ -35,20 +35,6 @@ var addDatatablesToUsersTable = function () {
35
35
  $('.ucb-rails-users-table-wrapper #DataTables_Table_0_filter').append(addNewHtml)
36
36
  }
37
37
 
38
- var resetImpersonateButton = function() {
39
- var targetId = $('#ucb_rails_user_impersonation_target_id').val()
40
- if (targetId != null && targetId.toString().length > 0) {
41
- $('input[data-impersonate-button]').removeAttr('disabled')
42
- } else {
43
- $('input[data-impersonate-button]').attr('disabled', 'disabled')
44
- }
45
- }
46
-
47
- var clearImpersonateSelection = function() {
48
- $('#ucb_rails_user_impersonation_target_id').val('')
49
- resetImpersonateButton()
50
- }
51
-
52
38
  $( window ).on("load", function() {
53
39
  // the datatable calling was failing intermittently, but adding the timeout
54
40
  // seemed to fix it, so ¯\_(ツ)_/¯
@@ -58,46 +44,4 @@ $( window ).on("load", function() {
58
44
  $('.search-results').hide()
59
45
  $('.ucb-rails-user-loader').show()
60
46
  })
61
-
62
- var usersSource = new Bloodhound({
63
- datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
64
- queryTokenizer: Bloodhound.tokenizers.whitespace,
65
- remote: {
66
- url: '/admin/users/impersonate_search?q=%QUERY',
67
- wildcard: '%QUERY'
68
- }
69
- });
70
-
71
- $('#ucb_rails_user_impersonation_target').typeahead(null, {
72
- name: 'users',
73
- source: usersSource,
74
- display: 'name',
75
- limit: 7, // any higher than this, and the results don't display properly
76
- templates: {
77
- empty: [
78
- '<div class="empty-message">',
79
- 'No match found',
80
- '</div>'
81
- ].join('\n'),
82
- suggestion: function (data) {
83
- return '<div><strong>' + data.name + '</strong> (' + data.uid + ')</div>'
84
- }
85
- }
86
- });
87
-
88
- $('#ucb_rails_user_impersonation_target').keyup(function(event) {
89
- if ($(event.target).val().length == 0) {
90
- clearImpersonateSelection()
91
- }
92
- })
93
-
94
- $('#ucb_rails_user_impersonation_target').bind('typeahead:open', function(event, suggestion) {
95
- clearImpersonateSelection()
96
- })
97
-
98
- $('#ucb_rails_user_impersonation_target').bind('typeahead:select', function(event, suggestion) {
99
- $('#ucb_rails_user_impersonation_target_id').val(suggestion.id)
100
- resetImpersonateButton()
101
- })
102
-
103
47
  })
@@ -10,3 +10,29 @@
10
10
  .recent-impersonations li {
11
11
  list-style-type: none;
12
12
  font-size: 110%; }
13
+
14
+ .impersonate_search_results_container {
15
+ margin-top: 10px;
16
+ }
17
+
18
+ .impersonate_result_list {
19
+ list-style: none;
20
+ padding: 0;
21
+ margin-top: 10px;
22
+ }
23
+
24
+ .impersonate_result_list_item {
25
+ padding: 8px;
26
+ border-bottom: 1px solid #eee;
27
+ }
28
+
29
+ .impersonate_no_results_found {
30
+ margin-top: 10px;
31
+ color: #999;
32
+ }
33
+
34
+ .impersonate_before_search {
35
+ margin-top: 10px;
36
+ color: #666;
37
+ }
38
+
@@ -65,3 +65,39 @@ h1 {
65
65
  padding-left: 10px;
66
66
  padding-right: 10px;
67
67
  }
68
+
69
+ .user_sort {
70
+ text-decoration: none;
71
+ color: inherit;
72
+ }
73
+
74
+ .user_form_container {
75
+ margin-top: 10px;
76
+ overflow: auto;
77
+ margin-bottom: 10px;
78
+ vertical-align: middle;
79
+ }
80
+
81
+ .user_form_base_style {
82
+ display: flex;
83
+ gap: 10px;
84
+ align-items:
85
+ center; flex-grow: 1;
86
+ }
87
+
88
+ .user_form_return_count {
89
+ float: left;
90
+ padding-right: 15px;
91
+ }
92
+
93
+ .user_form_search_box {
94
+ float: left;
95
+ }
96
+
97
+ .user_form_add_user_link {
98
+ float: right;
99
+ }
100
+
101
+ .user_turbo_frame_users {
102
+ margin-bottom: 10px;
103
+ }
@@ -37,8 +37,12 @@ module UcbRailsUser::UsersControllerConcerns
37
37
  end
38
38
 
39
39
  def impersonate_search
40
- result = UcbRailsUser::UserSearch.find_users_by_name(params[:q])
41
- render json: result.map { |u| { name: u.full_name, id: u.id, uid: u.ldap_uid } }
40
+ @query = params[:q]
41
+ @results = if @query.present? && @query.length >= 2
42
+ UcbRailsUser::UserSearch.find_users_by_name(@query)
43
+ else
44
+ []
45
+ end
42
46
  end
43
47
 
44
48
  def edit
@@ -124,8 +128,7 @@ module UcbRailsUser::UsersControllerConcerns
124
128
  private
125
129
 
126
130
  def search_user_table(query)
127
- UcbRailsUser.user_class.where('lower(first_name) like lower(:q) or lower(last_name) like lower(:q) or ldap_uid like :q or employee_id like :q',
128
- q: '%' + query + '%')
131
+ UcbRailsUser.user_class.where('lower(first_name) like lower(:q) or lower(last_name) like lower(:q) or lower(email) like lower(:q) or lower(alternate_email) like lower(:q) or ldap_uid like :q or ldap_uid like :q or employee_id like :q', q: '%' + query + '%')
129
132
  end
130
133
 
131
134
  def user_params(extra_params = [])
@@ -6,10 +6,22 @@
6
6
  </div>
7
7
  <% else %>
8
8
  <div class="impersonation-form">
9
- <%= simple_form_for UcbRailsUser::Impersonation.new, url: admin_impersonations_path, method: :post do |f| %>
10
- <%= f.input :target, label: "User", input_html: { class: "typeahead" } %>
11
- <%= f.input :target_id, as: :hidden %>
12
- <%= f.button :submit, value: "Impersonate", class: "btn btn-primary", disabled: true, data: { impersonate_button: true } %>
9
+ <%= form_with url: admin_user_impersonate_search_path, method: :get, data: { turbo_frame: "search_results" } do |f| %>
10
+ <%= f.label :q, "Search for user:" %>
11
+ <%= f.search_field :q, placeholder: "Enter name...", oninput: "
12
+ clearTimeout(window.impersonateSearchTimer);
13
+ window.impersonateSearchTimer = setTimeout(() => {
14
+ if (this.value.length >= 2) {
15
+ this.form.requestSubmit();
16
+ }
17
+ }, 300);
18
+ " %>
19
+ <% end %>
20
+
21
+ <%= turbo_frame_tag "search_results" do %>
22
+ <div style="margin-top: 10px; color: #666;">
23
+ Type at least 2 characters to search for a user...
24
+ </div>
13
25
  <% end %>
14
26
  </div>
15
27
  <% end %>
@@ -20,7 +32,7 @@
20
32
  <ul>
21
33
  <% current_user.recent_impersonations.each do |imp| %>
22
34
  <li>
23
- <%= link_to full_name_with_uid(imp.target), "#{admin_impersonations_path}?ucb_rails_user_impersonation[target_id]=#{imp.target.id}", method: :post %>
35
+ <%= link_to full_name_with_uid(imp.target), admin_impersonations_path(ucb_rails_user_impersonation: { target_id: imp.target.id }), data: { turbo_method: :post, turbo_frame: "_top" } %>
24
36
  </li>
25
37
  <% end %>
26
38
  </ul>
@@ -0,0 +1,25 @@
1
+ <%= turbo_frame_tag "search_results" do %>
2
+ <% if @results.any? %>
3
+ <div class="impersonate_search_results_container">
4
+ <strong>Search results for "<%= @query %>":</strong>
5
+ <ul class="impersonate_result_list">
6
+ <% @results.each do |user| %>
7
+ <li class="impersonate_result_list_item">
8
+ <%= link_to admin_impersonations_path(ucb_rails_user_impersonation: { target_id: user.id }), data: { turbo_method: :post, turbo_frame: "_top" }, style: "text-decoration: none; color: inherit; display: block;" do %>
9
+ <strong><%= user.full_name %></strong>
10
+ <span style="color: #666; margin-left: 10px;">(<%= user.ldap_uid %>)</span>
11
+ <% end %>
12
+ </li>
13
+ <% end %>
14
+ </ul>
15
+ </div>
16
+ <% elsif @query.present? && @query.length >= 2 %>
17
+ <div class="impersonate_no_results_found">
18
+ No users found matching "<%= @query %>"
19
+ </div
20
+ <% else %>
21
+ <div class="impersonate_before_search">
22
+ Type at least 2 characters to search for a user...
23
+ </div>
24
+ <% end %>
25
+ <% end %>
@@ -1,18 +1,30 @@
1
1
  <div class="ucb-rails-users-table-header">
2
2
  <h1>Users</h1>
3
- <%= link_to "Add User", new_admin_user_path, class: "btn btn-primary", style: "float: right;" %>
4
3
  </div>
5
4
 
6
5
  <%= turbo_frame_tag "users" do %>
7
- <div style="margin-top: 10px; overflow: auto; margin-bottom: 10px; vertical-align: middle; ">
8
- <%= form_with url: "", method: :get, data: { turbo_frame: "users" }, style: "display: flex; gap: 10px; align-items: center; flex-grow: 1;" do |form| %>
6
+ <% if flash[:notice] || flash[:error] || flash[:alert] %>
7
+ <div class="user_turbo_frame_users">
8
+ <% if flash[:notice] %>
9
+ <div class="alert alert-info"><%= flash[:notice] %></div>
10
+ <% end %>
11
+ <% if flash[:error] %>
12
+ <div class="alert alert-danger"><%= flash[:error] %></div>
13
+ <% end %>
14
+ <% if flash[:alert] %>
15
+ <div class="alert alert-warning"><%= flash[:alert] %></div>
16
+ <% end %>
17
+ </div>
18
+ <% end %>
19
+ <div class="user_form_container">
20
+ <%= form_with url: "", method: :get, data: { turbo_frame: "users" }, class: "user_form_base_style" do |form| %>
9
21
  <%= form.hidden_field :sort, value: @sort %>
10
22
  <%= form.hidden_field :dir, value: @sort_dir %>
11
- <div style="float: left; padding-right: 15px">
23
+ <div class="user_form_return_count">
12
24
  Show <%= form.select :count, options_for_select([10, 25, 50, 100], selected: params[:count]), {}, { onchange: "this.form.requestSubmit()" } %>
13
25
  </div>
14
- <div style="float: left;">
15
- Search <%= form.search_field :query, value: params[:query], id: "user_search_field", placeholder: "Search users...", oninput: "
26
+ <div class="user_form_search_box">
27
+ Search <%= form.search_field :query, value: params[:query], id: "user_search_field", placeholder: "Search users...", data: { turbo_permanent: true }, oninput: "
16
28
  clearTimeout(window.searchTimer);
17
29
  window.searchTimer = setTimeout(() => {
18
30
  this.form.requestSubmit();
@@ -20,13 +32,16 @@
20
32
  " %>
21
33
  </div>
22
34
  <% end %>
35
+ <div class="user_form_add_user_link">
36
+ <%= link_to "Add User", new_admin_user_path, class: "btn btn-primary" %>
37
+ </div>
23
38
  </div>
24
39
  <div class="table-responsive ucb-rails-users-table-wrapper">
25
40
  <table class="table table-striped table-bordered table-hover ucb-rails-users-table">
26
41
  <thead>
27
42
  <tr>
28
43
  <th class="min">
29
- <%= link_to admin_users_path(sort: "superuser_flag", dir: @sort == "superuser_flag" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, style: "text-decoration: none; color: inherit;" do %>
44
+ <%= link_to admin_users_path(sort: "superuser_flag", dir: @sort == "superuser_flag" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, class: "user_sort" do %>
30
45
  Superuser?
31
46
  <% if @sort == "superuser_flag" %>
32
47
  <%= @sort_dir == "asc" ? "▲" : "▼" %>
@@ -34,7 +49,7 @@
34
49
  <% end %>
35
50
  </th>
36
51
  <th class="min">
37
- <%= link_to admin_users_path(sort: "inactive_flag", dir: @sort == "inactive_flag" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, style: "text-decoration: none; color: inherit;" do %>
52
+ <%= link_to admin_users_path(sort: "inactive_flag", dir: @sort == "inactive_flag" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, class: "user_sort" do %>
38
53
  Inactive?
39
54
  <% if @sort == "inactive_flag" %>
40
55
  <%= @sort_dir == "asc" ? "▲" : "▼" %>
@@ -42,7 +57,7 @@
42
57
  <% end %>
43
58
  </th>
44
59
  <th>
45
- <%= link_to admin_users_path(sort: "first_name", dir: @sort == "first_name" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, style: "text-decoration: none; color: inherit;" do %>
60
+ <%= link_to admin_users_path(sort: "first_name", dir: @sort == "first_name" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, class: "user_sort" do %>
46
61
  First Name
47
62
  <% if @sort == "first_name" %>
48
63
  <%= @sort_dir == "asc" ? "▲" : "▼" %>
@@ -50,7 +65,7 @@
50
65
  <% end %>
51
66
  </th>
52
67
  <th>
53
- <%= link_to admin_users_path(sort: "last_name", dir: @sort == "last_name" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, style: "text-decoration: none; color: inherit;" do %>
68
+ <%= link_to admin_users_path(sort: "last_name", dir: @sort == "last_name" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, class: "user_sort" do %>
54
69
  Last Name
55
70
  <% if @sort == "last_name" %>
56
71
  <%= @sort_dir == "asc" ? "▲" : "▼" %>
@@ -58,7 +73,7 @@
58
73
  <% end %>
59
74
  </th>
60
75
  <th>
61
- <%= link_to admin_users_path(sort: "email", dir: @sort == "email" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, style: "text-decoration: none; color: inherit;" do %>
76
+ <%= link_to admin_users_path(sort: "email", dir: @sort == "email" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, class: "user_sort" do %>
62
77
  Email
63
78
  <% if @sort == "email" %>
64
79
  <%= @sort_dir == "asc" ? "▲" : "▼" %>
@@ -66,7 +81,7 @@
66
81
  <% end %>
67
82
  </th>
68
83
  <th class="dt">
69
- <%= link_to admin_users_path(sort: "last_login_at", dir: @sort == "last_login_at" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, style: "text-decoration: none; color: inherit;" do %>
84
+ <%= link_to admin_users_path(sort: "last_login_at", dir: @sort == "last_login_at" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, class: "user_sort" do %>
70
85
  Last Login
71
86
  <% if @sort == "last_login_at" %>
72
87
  <%= @sort_dir == "asc" ? "▲" : "▼" %>
@@ -74,7 +89,7 @@
74
89
  <% end %>
75
90
  </th>
76
91
  <th>
77
- <%= link_to admin_users_path(sort: "ldap_uid", dir: @sort == "ldap_uid" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, style: "text-decoration: none; color: inherit;" do %>
92
+ <%= link_to admin_users_path(sort: "ldap_uid", dir: @sort == "ldap_uid" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, class: "user_sort" do %>
78
93
  UID
79
94
  <% if @sort == "ldap_uid" %>
80
95
  <%= @sort_dir == "asc" ? "▲" : "▼" %>
@@ -82,7 +97,7 @@
82
97
  <% end %>
83
98
  </th>
84
99
  <th>
85
- <%= link_to admin_users_path(sort: "employee_id", dir: @sort == "employee_id" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, style: "text-decoration: none; color: inherit;" do %>
100
+ <%= link_to admin_users_path(sort: "employee_id", dir: @sort == "employee_id" && @sort_dir == "asc" ? "desc" : "asc", query: params[:query], count: params[:count]), data: { turbo_frame: "users" }, class: "user_sort" do %>
86
101
  Employee ID
87
102
  <% if @sort == "employee_id" %>
88
103
  <%= @sort_dir == "asc" ? "▲" : "▼" %>
@@ -1,22 +1,17 @@
1
- <div class="ucb-rails-users-table-header">
2
- <h1>Users</h1>
1
+ <%= turbo_frame_tag "users" do %>
3
2
  <h2>Add New User</h2>
4
- </div>
5
3
 
6
- <%= form_tag admin_user_search_path, method: :get, class: "form-inline user-search-form" do %>
7
- <%= text_field_tag :first_name, "", placeholder: "First name", class: "form-control" %>
8
- <%= text_field_tag :last_name, "", placeholder: "Last name", class: "form-control" %>
9
- <%= text_field_tag :employee_id, "", placeholder: "Employee ID", class: "form-control" %>
10
- <%= submit_tag "Search", class: "btn btn-primary" %>
11
- <%= link_to "Cancel", admin_users_path, class: "btn btn-default" %>
12
- <% end %>
13
-
14
- <div class="ucb-rails-user-loader" style="display: none;">
15
- Loading...
16
- </div>
17
-
18
- <div class="search-results">
19
- <% if @results %>
20
- <%= render "results" %>
4
+ <%= form_tag admin_user_search_path, method: :get, class: "form-inline user-search-form" do %>
5
+ <%= text_field_tag :first_name, "", placeholder: "First name", class: "form-control" %>
6
+ <%= text_field_tag :last_name, "", placeholder: "Last name", class: "form-control" %>
7
+ <%= text_field_tag :employee_id, "", placeholder: "Employee ID", class: "form-control" %>
8
+ <%= submit_tag "Search", class: "btn btn-primary", data: { turbo_submits_with: "Searching..." } %>
9
+ <%= link_to "Cancel", admin_users_path, class: "btn btn-default" %>
21
10
  <% end %>
22
- </div>
11
+
12
+ <div class="search-results">
13
+ <% if @results %>
14
+ <%= render "results" %>
15
+ <% end %>
16
+ </div>
17
+ <% end %>
@@ -1,16 +1,15 @@
1
- <div class="ucb-rails-users-table-header">
2
- <h1>Users</h1>
1
+ <%= turbo_frame_tag "users" do %>
3
2
  <h2>Add New User</h2>
4
- </div>
5
3
 
6
- <%= form_tag admin_user_search_path, method: :get, class: "form-inline user-search-form" do %>
7
- <%= text_field_tag :first_name, params[:first_name], placeholder: "First name", class: "form-control" %>
8
- <%= text_field_tag :last_name, params[:last_name], placeholder: "Last name", class: "form-control" %>
9
- <%= text_field_tag :employee_id, params[:employee_id], placeholder: "Employee ID", class: "form-control" %>
10
- <%= submit_tag "Search", class: "btn btn-primary" %>
11
- <%= link_to "Cancel", admin_users_path, class: "btn btn-default" %>
12
- <% end %>
4
+ <%= form_tag admin_user_search_path, method: :get, class: "form-inline user-search-form" do %>
5
+ <%= text_field_tag :first_name, params[:first_name], placeholder: "First name", class: "form-control" %>
6
+ <%= text_field_tag :last_name, params[:last_name], placeholder: "Last name", class: "form-control" %>
7
+ <%= text_field_tag :employee_id, params[:employee_id], placeholder: "Employee ID", class: "form-control" %>
8
+ <%= submit_tag "Search", class: "btn btn-primary" %>
9
+ <%= link_to "Cancel", admin_users_path, class: "btn btn-default" %>
10
+ <% end %>
13
11
 
14
- <div class="search-results">
15
- <%= render "search_results" %>
16
- </div>
12
+ <div class="search-results">
13
+ <%= render "search_results" %>
14
+ </div>
15
+ <% end %>
@@ -1,3 +1,3 @@
1
1
  module UcbRailsUser
2
- VERSION = '8.0.3'
2
+ VERSION = '8.0.5'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ucb_rails_user
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.3
4
+ version: 8.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Downey
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2025-10-01 00:00:00.000000000 Z
16
+ date: 2025-10-23 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: rails
@@ -336,13 +336,8 @@ files:
336
336
  - README.md
337
337
  - Rakefile
338
338
  - app/assets/config/ucb_rails_user_manifest.js
339
- - app/assets/javascripts/ucb_rails_user/datatables.js
340
- - app/assets/javascripts/ucb_rails_user/esm/bloodhound.js
341
- - app/assets/javascripts/ucb_rails_user/esm/datatables.js
342
- - app/assets/javascripts/ucb_rails_user/esm/typeahead.js
343
339
  - app/assets/javascripts/ucb_rails_user/esm/ucb_rails_user.js
344
340
  - app/assets/javascripts/ucb_rails_user/scripts.js
345
- - app/assets/javascripts/ucb_rails_user/typeahead.bundle.js
346
341
  - app/assets/javascripts/ucb_rails_user/ucb_rails_user.js
347
342
  - app/assets/stylesheets/ucb_rails_user/components/impersonations.css
348
343
  - app/assets/stylesheets/ucb_rails_user/components/loader.css
@@ -350,7 +345,6 @@ files:
350
345
  - app/assets/stylesheets/ucb_rails_user/datatables.css
351
346
  - app/assets/stylesheets/ucb_rails_user/index.sass
352
347
  - app/assets/stylesheets/ucb_rails_user/main.css
353
- - app/assets/stylesheets/ucb_rails_user/pagy_tailwind.css
354
348
  - app/assets/stylesheets/ucb_rails_user/styles.css
355
349
  - app/assets/stylesheets/ucb_rails_user/typeahead_tweaks.sass
356
350
  - app/assets/stylesheets/ucb_rails_user/user.css
@@ -394,6 +388,7 @@ files:
394
388
  - app/views/ucb_rails_user/users/_search_results.html.erb
395
389
  - app/views/ucb_rails_user/users/_user.html.erb
396
390
  - app/views/ucb_rails_user/users/edit.html.erb
391
+ - app/views/ucb_rails_user/users/impersonate_search.html.erb
397
392
  - app/views/ucb_rails_user/users/index.html.erb
398
393
  - app/views/ucb_rails_user/users/new.html.erb
399
394
  - app/views/ucb_rails_user/users/search.html.erb