panda_pal 5.9.6 → 5.9.7

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: 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