reduced code complexity

This commit is contained in:
Hauke Klement
2015-02-12 12:36:30 +01:00
parent 1226eb9d24
commit 6d2b8e9acf

View File

@ -59,13 +59,8 @@ class ExercisesController < ApplicationController
private :handle_file_uploads private :handle_file_uploads
def implement def implement
if Submission.exists?(exercise_id: @exercise.id, user_id: current_user.id)
@submission = Submission.where(exercise_id: @exercise.id, user_id: current_user.id).order('created_at DESC').first @submission = Submission.where(exercise_id: @exercise.id, user_id: current_user.id).order('created_at DESC').first
@files = @submission.collect_files.select(&:visible) @files = (@submission ? @submission.collect_files : @exercise.files).select(&:visible).sort_by(&:name_with_extension)
else
@files = @exercise.files.visible
end
@files = @files.sort_by(&:name_with_extension)
end end
def index def index
@ -119,6 +114,13 @@ class ExercisesController < ApplicationController
@submission = Submission.create(submission_params) @submission = Submission.create(submission_params)
score_submission(@submission) score_submission(@submission)
if lti_outcome_service? if lti_outcome_service?
transmit_lti_score
else
redirect_to_lti_return_path
end
end
def transmit_lti_score
response = send_score(@submission.normalized_score) response = send_score(@submission.normalized_score)
if response[:status] == 'success' if response[:status] == 'success'
redirect_to_lti_return_path redirect_to_lti_return_path
@ -128,10 +130,8 @@ class ExercisesController < ApplicationController
format.json { render(json: {message: I18n.t('exercises.submit.failure')}, status: 503) } format.json { render(json: {message: I18n.t('exercises.submit.failure')}, status: 503) }
end end
end end
else
redirect_to_lti_return_path
end
end end
private :transmit_lti_score
def update def update
update_and_respond(object: @exercise, params: exercise_params) update_and_respond(object: @exercise, params: exercise_params)