Defect #3692 » 3692.patch
app/models/setting.rb | ||
---|---|---|
84 | 84 |
validates_inclusion_of :name, :in => @@available_settings.keys |
85 | 85 |
validates_numericality_of :value, :only_integer => true, :if => Proc.new { |setting| @@available_settings[setting.name]['format'] == 'int' } |
86 | 86 | |
87 |
before_save :remove_trailing_slash_from_hostname |
|
88 | ||
87 | 89 |
# Hash used to cache setting values |
88 | 90 |
@cached_settings = {} |
89 | 91 |
@cached_cleared_on = Time.now |
... | ... | |
157 | 159 |
end |
158 | 160 |
|
159 | 161 |
private |
162 |
def remove_trailing_slash_from_hostname |
|
163 |
value.gsub!(/\/+$/, '') if name == 'host_name' |
|
164 |
end |
|
165 | ||
160 | 166 |
# Returns the Setting instance for the setting named name |
161 | 167 |
# (record found in database or new record with default value) |
162 | 168 |
def self.find_or_default(name) |
test/functional/settings_controller_test.rb | ||
---|---|---|
56 | 56 |
assert_equal %w(issue_added issue_updated news_added), Setting.notified_events |
57 | 57 |
assert_equal 'Test footer', Setting.emails_footer |
58 | 58 |
end |
59 | ||
60 |
# Test if the host-name is modified so that no forward-slash is at the end of the string. |
|
61 |
def test_post_edit_host_name |
|
62 |
post :edit, :settings => {:host_name => 'http://www.example.com/'} |
|
63 |
assert_redirected_to 'settings/edit' |
|
64 |
assert_equal 'http://www.example.com', Setting.host_name |
|
65 |
end |
|
66 | ||
59 | 67 |
end |
- « Previous
- 1
- 2
- 3
- Next »