Avoid setting page as parent id, which has current page as parent.

This commit is contained in:
benni 2011-03-09 13:36:02 +01:00
parent 20b7db306b
commit 6c82d0e06a
3 changed files with 14 additions and 6 deletions

View file

@ -50,6 +50,10 @@ module PagesHelper
end
def parent_pages_to_select(current_page)
Page.non_redirected.reject { |p| p == current_page }
unless current_page.homepage? # Homepage is the page trees root!
Page.non_redirected.reject { |p| p == current_page or p.ancestors.include?(current_page) }
else
Array.new
end
end
end

View file

@ -32,11 +32,15 @@ class Page < ActiveRecord::Base
named_scope :non_redirected, :conditions => {:redirect => nil}
named_scope :no_parent, :conditions => {:parent_id => nil}
def self.permalink(title)
title.gsub(/[\/\.,;@\s]/, "_").gsub(/[\"\']/, "")
end
def homepage?
permalink == "Home"
end
def set_permalink
unless title.blank?
self.permalink = Page.count == 0 ? "Home" : Page.permalink(title)