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:
Tom Staubitz
2016-12-30 09:45:39 +01:00
parent 6f1d8b2d38
commit 325ea25849
12 changed files with 83 additions and 34 deletions

View File

@ -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