From ce2823e871f9e6e33a595efd62d5fa1a276be6bc Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Mon, 3 Apr 2017 15:26:02 +0200 Subject: [PATCH 1/2] restrict name to be set to lis_person_name_full (should be display name) or to lis_person_name_given (should be first name). don't use xikolo api any longer for consumer openHPI, use the values in CodeOcean. --- app/controllers/concerns/lti.rb | 6 +++--- app/models/external_user.rb | 8 +++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/app/controllers/concerns/lti.rb b/app/controllers/concerns/lti.rb index 7483327d..0068afe1 100644 --- a/app/controllers/concerns/lti.rb +++ b/app/controllers/concerns/lti.rb @@ -42,12 +42,12 @@ module Lti private :external_user_email def external_user_name(provider) + # save person_name_full if supplied. this is the display_name, if it is set. + # else only save the firstname, we don't want lastnames (family names) if provider.lis_person_name_full provider.lis_person_name_full - elsif provider.lis_person_name_given && provider.lis_person_name_family - "#{provider.lis_person_name_given} #{provider.lis_person_name_family}" else - provider.lis_person_name_given || provider.lis_person_name_family + provider.lis_person_name_given end end private :external_user_name diff --git a/app/models/external_user.rb b/app/models/external_user.rb index 54d5d526..3eebc205 100644 --- a/app/models/external_user.rb +++ b/app/models/external_user.rb @@ -5,11 +5,9 @@ class ExternalUser < ActiveRecord::Base validates :external_id, presence: true def displayname - result = "User " + id.to_s - if(!consumer.nil? && consumer.name == 'openHPI') - result = Rails.cache.fetch("#{cache_key}/displayname", expires_in: 12.hours) do - Xikolo::UserClient.get(external_id.to_s)[:display_name] - end + result = name + if(result == nil || discount == "") + result = "User " + id.to_s end result end From 8197d40c6cc0f7d16d314ba79eecfa1bfb71d3ad Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Mon, 3 Apr 2017 17:20:50 +0200 Subject: [PATCH 2/2] fixed copy and paste error... --- app/models/external_user.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/external_user.rb b/app/models/external_user.rb index 3eebc205..b7a0ebc5 100644 --- a/app/models/external_user.rb +++ b/app/models/external_user.rb @@ -6,7 +6,7 @@ class ExternalUser < ActiveRecord::Base def displayname result = name - if(result == nil || discount == "") + if(result == nil || result == "") result = "User " + id.to_s end result