Class: DcPageRenderer

Inherits:
Object
  • Object
show all
Includes:
DcApplicationHelper
Defined in:
app/helpers/dc_page_renderer.rb

Overview

Page renderer renders data from dc_page collection documents. This renderer will almost certainly be replaced by your own renderer so example here shows just basic code which just checks if user is allowed to view data and if so returns document body content otherwise returns error message defined in site policy.

Example:

<div id="page">
  <%= dc_render(:dc_page) %>
</div>

Instance Attribute Summary

Attributes included from DcApplicationHelper

#design, #form, #ids, #options, #page, #page_title, #part, #parts, #site, #tables

Instance Method Summary collapse

Methods included from DcApplicationHelper

#_origin, #dc_add2_record_cookie, #dc_big_table, #dc_choices4, #dc_choices4_all_collections, #dc_choices4_cmsmenu, #dc_choices4_field, #dc_choices4_folders_list, #dc_choices4_menu, #dc_choices4_site_policies, #dc_date_time, #dc_deprecate, #dc_dont?, #dc_edit_mode?, #dc_edit_title, #dc_error_messages_for, #dc_flash_messages, #dc_format_date_time, #dc_get_site, #dc_icon4_boolean, #dc_iframe_edit, #dc_label_for, #dc_limit_string, #dc_link_for_create, #dc_link_for_edit, #dc_link_for_edit1, #dc_link_menu_tag, #dc_link_to, #dc_name4_id, #dc_name4_value, #dc_new_title, #dc_page_bottom, #dc_page_class, #dc_page_edit_menu, #dc_page_top, #dc_render, #dc_render_design, #dc_render_design_part, #dc_render_from_site, #dc_replace_in_design, #dc_submit_tag, #dc_table_title, #dc_user_can_view, #dc_user_has_role, #decamelize_type, #forms_merge, #t, #t_name, #t_tablename

Constructor Details

#initialize(parent, opts = {}) ⇒ DcPageRenderer

Object initialization.



43
44
45
46
47
48
# File 'app/helpers/dc_page_renderer.rb', line 43

def initialize( parent, opts={} ) #:nodoc:
  @parent = parent
  @opts   = opts
  @page   = @parent.page
  @css    = ''
end

Instance Method Details

#defaultObject

Default DcPage render method



53
54
55
56
57
58
59
60
61
# File 'app/helpers/dc_page_renderer.rb', line 53

def default
  can_view, msg = dc_user_can_view(@parent, @page)
  return msg unless can_view
#  
  html = ''
  html << dc_page_edit_menu() if @opts[:edit_mode] > 1
  @parent.page_title = @page.title.blank? ? @page.subject : @page.title
  html << @page.body
end

#render_cssObject

Return CSS part of code.



74
75
76
# File 'app/helpers/dc_page_renderer.rb', line 74

def render_css
  @css
end

#render_htmlObject

Renderer dispatcher. Method returns HTML part of code.



66
67
68
69
# File 'app/helpers/dc_page_renderer.rb', line 66

def render_html
  method = @opts[:method] || 'default'
  respond_to?(method) ? send(method) : "Error DcPage: Method #{method} doesn't exist!"
end