ucb_rails_user 4.1.2 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a2d32568b7c7c44c29b420b560c94db14a5cef2150e40e69b535cc9fad3b6714
4
- data.tar.gz: 7325bbb7ee1f6cd3ea3a04c7f38411d5e75551c31022260ba454d22769c60d2d
3
+ metadata.gz: a006bac12edd8a40970366888880a897fe1e93a0c05a3c00eb749cc6059305f1
4
+ data.tar.gz: 9c64c70d6ed4c4c8d107b981db50c5a93333624e226b4905c798ea402c2e9058
5
5
  SHA512:
6
- metadata.gz: efb9dd7b036a5de8251cab4068172cea5fdcce1db57be780d0e70111d90b634dc591a09fadc8b81206a6005f6d2b4a59cc63b31d729716abfc3a396492567b82
7
- data.tar.gz: 7f0beaa12b968857a56c1c6a8966c51a77447f975c88494c5e6c4022d5ad712b7be085c91c6a0ab267d3d454de9cfd38b5f979c61becc2c3812d2853dfb224d7
6
+ metadata.gz: d7b0b2239c2b26223a1c129392d78173133c88754bfff7d3d30505dcf22edce4e4e360a7a2328d9fbe2c3843b271f3a9e0e3881ceff1d5a6654b4d4c5925d032
7
+ data.tar.gz: a703d4ff5e5242dc5aada67526da8c544743e74c612354fc443cb2eafcb71f9433a51e17e2b2a0ce597fdbf794022650580937627b5583cf0bca12e54333c2b9
@@ -10,7 +10,7 @@ module UcbRailsUser::Concerns::ImpersonationsController
10
10
  end
11
11
 
12
12
  def create
13
- target = User.find_by(id: params[:ucb_rails_user_impersonation][:target_id])
13
+ target = UcbRailsUser::User.find_by(id: params[:ucb_rails_user_impersonation][:target_id])
14
14
  if logged_in_user.impersonate!(target)
15
15
  flash[:info] = "You are now impersonating #{target.full_name}"
16
16
  return redirect_to "/"
@@ -8,9 +8,9 @@ module UcbRailsUser::Concerns::UsersController
8
8
  end
9
9
 
10
10
  def index
11
- @users = User.all
11
+ @users = UcbRailsUser::User.all
12
12
  respond_to do |format|
13
- format.html { @users = User.all }
13
+ format.html { @users = UcbRailsUser::User.all }
14
14
  format.json { render json: UcbRails::UsersDatatable.new(view_context).as_json }
15
15
  end
16
16
  end
@@ -40,7 +40,7 @@ module UcbRailsUser::Concerns::UsersController
40
40
  def create
41
41
  uid = params.fetch(:ldap_uid)
42
42
  user = nil
43
- if user = User.find_by_ldap_uid(uid)
43
+ if user = UcbRailsUser::User.find_by_ldap_uid(uid)
44
44
  flash[:warning] = "User already exists"
45
45
  else
46
46
  begin
@@ -91,7 +91,7 @@ module UcbRailsUser::Concerns::UsersController
91
91
  :sort => :last_first_downcase
92
92
  )
93
93
  uid_strings = @lps_entries.map { |entry| entry.uid&.to_s }.compact
94
- @lps_existing_uids = User.where(ldap_uid: uid_strings).pluck(:uid)
94
+ @lps_existing_uids = UcbRailsUser::User.where(ldap_uid: uid_strings).pluck(:uid)
95
95
  render 'ucb_rails_user/lps/search'
96
96
  end
97
97
 
@@ -115,7 +115,7 @@ module UcbRailsUser::Concerns::UsersController
115
115
  private
116
116
 
117
117
  def user_params(extra_params = [])
118
- params.require(:user).permit([
118
+ params.require(:ucb_rails_user_user).permit([
119
119
  :superuser_flag,
120
120
  :inactive_flag,
121
121
  :first_name,
@@ -131,7 +131,7 @@ module UcbRailsUser::Concerns::UsersController
131
131
  end
132
132
 
133
133
  def find_user
134
- @user ||= User.find(params.fetch(:id))
134
+ @user ||= UcbRailsUser::User.find(params.fetch(:id))
135
135
  end
136
136
 
137
137
  end
@@ -1,4 +1,4 @@
1
- module UserConcerns
1
+ module UcbRailsUser::Concerns::UserConcerns
2
2
  extend ActiveSupport::Concern
3
3
 
4
4
  included do
@@ -6,15 +6,6 @@ module UserConcerns
6
6
  has_many :targets, class_name: "::UcbRailsUser::Impersonation", dependent: :delete_all
7
7
  end
8
8
 
9
- # Overridden by application
10
- def roles
11
- []
12
- end
13
-
14
- def has_role?(role)
15
- superuser? || roles.include?(role)
16
- end
17
-
18
9
  def active?
19
10
  !inactive?
20
11
  end
@@ -55,7 +46,7 @@ module UserConcerns
55
46
  if target.respond_to?(:id)
56
47
  target.id
57
48
  else
58
- User.find_by(id: target)&.id
49
+ UcbRailsUser::User.find_by(id: target)&.id
59
50
  end
60
51
  return false unless impersonation_is_valid?(target_id)
61
52
  @current_impersonation = create_impersonation(target_id)
@@ -64,7 +55,7 @@ module UserConcerns
64
55
 
65
56
  def current_impersonation
66
57
  return @current_impersonation if defined?(@current_impersonation)
67
- @current_impersonation = UcbRailsUser::Impersonation.find_by(user_id: self.id, active: true)
58
+ @current_impersonation = UcbRailsUser::Impersonation.where(user_id: self.id, active: true).includes([:target]).take
68
59
  end
69
60
 
70
61
  def impersonation_target
@@ -0,0 +1,12 @@
1
+ module UcbRailsUser::Concerns::UserRolesConcerns
2
+ extend ActiveSupport::Concern
3
+
4
+ # Overridden by application
5
+ def roles
6
+ []
7
+ end
8
+
9
+ def has_role?(role)
10
+ superuser? || roles.include?(role)
11
+ end
12
+ end
@@ -1,5 +1,5 @@
1
- class User < ActiveRecord::Base
2
- include UserConcerns
1
+ class UcbRailsUser::User < ActiveRecord::Base
2
+ include UcbRailsUser::Concerns::UserConcerns
3
3
 
4
4
  # Don't add anything more here - any logic for the User class should go into
5
5
  # UserConcerns. This will make it much easier for host apps to customize
@@ -12,7 +12,7 @@ class UcbRailsUser::UserLdapService
12
12
  def create_user_from_ldap_entry(ldap_entry)
13
13
  UcbRailsUser.logger.debug "create_user_from_ldap_entry #{ldap_entry.uid}"
14
14
 
15
- User.create! do |u|
15
+ UcbRailsUser::User.create! do |u|
16
16
  u.ldap_uid = ldap_entry.uid
17
17
  u.employee_id = ldap_entry.employee_id
18
18
  u.affiliate_id = ldap_entry.affiliate_id
@@ -34,7 +34,7 @@ class UcbRailsUser::UserLdapService
34
34
  def update_user_from_ldap_entry(ldap_entry)
35
35
  UcbRailsUser.logger.debug "update_user_from_ldap_entry #{ldap_entry.uid}"
36
36
 
37
- User.find_by_ldap_uid!(ldap_entry.uid).tap do |user|
37
+ UcbRailsUser::User.find_by_ldap_uid!(ldap_entry.uid).tap do |user|
38
38
  user.employee_id = ldap_entry.employee_id if user.respond_to?(:employee_id=)
39
39
  user.affiliate_id = ldap_entry.affiliate_id
40
40
  user.student_id = ldap_entry.student_id
@@ -47,7 +47,7 @@ class UcbRailsUser::UserLdapService
47
47
  end
48
48
 
49
49
  def create_or_update_user(uid)
50
- if user = User.find_by_ldap_uid(uid)
50
+ if user = UcbRailsUser::User.find_by_ldap_uid(uid)
51
51
  update_user_from_uid(uid)
52
52
  else
53
53
  create_user_from_uid(uid)
@@ -58,7 +58,7 @@ class UcbRailsUser::UserLdapService
58
58
  # LDAP returns some values as Net::BER::BerIdentifiedString instances, and not
59
59
  # all DBs seem to handle that well (e.g. Oracle) - we might want to fix LDAP library
60
60
  # to smooth this over?
61
- if user = User.find_by_ldap_uid(entry.uid.to_s)
61
+ if user = UcbRailsUser::User.find_by_ldap_uid(entry.uid.to_s)
62
62
  update_user_from_ldap_entry(entry)
63
63
  else
64
64
  create_user_from_ldap_entry(entry)
@@ -10,10 +10,10 @@ module UcbRailsUser::UserSearch
10
10
  .map { |n| "#{n}%" }
11
11
  query =
12
12
  if name1.present? && name2.present?
13
- User.where("LOWER(first_name) LIKE ? AND LOWER(last_name) LIKE ?", name1, name2)
14
- .or(User.where("LOWER(last_name) LIKE ? AND LOWER(first_name) LIKE ?", name1, name2))
13
+ UcbRailsUser::User.where("LOWER(first_name) LIKE ? AND LOWER(last_name) LIKE ?", name1, name2)
14
+ .or(UcbRailsUser::User.where("LOWER(last_name) LIKE ? AND LOWER(first_name) LIKE ?", name1, name2))
15
15
  else
16
- User.where("LOWER(first_name) LIKE ? OR LOWER(last_name) LIKE ?", name1, name1)
16
+ UcbRailsUser::User.where("LOWER(first_name) LIKE ? OR LOWER(last_name) LIKE ?", name1, name1)
17
17
  end
18
18
  query.order(:last_name, :first_name)
19
19
  end
@@ -31,11 +31,11 @@ class UcbRailsUser::UserSessionManager::Base
31
31
  private
32
32
 
33
33
  def active_user
34
- @active_user ||= User.active.find_by_ldap_uid(uid)
34
+ @active_user ||= UcbRailsUser::User.active.find_by_ldap_uid(uid)
35
35
  end
36
36
 
37
37
  def active_admin_user
38
- @active_user ||= User.active.superuser.find_by_ldap_uid(uid)
38
+ @active_user ||= UcbRailsUser::User.active.superuser.find_by_ldap_uid(uid)
39
39
  end
40
40
 
41
41
  def ldap_person_user_wrapper(ldap_person_entry)
@@ -7,14 +7,14 @@ class UcbRailsUser::UserUcPathService
7
7
  def create_or_update_user_from_employee_id(employee_id)
8
8
  ucpath_entry = ucpath_client.fetch_employee_data_with_employee_id(employee_id)
9
9
  return nil unless ucpath_entry.present?
10
- user = User.find_or_initialize_by(employee_id: employee_id)
10
+ user = UcbRailsUser::User.find_or_initialize_by(employee_id: employee_id)
11
11
  update_user_record_from_ucpath_entry!(user, ucpath_entry)
12
12
  end
13
13
 
14
14
  def create_or_update_user_from_ldap_uid(ldap_uid)
15
15
  ucpath_entry = ucpath_client.fetch_employee_data_with_ldap_uid(ldap_uid)
16
16
  return nil unless ucpath_entry.present?
17
- user = User.find_or_initialize_by(ldap_uid: ldap_uid)
17
+ user = UcbRailsUser::User.find_or_initialize_by(ldap_uid: ldap_uid)
18
18
  update_user_record_from_ucpath_entry!(user, ucpath_entry)
19
19
  end
20
20
 
@@ -1,3 +1,3 @@
1
1
  module UcbRailsUser
2
- VERSION = '4.1.2'
2
+ VERSION = '5.0.0'
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: 4.1.2
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Downey
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2022-10-17 00:00:00.000000000 Z
14
+ date: 2023-03-28 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -324,8 +324,9 @@ files:
324
324
  - app/controllers/ucb_rails_user/users_controller.rb
325
325
  - app/helpers/ucb_rails_user/users_helper.rb
326
326
  - app/helpers/ucb_rails_user_helper.rb
327
- - app/models/concerns/user_concerns.rb
328
327
  - app/models/ucb_rails_user/concerns/impersonation_concerns.rb
328
+ - app/models/ucb_rails_user/concerns/user_concerns.rb
329
+ - app/models/ucb_rails_user/concerns/user_roles_concerns.rb
329
330
  - app/models/ucb_rails_user/configuration/cas.rb
330
331
  - app/models/ucb_rails_user/configuration/configuration.rb
331
332
  - app/models/ucb_rails_user/configuration/email.rb
@@ -335,6 +336,7 @@ files:
335
336
  - app/models/ucb_rails_user/ldap_person/entry.rb
336
337
  - app/models/ucb_rails_user/ldap_person/finder.rb
337
338
  - app/models/ucb_rails_user/ldap_person/test_finder.rb
339
+ - app/models/ucb_rails_user/user.rb
338
340
  - app/models/ucb_rails_user/user_ldap_service.rb
339
341
  - app/models/ucb_rails_user/user_search.rb
340
342
  - app/models/ucb_rails_user/user_session_manager/active_in_user_table.rb
@@ -346,7 +348,6 @@ files:
346
348
  - app/models/ucb_rails_user/user_session_manager/ldap_person_user_wrapper.rb
347
349
  - app/models/ucb_rails_user/user_session_manager/test_session_manager.rb
348
350
  - app/models/ucb_rails_user/user_uc_path_service.rb
349
- - app/models/user.rb
350
351
  - app/views/ucb_rails_user/home/logged_in.html.haml
351
352
  - app/views/ucb_rails_user/home/not_logged_in.html.haml
352
353
  - app/views/ucb_rails_user/impersonations/index.html.haml