Add additional logging for Sentry

This commit is contained in:
Sebastian Serth
2020-03-04 17:42:07 +01:00
parent 9f2c12323e
commit dbfc1b2e11
2 changed files with 27 additions and 13 deletions

View File

@ -105,11 +105,12 @@ module Lti
def require_valid_exercise_token
proxy_exercise = ProxyExercise.find_by(token: params[:custom_token])
@exercise = unless proxy_exercise.nil?
proxy_exercise.get_matching_exercise(@current_user)
else
@exercise = if proxy_exercise.nil?
Exercise.find_by(token: params[:custom_token])
else
proxy_exercise.get_matching_exercise(@current_user)
end
session[:lti_exercise_id] = @exercise.id
refuse_lti_launch(message: t('sessions.oauth.invalid_exercise_token')) unless @exercise
end

View File

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