summaryrefslogtreecommitdiffstats
path: root/app/models/user_preference.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/user_preference.rb')
-rw-r--r--app/models/user_preference.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/app/models/user_preference.rb b/app/models/user_preference.rb
index 0ebafa839..e0b17631c 100644
--- a/app/models/user_preference.rb
+++ b/app/models/user_preference.rb
@@ -23,7 +23,7 @@ class UserPreference < ActiveRecord::Base
attr_protected :others, :user_id
- before_save :set_others_hash
+ before_save :set_others_hash, :clear_unused_block_settings
safe_attributes 'hide_mail',
'time_zone',
@@ -132,4 +132,10 @@ class UserPreference < ActiveRecord::Base
block_settings = my_page_settings(block).merge(settings.symbolize_keys)
my_page_settings[block] = block_settings
end
+
+ def clear_unused_block_settings
+ blocks = my_page_layout.values.flatten
+ my_page_settings.keep_if {|block, settings| blocks.include?(block)}
+ end
+ private :clear_unused_block_settings
end