ucb_rails_user 0.9.0

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.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +166 -0
  4. data/Rakefile +36 -0
  5. data/app/assets/config/ucb_rails_user_manifest.js +0 -0
  6. data/app/assets/javascripts/ucb_rails_user/datatables.js +15441 -0
  7. data/app/assets/javascripts/ucb_rails_user/scripts.js +15 -0
  8. data/app/assets/javascripts/ucb_rails_user/ucb_rails_user.js +39 -0
  9. data/app/assets/stylesheets/ucb_rails_user/components/_add_users_search_results_table.sass +2 -0
  10. data/app/assets/stylesheets/ucb_rails_user/components/_loader.sass +46 -0
  11. data/app/assets/stylesheets/ucb_rails_user/components/_users_table.sass +10 -0
  12. data/app/assets/stylesheets/ucb_rails_user/datatables.css +201 -0
  13. data/app/assets/stylesheets/ucb_rails_user/main.sass +2 -0
  14. data/app/assets/stylesheets/ucb_rails_user/styles.css +19 -0
  15. data/app/controllers/ucb_rails_user/concerns/controller_methods.rb +92 -0
  16. data/app/controllers/ucb_rails_user/concerns/home_controller.rb +17 -0
  17. data/app/controllers/ucb_rails_user/concerns/sessions_controller.rb +68 -0
  18. data/app/controllers/ucb_rails_user/concerns/users_controller.rb +132 -0
  19. data/app/controllers/ucb_rails_user/home_controller.rb +10 -0
  20. data/app/controllers/ucb_rails_user/sessions_controller.rb +9 -0
  21. data/app/controllers/ucb_rails_user/users_controller.rb +8 -0
  22. data/app/helpers/ucb_rails_user/users_helper.rb +18 -0
  23. data/app/helpers/ucb_rails_user_helper.rb +17 -0
  24. data/app/models/concerns/user_concerns.rb +53 -0
  25. data/app/models/ucb_rails_user/configuration/cas.rb +53 -0
  26. data/app/models/ucb_rails_user/configuration/configuration.rb +72 -0
  27. data/app/models/ucb_rails_user/configuration/email.rb +73 -0
  28. data/app/models/ucb_rails_user/configuration/exception_notification.rb +21 -0
  29. data/app/models/ucb_rails_user/configuration/ldap.rb +50 -0
  30. data/app/models/ucb_rails_user/ldap_person/entry.rb +62 -0
  31. data/app/models/ucb_rails_user/ldap_person/finder.rb +87 -0
  32. data/app/models/ucb_rails_user/ldap_person/test_finder.rb +57 -0
  33. data/app/models/ucb_rails_user/user_ldap_service.rb +65 -0
  34. data/app/models/ucb_rails_user/user_session_manager/active_in_user_table.rb +29 -0
  35. data/app/models/ucb_rails_user/user_session_manager/admin_in_user_table.rb +13 -0
  36. data/app/models/ucb_rails_user/user_session_manager/base.rb +54 -0
  37. data/app/models/ucb_rails_user/user_session_manager/in_people_ou.rb +27 -0
  38. data/app/models/ucb_rails_user/user_session_manager/in_people_ou_add_to_users_table.rb +21 -0
  39. data/app/models/ucb_rails_user/user_session_manager/ldap_person_user_wrapper.rb +29 -0
  40. data/app/models/user.rb +8 -0
  41. data/app/views/ucb_rails_user/home/logged_in.html.haml +5 -0
  42. data/app/views/ucb_rails_user/home/not_logged_in.html.haml +5 -0
  43. data/app/views/ucb_rails_user/lps/_form.html.haml +19 -0
  44. data/app/views/ucb_rails_user/lps/_modal.html.haml +9 -0
  45. data/app/views/ucb_rails_user/lps/_results.html.haml +34 -0
  46. data/app/views/ucb_rails_user/lps/search.js.haml +3 -0
  47. data/app/views/ucb_rails_user/users/_form.html.haml +14 -0
  48. data/app/views/ucb_rails_user/users/_search_results.html.haml +24 -0
  49. data/app/views/ucb_rails_user/users/_user.html.haml +12 -0
  50. data/app/views/ucb_rails_user/users/edit.html.haml +3 -0
  51. data/app/views/ucb_rails_user/users/index.html.haml +23 -0
  52. data/app/views/ucb_rails_user/users/new.html.haml +16 -0
  53. data/app/views/ucb_rails_user/users/search.js.haml +4 -0
  54. data/config/initializers/simple_form.rb +171 -0
  55. data/config/initializers/simple_form_bootstrap.rb +154 -0
  56. data/config/locales/simple_form.en.yml +31 -0
  57. data/config/routes.rb +20 -0
  58. data/db/migrate/20170324221936_create_users.rb +29 -0
  59. data/lib/tasks/ucb_rails_user_tasks.rake +4 -0
  60. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  61. data/lib/ucb_rails_user.rb +21 -0
  62. data/lib/ucb_rails_user/engine.rb +28 -0
  63. data/lib/ucb_rails_user/version.rb +3 -0
  64. metadata +277 -0
@@ -0,0 +1,154 @@
1
+ # Use this setup block to configure all options available in SimpleForm.
2
+ SimpleForm.setup do |config|
3
+ config.error_notification_class = 'alert alert-danger'
4
+ config.button_class = 'btn btn-default'
5
+ config.boolean_label_class = nil
6
+
7
+ config.wrappers :vertical_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
8
+ b.use :html5
9
+ b.use :placeholder
10
+ b.optional :maxlength
11
+ b.optional :minlength
12
+ b.optional :pattern
13
+ b.optional :min_max
14
+ b.optional :readonly
15
+ b.use :label, class: 'control-label'
16
+
17
+ b.use :input, class: 'form-control'
18
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
19
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
20
+ end
21
+
22
+ config.wrappers :vertical_file_input, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
23
+ b.use :html5
24
+ b.use :placeholder
25
+ b.optional :maxlength
26
+ b.optional :minlength
27
+ b.optional :readonly
28
+ b.use :label, class: 'control-label'
29
+
30
+ b.use :input
31
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
32
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
33
+ end
34
+
35
+ config.wrappers :vertical_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
36
+ b.use :html5
37
+ b.optional :readonly
38
+
39
+ b.wrapper tag: 'div', class: 'checkbox' do |ba|
40
+ ba.use :label_input
41
+ end
42
+
43
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
44
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
45
+ end
46
+
47
+ config.wrappers :vertical_radio_and_checkboxes, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
48
+ b.use :html5
49
+ b.optional :readonly
50
+ b.use :label, class: 'control-label'
51
+ b.use :input
52
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
53
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
54
+ end
55
+
56
+ config.wrappers :horizontal_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
57
+ b.use :html5
58
+ b.use :placeholder
59
+ b.optional :maxlength
60
+ b.optional :minlength
61
+ b.optional :pattern
62
+ b.optional :min_max
63
+ b.optional :readonly
64
+ b.use :label, class: 'col-sm-3 control-label'
65
+
66
+ b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
67
+ ba.use :input, class: 'form-control'
68
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
69
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
70
+ end
71
+ end
72
+
73
+ config.wrappers :horizontal_file_input, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
74
+ b.use :html5
75
+ b.use :placeholder
76
+ b.optional :maxlength
77
+ b.optional :minlength
78
+ b.optional :readonly
79
+ b.use :label, class: 'col-sm-3 control-label'
80
+
81
+ b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
82
+ ba.use :input
83
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
84
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
85
+ end
86
+ end
87
+
88
+ config.wrappers :horizontal_boolean, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
89
+ b.use :html5
90
+ b.optional :readonly
91
+
92
+ b.wrapper tag: 'div', class: 'col-sm-offset-3 col-sm-9' do |wr|
93
+ wr.wrapper tag: 'div', class: 'checkbox' do |ba|
94
+ ba.use :label_input
95
+ end
96
+
97
+ wr.use :error, wrap_with: { tag: 'span', class: 'help-block' }
98
+ wr.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
99
+ end
100
+ end
101
+
102
+ config.wrappers :horizontal_radio_and_checkboxes, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
103
+ b.use :html5
104
+ b.optional :readonly
105
+
106
+ b.use :label, class: 'col-sm-3 control-label'
107
+
108
+ b.wrapper tag: 'div', class: 'col-sm-9' do |ba|
109
+ ba.use :input
110
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
111
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
112
+ end
113
+ end
114
+
115
+ config.wrappers :inline_form, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
116
+ b.use :html5
117
+ b.use :placeholder
118
+ b.optional :maxlength
119
+ b.optional :minlength
120
+ b.optional :pattern
121
+ b.optional :min_max
122
+ b.optional :readonly
123
+ b.use :label, class: 'sr-only'
124
+
125
+ b.use :input, class: 'form-control'
126
+ b.use :error, wrap_with: { tag: 'span', class: 'help-block' }
127
+ b.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
128
+ end
129
+
130
+ config.wrappers :multi_select, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
131
+ b.use :html5
132
+ b.optional :readonly
133
+ b.use :label, class: 'control-label'
134
+ b.wrapper tag: 'div', class: 'form-inline' do |ba|
135
+ ba.use :input, class: 'form-control'
136
+ ba.use :error, wrap_with: { tag: 'span', class: 'help-block' }
137
+ ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
138
+ end
139
+ end
140
+ # Wrappers for forms and inputs using the Bootstrap toolkit.
141
+ # Check the Bootstrap docs (http://getbootstrap.com)
142
+ # to learn about the different styles for forms and inputs,
143
+ # buttons and other elements.
144
+ config.default_wrapper = :vertical_form
145
+ config.wrapper_mappings = {
146
+ check_boxes: :vertical_radio_and_checkboxes,
147
+ radio_buttons: :vertical_radio_and_checkboxes,
148
+ file: :vertical_file_input,
149
+ boolean: :vertical_boolean,
150
+ datetime: :multi_select,
151
+ date: :multi_select,
152
+ time: :multi_select
153
+ }
154
+ end
@@ -0,0 +1,31 @@
1
+ en:
2
+ simple_form:
3
+ "yes": 'Yes'
4
+ "no": 'No'
5
+ required:
6
+ text: 'required'
7
+ mark: '*'
8
+ # You can uncomment the line below if you need to overwrite the whole required html.
9
+ # When using html, text and mark won't be used.
10
+ # html: '<abbr title="required">*</abbr>'
11
+ error_notification:
12
+ default_message: "Please review the problems below:"
13
+ # Examples
14
+ # labels:
15
+ # defaults:
16
+ # password: 'Password'
17
+ # user:
18
+ # new:
19
+ # email: 'E-mail to sign in.'
20
+ # edit:
21
+ # email: 'E-mail.'
22
+ # hints:
23
+ # defaults:
24
+ # username: 'User name to sign in.'
25
+ # password: 'No special characters, please.'
26
+ # include_blanks:
27
+ # defaults:
28
+ # age: 'Rather not say'
29
+ # prompts:
30
+ # defaults:
31
+ # age: 'Select your age'
@@ -0,0 +1,20 @@
1
+ Rails.application.routes.draw do
2
+
3
+ match "/login", to: UcbRailsUser::SessionsController.action(:new),
4
+ as: "login", via: [:get]
5
+ match "/logout", to: UcbRailsUser::SessionsController.action(:destroy),
6
+ as: "logout", via: [:all]
7
+ match "/auth/:omniauth_provider/callback", to: UcbRailsUser::SessionsController.action(:create),
8
+ via: [:get]
9
+ match "/auth/failure", to: UcbRailsUser::SessionsController.action(:failure), via: [:get]
10
+ match "/not_authorized", to: UcbRailsUser::SessionsController.action(:not_authorized),
11
+ as: "not_authorized", via: [:get]
12
+
13
+ match "/admin/users/toggle_superuser", to: UcbRailsUser::UsersController.action(:toggle_superuser),
14
+ as: "admin_toggle_superuser", via: [:get]
15
+
16
+ match "/admin/users/search", to: UcbRailsUser::UsersController.action(:search),
17
+ as: "admin_user_search", via: [:get]
18
+ resources :users, controller: "ucb_rails_user/users", path: "admin/users", as: :admin_users
19
+
20
+ end
@@ -0,0 +1,29 @@
1
+ class CreateUsers < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :users, force: true do |t|
4
+ t.string :ldap_uid, null: false
5
+ t.string :employee_id, null: true
6
+ t.string :affiliate_id, null: true
7
+ t.string :student_id, null: true
8
+ t.boolean :superuser_flag, null: false, default: false
9
+ t.boolean :inactive_flag, null: false, default: false
10
+ t.string :first_name, null: true
11
+ t.string :last_name, null: true
12
+ t.string :email, null: true
13
+ t.string :alternate_first_name, null: true
14
+ t.string :alternate_last_name, null: true
15
+ t.string :alternate_email, null: true
16
+ t.boolean :alternate_flag, null: false, default: false
17
+ t.datetime :last_login_at, null: true
18
+ t.timestamps
19
+ end
20
+
21
+ add_index :users, :ldap_uid, unique: true
22
+ add_index :users, :employee_id, unique: true
23
+ add_index :users, :affiliate_id, unique: true
24
+ add_index :users, :student_id, unique: true
25
+ add_index :users, :first_name
26
+ add_index :users, :last_name
27
+ add_index :users, :email
28
+ end
29
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :ucb_rails_user do
3
+ # # Task goes here
4
+ # end
@@ -0,0 +1,13 @@
1
+ <%%= simple_form_for(@<%= singular_table_name %>) do |f| %>
2
+ <%%= f.error_notification %>
3
+
4
+ <div class="form-inputs">
5
+ <%- attributes.each do |attribute| -%>
6
+ <%%= f.<%= attribute.reference? ? :association : :input %> :<%= attribute.name %> %>
7
+ <%- end -%>
8
+ </div>
9
+
10
+ <div class="form-actions">
11
+ <%%= f.button :submit %>
12
+ </div>
13
+ <%% end %>
@@ -0,0 +1,21 @@
1
+ require "ucb_rails_user/engine"
2
+
3
+ require "haml"
4
+ require "haml-rails"
5
+ require "sass-rails"
6
+ require "omniauth"
7
+ require "omniauth-cas"
8
+ require "ucb_ldap"
9
+ require "active_attr"
10
+
11
+ require "bootstrap-view-helpers"
12
+ #require "rails_view_helpers"
13
+
14
+ module UcbRailsUser
15
+
16
+ def self.logger
17
+ Rails.logger
18
+ end
19
+
20
+ end
21
+
@@ -0,0 +1,28 @@
1
+ module UcbRailsUser
2
+ class Engine < ::Rails::Engine
3
+ config.generators do |g|
4
+ g.test_framework :rspec
5
+ g.integration_tool :rspec
6
+ end
7
+ end
8
+
9
+ def self.config(&block)
10
+ yield Engine.config if block
11
+ Engine.config
12
+ end
13
+
14
+ def self.[](key)
15
+ setting = config.send(key)
16
+
17
+ if setting.is_a?(Proc)
18
+ setting.call
19
+ else
20
+ setting
21
+ end
22
+
23
+ rescue NameError
24
+ Rails.logger.debug "[UcbRailsUser] Tried to access unknown UcbRailsUser.config key: #{key.inspect}"
25
+ nil
26
+
27
+ end
28
+ end
@@ -0,0 +1,3 @@
1
+ module UcbRailsUser
2
+ VERSION = '0.9.0'
3
+ end
metadata ADDED
@@ -0,0 +1,277 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ucb_rails_user
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.0
5
+ platform: ruby
6
+ authors:
7
+ - Steve Downey
8
+ - Peter Philips
9
+ - Tyler Minard
10
+ - Darin Wilson
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2018-08-08 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rails
18
+ requirement: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - "~>"
21
+ - !ruby/object:Gem::Version
22
+ version: 5.1.1
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: 5.1.1
30
+ - !ruby/object:Gem::Dependency
31
+ name: sass-rails
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - "~>"
35
+ - !ruby/object:Gem::Version
36
+ version: 5.0.6
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: 5.0.6
44
+ - !ruby/object:Gem::Dependency
45
+ name: haml
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '5.0'
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '5.0'
58
+ - !ruby/object:Gem::Dependency
59
+ name: haml-rails
60
+ requirement: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ - !ruby/object:Gem::Dependency
73
+ name: active_attr
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ - !ruby/object:Gem::Dependency
87
+ name: simple_form
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ type: :runtime
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ - !ruby/object:Gem::Dependency
101
+ name: omniauth
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ type: :runtime
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
114
+ - !ruby/object:Gem::Dependency
115
+ name: omniauth-cas
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - "~>"
119
+ - !ruby/object:Gem::Version
120
+ version: 1.1.1
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: 1.1.1
128
+ - !ruby/object:Gem::Dependency
129
+ name: ucb_ldap
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '3.0'
135
+ type: :runtime
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '3.0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: bootstrap-view-helpers
144
+ requirement: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - "~>"
147
+ - !ruby/object:Gem::Version
148
+ version: 0.0.14
149
+ type: :runtime
150
+ prerelease: false
151
+ version_requirements: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - "~>"
154
+ - !ruby/object:Gem::Version
155
+ version: 0.0.14
156
+ - !ruby/object:Gem::Dependency
157
+ name: sqlite3
158
+ requirement: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
163
+ type: :development
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ - !ruby/object:Gem::Dependency
171
+ name: rspec-rails
172
+ requirement: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - "~>"
175
+ - !ruby/object:Gem::Version
176
+ version: '3.5'
177
+ type: :development
178
+ prerelease: false
179
+ version_requirements: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - "~>"
182
+ - !ruby/object:Gem::Version
183
+ version: '3.5'
184
+ description:
185
+ email:
186
+ - darinwilson@gmail.com
187
+ executables: []
188
+ extensions: []
189
+ extra_rdoc_files: []
190
+ files:
191
+ - MIT-LICENSE
192
+ - README.md
193
+ - Rakefile
194
+ - app/assets/config/ucb_rails_user_manifest.js
195
+ - app/assets/javascripts/ucb_rails_user/datatables.js
196
+ - app/assets/javascripts/ucb_rails_user/scripts.js
197
+ - app/assets/javascripts/ucb_rails_user/ucb_rails_user.js
198
+ - app/assets/stylesheets/ucb_rails_user/components/_add_users_search_results_table.sass
199
+ - app/assets/stylesheets/ucb_rails_user/components/_loader.sass
200
+ - app/assets/stylesheets/ucb_rails_user/components/_users_table.sass
201
+ - app/assets/stylesheets/ucb_rails_user/datatables.css
202
+ - app/assets/stylesheets/ucb_rails_user/main.sass
203
+ - app/assets/stylesheets/ucb_rails_user/styles.css
204
+ - app/controllers/ucb_rails_user/concerns/controller_methods.rb
205
+ - app/controllers/ucb_rails_user/concerns/home_controller.rb
206
+ - app/controllers/ucb_rails_user/concerns/sessions_controller.rb
207
+ - app/controllers/ucb_rails_user/concerns/users_controller.rb
208
+ - app/controllers/ucb_rails_user/home_controller.rb
209
+ - app/controllers/ucb_rails_user/sessions_controller.rb
210
+ - app/controllers/ucb_rails_user/users_controller.rb
211
+ - app/helpers/ucb_rails_user/users_helper.rb
212
+ - app/helpers/ucb_rails_user_helper.rb
213
+ - app/models/concerns/user_concerns.rb
214
+ - app/models/ucb_rails_user/configuration/cas.rb
215
+ - app/models/ucb_rails_user/configuration/configuration.rb
216
+ - app/models/ucb_rails_user/configuration/email.rb
217
+ - app/models/ucb_rails_user/configuration/exception_notification.rb
218
+ - app/models/ucb_rails_user/configuration/ldap.rb
219
+ - app/models/ucb_rails_user/ldap_person/entry.rb
220
+ - app/models/ucb_rails_user/ldap_person/finder.rb
221
+ - app/models/ucb_rails_user/ldap_person/test_finder.rb
222
+ - app/models/ucb_rails_user/user_ldap_service.rb
223
+ - app/models/ucb_rails_user/user_session_manager/active_in_user_table.rb
224
+ - app/models/ucb_rails_user/user_session_manager/admin_in_user_table.rb
225
+ - app/models/ucb_rails_user/user_session_manager/base.rb
226
+ - app/models/ucb_rails_user/user_session_manager/in_people_ou.rb
227
+ - app/models/ucb_rails_user/user_session_manager/in_people_ou_add_to_users_table.rb
228
+ - app/models/ucb_rails_user/user_session_manager/ldap_person_user_wrapper.rb
229
+ - app/models/user.rb
230
+ - app/views/ucb_rails_user/home/logged_in.html.haml
231
+ - app/views/ucb_rails_user/home/not_logged_in.html.haml
232
+ - app/views/ucb_rails_user/lps/_form.html.haml
233
+ - app/views/ucb_rails_user/lps/_modal.html.haml
234
+ - app/views/ucb_rails_user/lps/_results.html.haml
235
+ - app/views/ucb_rails_user/lps/search.js.haml
236
+ - app/views/ucb_rails_user/users/_form.html.haml
237
+ - app/views/ucb_rails_user/users/_search_results.html.haml
238
+ - app/views/ucb_rails_user/users/_user.html.haml
239
+ - app/views/ucb_rails_user/users/edit.html.haml
240
+ - app/views/ucb_rails_user/users/index.html.haml
241
+ - app/views/ucb_rails_user/users/new.html.haml
242
+ - app/views/ucb_rails_user/users/search.js.haml
243
+ - config/initializers/simple_form.rb
244
+ - config/initializers/simple_form_bootstrap.rb
245
+ - config/locales/simple_form.en.yml
246
+ - config/routes.rb
247
+ - db/migrate/20170324221936_create_users.rb
248
+ - lib/tasks/ucb_rails_user_tasks.rake
249
+ - lib/templates/erb/scaffold/_form.html.erb
250
+ - lib/ucb_rails_user.rb
251
+ - lib/ucb_rails_user/engine.rb
252
+ - lib/ucb_rails_user/version.rb
253
+ homepage: https://github.com/ucb-ist-eas/ucb_rails_user
254
+ licenses:
255
+ - MIT
256
+ metadata: {}
257
+ post_install_message:
258
+ rdoc_options: []
259
+ require_paths:
260
+ - lib
261
+ required_ruby_version: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - ">="
264
+ - !ruby/object:Gem::Version
265
+ version: '0'
266
+ required_rubygems_version: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ requirements: []
272
+ rubyforge_project:
273
+ rubygems_version: 2.4.8
274
+ signing_key:
275
+ specification_version: 4
276
+ summary: Rails engine for managing user accounts within UC Berkeley's auth system
277
+ test_files: []