Improve LTI handling for InternalUsers

This commit is contained in:
Sebastian Serth
2023-11-02 00:28:11 +01:00
committed by Sebastian Serth
parent 3b05a44b9e
commit b43dfa364e
3 changed files with 7 additions and 7 deletions

View File

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

View File

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

View File

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