Sha256: b7259c8dd78c8b7a934769f276c84b78f21cdf11d1d476b02baec16ab848d558

Contents?: true

Size: 1.27 KB

Versions: 1

Compression:

Stored size: 1.27 KB

Contents

module Admin::PageHelper
  def render_node(page, locals = {})
    locals.reverse_merge!(:level => 0, :simple => false).merge!(:page => page)
    render :partial => 'node', :locals =>  locals
  end

  def expanded_rows
    rows = case
    when row_string = (cookies['expanded_rows'] || []).first
      row_string.split(',').map { |x| Integer(x) rescue nil }.compact
    else
      []
    end
    (rows << homepage.id).uniq
  end
  
  def meta_errors?
    !!(@page.errors[:slug] or @page.errors[:breadcrumb])
  end
  
  def tag_reference(class_name)
    returning String.new do |output|
      class_name.constantize.tag_descriptions.sort.each do |tag_name, description|
        output << render(:partial => "tag_reference", 
            :locals => {:tag_name => tag_name, :description => description})
      end
    end
  end
  
  def filter_reference(filter_name)
    unless filter_name.blank?
      filter_class = (filter_name + "Filter").constantize
      filter_class.description.blank? ? "There is no documentation on this filter." : filter_class.description
    else
      "There is no filter on the current page part."
    end
  end
  
  def default_filter_name
    @page.parts.empty? ? "" : @page.parts[0].filter_id
  end
  
  def homepage
    @homepage ||= Page.find_by_parent_id(nil)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
radiant-0.6.0 app/helpers/admin/page_helper.rb