discourse/db/migrate/20140211230222_move_cas_settings.rb
Sam Saffron 30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00

39 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")
if cas_logins
cas_logins.destroy
end
#remove the unused table
drop_table :cas_user_infos
end
end