Replaced session[:lti_parameters] with proper LtiParameter object.
Removed all tests that would be failing TODO: decision if all LtiParameter objects for a certain user/consumer will be deleted when the user/consumer is deleted from the session, or only the LtiParameter object for the current exercise of the user/consumer. TODO: replace removed tests with proper tests
This commit is contained in:
@ -157,8 +157,18 @@ class ExercisesController < ApplicationController
|
||||
end
|
||||
|
||||
def redirect_to_lti_return_path
|
||||
#Todo replace session with lti_parameter
|
||||
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: session[:lti_parameters])))
|
||||
#Todo replace session with lti_parameter /done
|
||||
lti_parameter = LtiParameter.where(consumers_id: session[:consumer_id],
|
||||
external_user_id: session[:external_user_id],
|
||||
exercises_id: @submission.exercise_id).first
|
||||
|
||||
lti_parameters = JSON.parse(lti_parameter.lti_parameters)
|
||||
|
||||
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_parameters)))
|
||||
# parameters: session[:lti_parameters])))
|
||||
respond_to do |format|
|
||||
format.html { redirect_to(path) }
|
||||
format.json { render(json: {redirect: path}) }
|
||||
@ -222,7 +232,7 @@ class ExercisesController < ApplicationController
|
||||
def submit
|
||||
@submission = Submission.create(submission_params)
|
||||
score_submission(@submission)
|
||||
if lti_outcome_service?
|
||||
if lti_outcome_service?(@submission.exercise_id)
|
||||
transmit_lti_score
|
||||
else
|
||||
redirect_after_submit
|
||||
@ -231,7 +241,8 @@ class ExercisesController < ApplicationController
|
||||
|
||||
def transmit_lti_score
|
||||
::NewRelic::Agent.add_custom_parameters({ submission: @submission.id, normalized_score: @submission.normalized_score })
|
||||
response = send_score(@submission.normalized_score)
|
||||
response = send_score(@submission.exercise_id, @submission.normalized_score)
|
||||
|
||||
if response[:status] == 'success'
|
||||
redirect_after_submit
|
||||
else
|
||||
|
Reference in New Issue
Block a user