Allow LTI clients to specify a redirect target

This commit is contained in:
Sebastian Serth
2019-02-05 12:13:46 +01:00
parent c74f2bd4ba
commit 2df992102f

View File

@ -20,9 +20,13 @@ class SessionsController < ApplicationController
def create_through_lti def create_through_lti
store_lti_session_data(consumer: @consumer, parameters: params) store_lti_session_data(consumer: @consumer, parameters: params)
store_nonce(params[:oauth_nonce]) store_nonce(params[:oauth_nonce])
redirect_to(implement_exercise_path(@exercise), if params[:redirect_target]
notice: t("sessions.create_through_lti.session_#{lti_outcome_service?(@exercise.id, @current_user.id , @consumer.id) ? 'with' : 'without'}_outcome", redirect_to(params[:redirect_target])
consumer: @consumer)) else
redirect_to(implement_exercise_path(@exercise),
notice: t("sessions.create_through_lti.session_#{lti_outcome_service?(@exercise.id, @current_user.id , @consumer.id) ? 'with' : 'without'}_outcome",
consumer: @consumer))
end
end end
def destroy def destroy