summaryrefslogtreecommitdiffstats
path: root/app/models/wiki_page.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/wiki_page.rb')
-rw-r--r--app/models/wiki_page.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb
index f937b8d67..4c2c7adb9 100644
--- a/app/models/wiki_page.rb
+++ b/app/models/wiki_page.rb
@@ -42,6 +42,8 @@ class WikiPage < ActiveRecord::Base
validates_uniqueness_of :title, :scope => :wiki_id, :case_sensitive => false
validates_associated :content
+ validate :validate_parent_title
+
# eager load information about last updates, without loading text
named_scope :with_updated_on, {
:select => "#{WikiPage.table_name}.*, #{WikiContent.table_name}.updated_on",
@@ -161,7 +163,7 @@ class WikiPage < ActiveRecord::Base
protected
- def validate
+ def validate_parent_title
errors.add(:parent_title, :invalid) if !@parent_title.blank? && parent.nil?
errors.add(:parent_title, :circular_dependency) if parent && (parent == self || parent.ancestors.include?(self))
errors.add(:parent_title, :not_same_project) if parent && (parent.wiki_id != wiki_id)