diff --git a/Gemfile.lock b/Gemfile.lock index 20860087..dee3583d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -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 diff --git a/app/helpers/pages_helper.rb b/app/helpers/pages_helper.rb index f5ceaba7..51c5a253 100644 --- a/app/helpers/pages_helper.rb +++ b/app/helpers/pages_helper.rb @@ -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 diff --git a/app/models/page.rb b/app/models/page.rb index 4f844e24..3cb9cd79 100644 --- a/app/models/page.rb +++ b/app/models/page.rb @@ -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)