openstax_accounts 9.0.5 → 9.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 52c5a3872725bd1198629d59c0660cdcc7f75d7bf09e32640deb56d772922477
4
- data.tar.gz: f48649499a41fa83f48ae34274cab542166bb61401d5edb3583c07f38c29c5bb
3
+ metadata.gz: 48ae6fdbc68368694770f436f5a7a4e57dea39b18c93b2791308aace6b07a02a
4
+ data.tar.gz: bbfbe2609b86b3b216ad0a94c7bf41b7c6bc1b29ea65e4a99388288dfcc80f7f
5
5
  SHA512:
6
- metadata.gz: 5a266e70528d538b2dabf9722ec10e20423e5e7e47e86846019db502e5079276e216d18347985f20b22bbacfdaecd25e6263b0a38b7032289ed25cf2cbbde4ca
7
- data.tar.gz: ea546ef8e9fddb0d245ceeb8cbf6c9e4b9e0856eef81976c80b7f70ebac9b6aee3e1fcc56df1e7b9c9f708ca9178898173f5da7a46ce4e2191f25f4708eb960f
6
+ metadata.gz: 29b93ef99bbb0ee170f4619269e79dd94fd89634a328985d55a057b9f0c85980480fdf8bfe47d4e946fb9dfc42e3a91c7e087a1825b8067c7c4a68d27e56f70f
7
+ data.tar.gz: dd689a226b1f8c92be65d8543c917b35af81eafa9a90f9de3b718fc2cf7b14e4df0ed7f64aff883bc2cf2141bfe1122dffadb9841a7cf0b1df9147e7b419779c
@@ -10,8 +10,7 @@ module OpenStax
10
10
  if configuration.enable_stubbing?
11
11
  redirect_to dev_accounts_path
12
12
  else
13
- forwardable_params =
14
- params.permit(*configuration.forwardable_login_param_keys.map(&:to_s)).to_h
13
+ forwardable_params = params.permit(*configuration.forwardable_login_params).to_h
15
14
  redirect_to openstax_login_path(forwardable_params)
16
15
  end
17
16
  end
@@ -28,14 +27,18 @@ module OpenStax
28
27
  end
29
28
 
30
29
  def destroy
31
- sign_out!
32
-
33
- # Unless we are stubbing, we redirect to a configurable URL, which is normally
34
- # (or at least eventually) the Accounts logout URL so that users can't sign back
35
- # in automagically.
36
- redirect_to configuration.enable_stubbing? ?
37
- main_app.root_url :
38
- configuration.logout_redirect_url(request)
30
+ # if a handler is configured, let it handle everything
31
+ if configuration.logout_handler
32
+ configuration.logout_handler.call(self)
33
+ else
34
+ # Unless we are stubbing, we redirect to a configurable URL, which is normally
35
+ # (or at least eventually) the Accounts logout URL so that users can't sign back
36
+ # in automagically.
37
+ sign_out!
38
+ redirect_to configuration.enable_stubbing? ?
39
+ main_app.root_url :
40
+ configuration.logout_redirect_url(request)
41
+ end
39
42
  end
40
43
 
41
44
  def failure
@@ -16,7 +16,8 @@ module OpenStax::Accounts
16
16
  :salesforce_contact_id,
17
17
  :support_identifier,
18
18
  :is_test,
19
- :is_kip
19
+ :is_kip,
20
+ :grant_tutor_access
20
21
  ]
21
22
 
22
23
  attr_accessor :syncing
@@ -117,6 +117,12 @@ module OpenStax
117
117
  schema_info: {
118
118
  description: 'Whether or not this is a Key Institutional Partner account'
119
119
  }
120
+
121
+ property :grant_tutor_access,
122
+ type: :boolean,
123
+ schema_info: {
124
+ description: 'Whether or not the account should be granted Tutor access'
125
+ }
120
126
  end
121
127
  end
122
128
  end
@@ -7,7 +7,8 @@ module OpenStax
7
7
 
8
8
  def exec(email: nil, username: nil, password: nil, first_name: nil, last_name: nil,
9
9
  full_name: nil, title: nil, salesforce_contact_id: nil, faculty_status: nil,
10
- role: nil, school_type: nil, school_location: nil, is_kip: nil, is_test: nil)
10
+ role: nil, school_type: nil, school_location: nil, is_kip: nil,
11
+ grant_tutor_access: nil, is_test: nil)
11
12
  raise(
12
13
  ArgumentError,
13
14
  'You must specify either an email address or a username (and an optional password)'
@@ -24,7 +25,7 @@ module OpenStax
24
25
  first_name: first_name, last_name: last_name, full_name: full_name,
25
26
  salesforce_contact_id: salesforce_contact_id, faculty_status: faculty_status,
26
27
  role: role, school_type: school_type, school_location: school_location,
27
- is_kip: is_kip, is_test: is_test
28
+ is_kip: is_kip, grant_tutor_access: grant_tutor_access, is_test: is_test
28
29
  )
29
30
  fatal_error(code: :invalid_inputs) unless (200..202).include?(response.status)
30
31
 
@@ -49,6 +50,7 @@ module OpenStax
49
50
  account.school_location = school_location || :unknown_school_location
50
51
  account.support_identifier = support_identifier
51
52
  account.is_kip = is_kip
53
+ account.grant_tutor_access = grant_tutor_access
52
54
  account.is_test = is_test
53
55
  end
54
56
 
@@ -0,0 +1,5 @@
1
+ class AddGrantTutorAccessToOpenStaxAccountsAccounts < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_column :openstax_accounts_accounts, :grant_tutor_access, :boolean
4
+ end
5
+ end
@@ -53,16 +53,23 @@ module OpenStax
53
53
  # If more would be returned, the result will be empty instead
54
54
  attr_accessor :max_search_items
55
55
 
56
+ # logout_handler
57
+ # Handles logging out and redirecting user when they've requested logout
58
+ # if specified, the logout_redirect_url has no effect
59
+ attr_accessor :logout_handler
60
+
56
61
  # logout_redirect_url
57
62
  # A URL to redirect to after the app logs out, can be a string or a Proc.
58
63
  # If a Proc (or lambda), it will be called with the logout request.
64
+ #
65
+ # Only used if the logout_handler above is not specified
59
66
  # If this field is nil or if the Proc returns nil, the logout will redirect
60
67
  # to the default Accounts logout URL.
61
68
  attr_writer :logout_redirect_url
62
69
 
63
- # forwardable_login_param_keys
70
+ # forwardable_login_params
64
71
  # Which params are forwarded on the accounts login path
65
- attr_accessor :forwardable_login_param_keys
72
+ attr_accessor :forwardable_login_params
66
73
 
67
74
  # max_user_updates_per_request
68
75
  # When the user profile sync operation is called, this parameter will limit
@@ -117,12 +124,13 @@ module OpenStax
117
124
  @account_user_mapper = OpenStax::Accounts::DefaultAccountUserMapper
118
125
  @min_search_characters = 3
119
126
  @max_search_items = 10
127
+ @logout_handler = nil
120
128
  @logout_redirect_url = nil
121
129
  @return_to_url_approver = nil
122
- @forwardable_login_param_keys = [
130
+ @forwardable_login_params = [
123
131
  :signup_at,
124
132
  :go,
125
- :sp # "signed payload"; "sp" for short to keep nested parameter names short
133
+ sp: {} # "signed payload"; "sp" to keep nested parameter names short.
126
134
  ]
127
135
  @max_user_updates_per_request = 250
128
136
  @sso_cookie_name = 'ox'
@@ -1,5 +1,5 @@
1
1
  module OpenStax
2
2
  module Accounts
3
- VERSION = '9.0.5'
3
+ VERSION = '9.5.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstax_accounts
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.5
4
+ version: 9.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - JP Slavinsky
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-29 00:00:00.000000000 Z
11
+ date: 2020-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "<"
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
- version: '6.0'
19
+ version: '5.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "<"
24
+ - - ">"
25
25
  - !ruby/object:Gem::Version
26
- version: '6.0'
26
+ version: '5.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: omniauth
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -343,6 +343,7 @@ files:
343
343
  - db/migrate/15_drop_accounts_groups.rb
344
344
  - db/migrate/16_add_is_kip_to_openstax_accounts_accounts.rb
345
345
  - db/migrate/17_add_school_location_to_openstax_accounts_accounts.rb
346
+ - db/migrate/18_add_grant_tutor_access_to_openstax_accounts_accounts.rb
346
347
  - db/migrate/1_create_openstax_accounts_groups.rb
347
348
  - db/migrate/2_create_openstax_accounts_group_members.rb
348
349
  - db/migrate/3_create_openstax_accounts_group_owners.rb