diff --git a/app/controllers/concerns/lti.rb b/app/controllers/concerns/lti.rb index 9d229013..47bffb6f 100644 --- a/app/controllers/concerns/lti.rb +++ b/app/controllers/concerns/lti.rb @@ -163,7 +163,7 @@ module Lti private :send_scores def send_score_for(submission, user, score) - return {status: 'error', user:} unless user.external_user? && user.consumer + return {status: 'unsupported', user:} unless user.external_user? && user.consumer lti_parameter = user.lti_parameters.find_by(exercise: submission.exercise, study_group: submission.study_group) provider = build_tool_provider(consumer: user.consumer, parameters: lti_parameter&.lti_parameters) diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index a1def858..7d9e104b 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -50,8 +50,10 @@ class SessionsController < ApplicationController def destroy_through_lti @submission = Submission.find(params[:submission_id]) authorize(@submission, :show?) - lti_parameter = current_user.lti_parameters.find_by(exercise: @submission.exercise, study_group_id: current_user.current_study_group_id) - @url = consumer_return_url(build_tool_provider(consumer: current_user.consumer, parameters: lti_parameter&.lti_parameters)) + if current_user.external_user? + @lti_parameter = current_user.lti_parameters.find_by(exercise: @submission.exercise, study_group_id: current_user.current_study_group_id) + @url = consumer_return_url(build_tool_provider(consumer: current_user.consumer, parameters: @lti_parameter&.lti_parameters)) + end end def destroy diff --git a/app/views/sessions/destroy_through_lti.html.slim b/app/views/sessions/destroy_through_lti.html.slim index 2a44b4e9..8399d9bf 100644 --- a/app/views/sessions/destroy_through_lti.html.slim +++ b/app/views/sessions/destroy_through_lti.html.slim @@ -1,10 +1,8 @@ h1 = t('.headline') -- consumer = current_user.consumer - p - = t(".success_#{consumer ? 'with' : 'without'}_outcome", consumer: consumer) - ==< t(".finished_#{consumer ? 'with' : 'without'}_consumer", consumer: h(consumer.name), url: @url) + = t(".success_#{@lti_parameter ? 'with' : 'without'}_outcome", consumer: current_user.consumer) + ==< t(".finished_#{@lti_parameter ? 'with' : 'without'}_consumer", consumer: h(current_user.consumer.name), url: @url) =< t(".do_not_use_backbutton") h2 = t('shared.statistics')