Add StudyGroups with ExternalUsers only

This commit is contained in:
Sebastian Serth
2018-11-26 17:06:35 +01:00
parent 141450a840
commit b137e64020
12 changed files with 86 additions and 6 deletions

View File

@@ -52,6 +52,11 @@ module Lti
end
private :external_user_name
def mooc_course
# All Xikolo platforms set the custom_course to the course code
params[:custom_course]
end
def refuse_lti_launch(options = {})
return_to_consumer(lti_errorlog: options[:message], lti_errormsg: t('sessions.oauth.failure'))
end
@@ -133,6 +138,13 @@ module Lti
end
private :set_current_user
def set_study_group_membership
return if mooc_course
group = StudyGroup.find_or_create_by(external_id: @provider.resource_link_id, consumer: @consumer)
group.users |= [@current_user] # add current user if not already member of the group
group.save
end
def store_lti_session_data(options = {})
lti_parameters = LtiParameter.find_or_create_by(consumers_id: options[:consumer].id,
external_users_id: @current_user.id,

View File

@@ -1,7 +1,7 @@
class SessionsController < ApplicationController
include Lti
[:require_oauth_parameters, :require_valid_consumer_key, :require_valid_oauth_signature, :require_unique_oauth_nonce, :set_current_user, :require_valid_exercise_token].each do |method_name|
[:require_oauth_parameters, :require_valid_consumer_key, :require_valid_oauth_signature, :require_unique_oauth_nonce, :set_current_user, :set_study_group_membership, :require_valid_exercise_token].each do |method_name|
before_action(method_name, only: :create_through_lti)
end