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

@ -14,10 +14,10 @@ GEM
haml (3.0.25)
mysql (2.8.1)
prawn (0.6.3)
prawn-core (>= 0.6.3, < 0.7)
prawn-format (>= 0.2.3, < 0.3)
prawn-layout (>= 0.3.2, < 0.4)
prawn-security (>= 0.1.1, < 0.2)
prawn-core (< 0.7, >= 0.6.3)
prawn-format (< 0.3, >= 0.2.3)
prawn-layout (< 0.4, >= 0.3.2)
prawn-security (< 0.2, >= 0.1.1)
prawn-core (0.6.3)
prawn-format (0.2.3)
prawn-core

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)