Ensure error is still thrown if lti_parameter is null

This commit is contained in:
Sebastian Serth
2020-03-04 18:20:19 +01:00
parent 99e4aec1cb
commit 0f140021e5

View File

@ -323,30 +323,28 @@ class ExercisesController < ApplicationController
end end
def redirect_to_lti_return_path def redirect_to_lti_return_path
begin Raven.extra_context(
lti_parameter = LtiParameter.where(consumers_id: session[:consumer_id], consumers_id: session[:consumer_id],
external_users_id: @submission.user_id, external_users_id: @submission.user_id,
exercises_id: @submission.exercise_id).first exercises_id: @submission.exercise_id,
session: session,
submission: @submission,
params: params,
current_user: current_user,
lti_exercise_id: session[:lti_exercise_id]
)
path = lti_return_path(consumer_id: session[:consumer_id], lti_parameter = LtiParameter.where(consumers_id: session[:consumer_id],
submission_id: @submission.id, external_users_id: @submission.user_id,
url: consumer_return_url(build_tool_provider(consumer: Consumer.find_by(id: session[:consumer_id]), exercises_id: @submission.exercise_id).first
parameters: lti_parameter.lti_parameters)))
respond_to do |format| path = lti_return_path(consumer_id: session[:consumer_id],
format.html { redirect_to(path) } submission_id: @submission.id,
format.json { render(json: {redirect: path}) } url: consumer_return_url(build_tool_provider(consumer: Consumer.find_by(id: session[:consumer_id]),
end parameters: lti_parameter.lti_parameters)))
rescue StandardError respond_to do |format|
Raven.extra_context( format.html { redirect_to(path) }
consumers_id: session[:consumer_id], format.json { render(json: {redirect: path}) }
external_users_id: @submission.user_id,
exercises_id: @submission.exercise_id,
session: session,
submission: @submission,
params: params,
current_user: current_user,
lti_exercise_id: session[:lti_exercise_id]
)
end end
end end
private :redirect_to_lti_return_path private :redirect_to_lti_return_path