panda_pal 5.9.6 → 5.9.7

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: 8a029924b77c618c362de5db0492e332fe40dabcd455ab872458bdb0250da0b4
4
- data.tar.gz: 35f1d52d8c15000e6a0a396e0a15d29d490a30e31090cb870004aea190cbeb29
3
+ metadata.gz: 799fa888cac92c1bdd0f8db04306a6ca3eac462f8cf545fa28aa1fee2cd8d2e2
4
+ data.tar.gz: c52ec2f608302a2c646634691bbe05730455fcec5716493e400f3c2066be2830
5
5
  SHA512:
6
- metadata.gz: 59f6d9e7cda5f4b893f0f73c3679335465ecb6fccdc145b927346f8c447f70cd711ef253a31131ec855f5ce9eae9faa2003c4627345f12bba9658b5c27c61953
7
- data.tar.gz: d703a3fa315fa6b16b7fe0424b74d30e209634a7df40161eeb9f164dbf962194cf944dcf1d4a68f66f5029d3e1df684b391da149466df85b8d78e4083df22e9b
6
+ metadata.gz: 9c76429c86e9a999aaa90d953175988b86c5af85de9c8021608cd34d911af3bc299f31fe22729c9b91a622749fd2665801de21e34a1076bf11f0be9ec2690090
7
+ data.tar.gz: 3c0a7d8aab01ebcdc6eb70fcf89a6936cf138fb661634194417ac55961645e0654d65bf2a9264dac7b53652a6eb67afdc1edf0bc83d7611ac7f5781b337cf79d
@@ -107,29 +107,33 @@ module PandaPal
107
107
  login_redirects = params['lti_login_redirects'] || []
108
108
  login_redirects << request.url
109
109
 
110
- redir_url = environment_login_url
110
+ redir_url = apply_environment_to_url(v1p3_oidc_login_url)
111
111
 
112
- if redir_url.present? && !login_redirects.include?(redir_url)
112
+ if redir_url.present? && redir_url != v1p3_oidc_login_url && !login_redirects.include?(redir_url)
113
113
  @form_action = redir_url
114
114
  @method = request.method.downcase
115
115
  @form_data = (request.POST.presence || request.GET).merge({
116
116
  lti_login_redirects: login_redirects,
117
- })
117
+ }).with_indifferent_access
118
+
119
+ @form_data[:target_link_uri] = apply_environment_to_url(@form_data[:target_link_uri])
118
120
 
119
121
  render action: :login
120
122
  end
121
123
  end
122
124
 
123
- def environment_login_url
125
+ def apply_environment_to_url(url)
126
+ return url unless url.present?
127
+
124
128
  if (canvas_env = params['canvas_environment']).present?
125
129
  tdomain = PandaPal.lti_environments[:"#{canvas_env}_domain"]
126
130
 
127
131
  if tdomain.present? && !request.url.include?(tdomain)
128
- return v1p3_oidc_login_url.gsub(PandaPal.lti_environments[:domain], tdomain)
132
+ return url.gsub(PandaPal.lti_environments[:domain], tdomain)
129
133
  end
130
134
  end
131
135
 
132
- nil
136
+ url
133
137
  end
134
138
 
135
139
  private
@@ -1,3 +1,3 @@
1
1
  module PandaPal
2
- VERSION = "5.9.6"
2
+ VERSION = "5.9.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: panda_pal
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.9.6
4
+ version: 5.9.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure CustomDev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-19 00:00:00.000000000 Z
11
+ date: 2024-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails