Always use last LtiParamters if multiple are stored.
Still unsure, how that could happen. We want to prevent that
This commit is contained in:
@ -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)
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user