diff --git a/app/controllers/concerns/lti.rb b/app/controllers/concerns/lti.rb index 7cb35046..b19f885c 100644 --- a/app/controllers/concerns/lti.rb +++ b/app/controllers/concerns/lti.rb @@ -145,7 +145,7 @@ module Lti if session[:consumer_id] lti_parameter = LtiParameter.where(consumers_id: session[:consumer_id], external_users_id: user_id, - exercises_id: exercise_id).first + exercises_id: exercise_id).last consumer = Consumer.find_by(id: session[:consumer_id]) provider = build_tool_provider(consumer: consumer, parameters: lti_parameter.lti_parameters) diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index 8caed7fd..2bb18096 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -264,8 +264,8 @@ class ExercisesController < ApplicationController end def set_course_token - lti_parameters = LtiParameter.find_by(external_users_id: current_user.id, - exercises_id: @exercise.id) + lti_parameters = LtiParameter.where(external_users_id: current_user.id, + exercises_id: @exercise.id).last if lti_parameters lti_json = lti_parameters.lti_parameters["launch_presentation_return_url"] @@ -337,7 +337,7 @@ class ExercisesController < ApplicationController lti_parameter = LtiParameter.where(consumers_id: session[:consumer_id], external_users_id: @submission.user_id, - exercises_id: @submission.exercise_id).first + exercises_id: @submission.exercise_id).last path = lti_return_path(consumer_id: session[:consumer_id], submission_id: @submission.id, diff --git a/app/helpers/lti_helper.rb b/app/helpers/lti_helper.rb index ff2d6354..de7624c7 100644 --- a/app/helpers/lti_helper.rb +++ b/app/helpers/lti_helper.rb @@ -6,7 +6,7 @@ module LtiHelper lti_parameters = LtiParameter.where(consumers_id: consumer_id, external_users_id: external_user_id, - exercises_id: exercise_id).lis_outcome_service_url? + exercises_id: exercise_id).lis_outcome_service_url?.last !lti_parameters.nil? && lti_parameters.present? end end