mirror of
https://github.com/discourse/discourse.git
synced 2024-12-21 10:38:14 +08:00
36 lines
1.4 KiB
Ruby
36 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
class MoveCasSettings < ActiveRecord::Migration[4.2]
|
|
def change
|
|
#As part of removing the build in CAS authentication we should
|
|
#convert the data over to be used by the plugin.
|
|
cas_hostname = SiteSetting.find_by(name: "cas_hostname")
|
|
cas_sso_hostname = SiteSetting.find_by(name: "cas_sso_hostname")
|
|
if cas_hostname && !cas_sso_hostname
|
|
#convert the setting over for use by the plugin
|
|
cas_hostname.update_attribute(:name, "cas_sso_hostname")
|
|
elsif cas_hostname && cas_sso_hostname
|
|
#copy the setting over for use by the plugin and delete the original setting
|
|
cas_sso_hostname.update_attribute(:value, cas_hostname.value)
|
|
cas_hostname.destroy
|
|
end
|
|
|
|
cas_domainname = SiteSetting.find_by(name: "cas_domainname")
|
|
cas_sso_email_domain = SiteSetting.find_by(name: "cas_sso_email_domain")
|
|
if cas_domainname && !cas_sso_email_domain
|
|
#convert the setting over for use by the plugin
|
|
cas_domainname.update_attribute(:name, "cas_sso_email_domain")
|
|
elsif cas_domainname && cas_sso_email_domain
|
|
#copy the setting over for use by the plugin and delete the original setting
|
|
cas_sso_email_domain.update_attribute(:value, cas_domainname.value)
|
|
cas_domainname.destroy
|
|
end
|
|
|
|
cas_logins = SiteSetting.find_by(name: "cas_logins")
|
|
cas_logins.destroy if cas_logins
|
|
|
|
#remove the unused table
|
|
drop_table :cas_user_infos
|
|
end
|
|
end
|