From 9ef506e731233a2473ae07c86eea1da2bd5db943 Mon Sep 17 00:00:00 2001 From: Toks Date: Tue, 30 Apr 2013 20:16:16 -0400 Subject: [PATCH] fixes #1456 --- app/models/post.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/models/post.rb b/app/models/post.rb index 377d562e8..e97a034a7 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -31,6 +31,7 @@ class Post < ActiveRecord::Base has_many :disapprovals, :class_name => "PostDisapproval", :dependent => :destroy validates_uniqueness_of :md5 validates_presence_of :parent, :if => lambda {|rec| !rec.parent_id.nil?} + validate :post_is_not_its_own_parent attr_accessible :source, :rating, :tag_string, :old_tag_string, :last_noted_at, :parent_id, :as => [:member, :builder, :gold, :platinum, :contributor, :janitor, :moderator, :admin, :default] attr_accessible :is_rating_locked, :is_note_locked, :as => [:builder, :contributor, :janitor, :moderator, :admin] attr_accessible :is_status_locked, :as => [:admin] @@ -798,6 +799,13 @@ class Post < ActiveRecord::Base update_column(:score, 0) end + + def post_is_not_its_own_parent + if id == parent_id + errors[:base] << "Post cannot have itself as a parent" + false + end + end end module DeletionMethods