Modified: trunk/app/models/bookmark.rb (2200 => 2201)
--- trunk/app/models/bookmark.rb 2009-05-27 14:16:42 UTC (rev 2200)
+++ trunk/app/models/bookmark.rb 2009-05-27 14:53:43 UTC (rev 2201)
@@ -16,6 +16,8 @@
validates_presence_of :bookmarkable
validates_presence_of :user
+ validate :check_duplicate_favourites
+
# Helper class method to lookup all comments assigned
# to all commentable types for a given user.
def self.find_bookmarks_by_user(user)
@@ -30,4 +32,10 @@
def self.find_bookmarkable(commentable_str, commentable_id)
commentable_str.constantize.find(commentable_id)
end
+
+ def check_duplicate_favourites
+ if Bookmark.find_by_user_id_and_bookmarkable_type_and_bookmarkable_id(user_id, bookmarkable_type, bookmarkable_id)
+ errors.add_to_base("Objects cannot be favourited more than once")
+ end
+ end
end