diff --git a/app/models/communication/extranet/with_sso.rb b/app/models/communication/extranet/with_sso.rb index a95cdf9ae7d181261458205b44ba55f8ed70137a..fc6b1b7ab5dadff9c3b6914a9cc48f0b4ab22712 100644 --- a/app/models/communication/extranet/with_sso.rb +++ b/app/models/communication/extranet/with_sso.rb @@ -18,6 +18,28 @@ module Communication::Extranet::WithSso super(value) end + def sso_cert + sso_inherit_from_university? ? university.sso_cert : @sso_cert + end + + def sso_mapping + sso_inherit_from_university? ? university.sso_mapping : @sso_mapping + end + + def sso_name_identifier_format + sso_inherit_from_university? ? university.sso_name_identifier_format : @sso_name_identifier_format + end + + def sso_provider + sso_inherit_from_university? ? university.sso_provider : @sso_provider + end + + def sso_target_url + sso_inherit_from_university? ? university.sso_target_url : @sso_target_url + end + + private + def sso_mapping_should_have_email errors.add(:sso_mapping, :missing_email) unless (sso_mapping || []).detect { |sso_item| sso_item['internal_key'] == 'email' } end diff --git a/app/models/university/with_sso.rb b/app/models/university/with_sso.rb index 906beb0f271d919baa1bfc5c061c028148b7e94b..1bf5febd1c1d0a7cb548f084399cdc78d61801e9 100644 --- a/app/models/university/with_sso.rb +++ b/app/models/university/with_sso.rb @@ -18,26 +18,6 @@ module University::WithSso super(value) end - def sso_cert - sso_inherit_from_university? ? university.sso_cert : @sso_cert - end - - def sso_mapping - sso_inherit_from_university? ? university.sso_mapping : @sso_mapping - end - - def sso_name_identifier_format - sso_inherit_from_university? ? university.sso_name_identifier_format : @sso_name_identifier_format - end - - def sso_provider - sso_inherit_from_university? ? university.sso_provider : @sso_provider - end - - def sso_target_url - sso_inherit_from_university? ? university.sso_target_url : @sso_target_url - end - private def sso_mapping_should_have_email