app/models/thredded/user_messageboard_preference.rb in thredded-0.10.1 vs app/models/thredded/user_messageboard_preference.rb in thredded-0.11.0
- old
+ new
@@ -11,10 +11,34 @@
belongs_to :messageboard
validates :user_id, presence: true
validates :messageboard_id, presence: true
+ after_initialize :set_auto_follow_from_user_preference, unless: :persisted?
+
+ scope :auto_followers, -> { where(auto_follow_topics: true) }
+
def self.in(messageboard)
find_or_initialize_by(messageboard_id: messageboard.id)
+ end
+
+ def user_preference
+ super || build_user_preference
+ end
+
+ def user_id=(value)
+ super
+ set_auto_follow_from_user_preference
+ end
+
+ def user=(value)
+ super
+ set_auto_follow_from_user_preference
+ end
+
+ private
+
+ def set_auto_follow_from_user_preference
+ self.auto_follow_topics = user_preference.auto_follow_topics if user_id && !id
end
end
end