unloadable\r
\r
@@skip_callbacks = false\r
- EMAIL_YAML = RAILS_ROOT + "/config/email.yml"\r
+ CONFIG_YAML = RAILS_ROOT + "/config/configuration.yml"\r
\r
belongs_to :auth_source\r
\r
admin_password && Base64.encode64(admin_password).chomp\r
end\r
\r
+ def config\r
+ @config ||= File.file?(CONFIG_YAML) ? YAML.load_file(CONFIG_YAML) : {}\r
+ end\r
+\r
def smtp_settings\r
- @email_config ||= File.file?(EMAIL_YAML) ? YAML.load_file(EMAIL_YAML) : {}\r
- conf = @email_config[RAILS_ENV] ||= {}\r
+ conf = config["default"] ||= {}\r
+ conf = conf["email_delivery"] ||= {}\r
conf["delivery_method"] ||= :smtp\r
conf["smtp_settings"] ||= {}\r
end\r
end\r
\r
def smtp_port\r
- smtp_settings["port"] ||= 25\r
+ smtp_settings["port"]\r
end\r
\r
def smtp_port=(value)\r
- set_smtp_setting("port", value.to_i)\r
+ set_smtp_setting("port", value.to_i.nonzero?)\r
end\r
\r
def smtp_user\r
Setting.mail_from = @smtp_sender\r
end\r
\r
- smtp_settings["domain"] ||= "localhost"\r
+ self.smtp_port ||= 25\r
+\r
if smtp_user.blank? || smtp_password.blank?\r
%w[authentication user_name password].each {|key|\r
smtp_settings.delete(key)\r
}\r
else\r
smtp_settings["authentication"] = :login\r
+ smtp_settings["domain"] ||= "localhost"\r
end\r
\r
self.class.replace_xml(\r
["//smtpAuthUsername", smtp_user],\r
["//smtpAuthPassword", smtp_password]\r
)\r
- self.class.write_file(EMAIL_YAML, YAML.dump(@email_config))\r
+ self.class.write_file(CONFIG_YAML, YAML.dump(config))\r
@smtp_settings_changed = nil\r
end\r
\r
v = "@smtp_#{key}_was"\r
v = instance_variable_get(v) || instance_variable_set(v, smtp_settings[key])\r
@smtp_settings_changed = true if v != value\r
- smtp_settings[key] = value\r
+ value.blank? ? smtp_settings.delete(key) : (smtp_settings[key] = value)\r
end\r
end\r