Module: Cms::ApplicationHelper
- Defined in:
- app/helpers/cms/application_helper.rb
Instance Method Summary collapse
- #action_icon(name, options = {}) ⇒ Object
- #action_icon_src(name) ⇒ Object
- #categories_for(category_type_name, order = "name") ⇒ Object
- #determine_order(current_order, order) ⇒ Object
- #dk_button_wrapper(content) ⇒ Object
- #format_date(time) ⇒ Object
- #group_filter ⇒ Object
- #group_ids ⇒ Object
- #link_to_check_all(selector, name = "Check All") ⇒ Object
- #link_to_uncheck_all(selector, name = "Uncheck All") ⇒ Object
- #link_to_usages(block) ⇒ Object
- #lt_button_wrapper(content) ⇒ Object
- #page_versions(page) ⇒ Object
- #render_pagination(collection, collection_name, options = {}) ⇒ Object
- #require_javascript_include(sources = (), content_area = :html_head) ⇒ Object
- #require_stylesheet_link(sources = (), content_area = :html_head) ⇒ Object
- #searchable_sections(selected = nil) ⇒ Object
- #select_per_page ⇒ Object
- #span_tag(content) ⇒ Object
- #status_icon(status, options = {}) ⇒ Object
- #time_on_date(time) ⇒ Object
- #url_with_mode(url, mode) ⇒ Object
Instance Method Details
#action_icon(name, options = {}) ⇒ Object
49 50 51 |
# File 'app/helpers/cms/application_helper.rb', line 49 def action_icon(name, ={}) image_tag action_icon_src(name), {:alt => name.to_s.titleize}.merge() end |
#action_icon_src(name) ⇒ Object
45 46 47 |
# File 'app/helpers/cms/application_helper.rb', line 45 def action_icon_src(name) "cms/icons/actions/#{name}.png" end |
#categories_for(category_type_name, order = "name") ⇒ Object
111 112 113 114 |
# File 'app/helpers/cms/application_helper.rb', line 111 def categories_for(category_type_name, order="name") cat_type = CategoryType.named(category_type_name).first cat_type ? cat_type.category_list(order) : [] end |
#determine_order(current_order, order) ⇒ Object
142 143 144 145 146 147 148 149 150 151 152 |
# File 'app/helpers/cms/application_helper.rb', line 142 def determine_order(current_order, order) if current_order == order if order =~ / desc$/i order.sub(/ desc$/i, '') else order << ' desc' end else order end end |
#dk_button_wrapper(content) ⇒ Object
100 101 102 |
# File 'app/helpers/cms/application_helper.rb', line 100 def (content) (content).gsub("lt_button_","dk_button_") end |
#format_date(time) ⇒ Object
72 73 74 |
# File 'app/helpers/cms/application_helper.rb', line 72 def format_date(time) time && "#{time.strftime("%b %e, %Y")}" end |
#group_filter ⇒ Object
107 108 109 |
# File 'app/helpers/cms/application_helper.rb', line 107 def group_filter select_tag("group_id", (Group.all.insert(0, Group.new(:id => nil, :name => "Show All Groups")), "id", "name", params[:group_id].to_i)) end |
#group_ids ⇒ Object
103 104 105 |
# File 'app/helpers/cms/application_helper.rb', line 103 def group_ids (params[:group_ids] || @user.group_ids).collect { |g| g.to_i } end |
#link_to_check_all(selector, name = "Check All") ⇒ Object
76 77 78 |
# File 'app/helpers/cms/application_helper.rb', line 76 def link_to_check_all(selector, name="Check All") link_to_function name, "$('#{selector}').attr('checked', true)" end |
#link_to_uncheck_all(selector, name = "Uncheck All") ⇒ Object
80 81 82 |
# File 'app/helpers/cms/application_helper.rb', line 80 def link_to_uncheck_all(selector, name="Uncheck All") link_to_function name, "$('#{selector}').attr('checked', false)" end |
#link_to_usages(block) ⇒ Object
57 58 59 60 61 62 63 64 65 66 |
# File 'app/helpers/cms/application_helper.rb', line 57 def link_to_usages(block) count = block.connected_pages.count if count > 0 # Would love a cleaner solution to this problem, see http://stackoverflow.com/questions/702728 path = Portlet === block ? usages_cms_portlet_path(block) : [:usages, :cms, block] link_to count, path, :id => block.id, :block_type => block.content_block_type else count end end |
#lt_button_wrapper(content) ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 |
# File 'app/helpers/cms/application_helper.rb', line 88 def (content) <<LBW <div class="lt_button"> <img src="/images/cms/lt_button_l.gif" alt="" /> <div class="lt_button_content"> <span>#{ content }</span> </div> <img src="/images/cms/lt_button_r.gif" alt="" style="margin-right: 10px;" /> </div> LBW end |
#page_versions(page) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'app/helpers/cms/application_helper.rb', line 35 def page_versions(page) text = select_tag(:version, (page.versions.all(:order => "version desc").map { |r| ["v#{r.version}: #{r.version_comment} by #{r.updated_by.login} at #{time_on_date(r.updated_at)}", r.version] }, page.version), :onchange => 'this.form.submit(); return false') text << javascript_tag("$('version').selectedIndex = 0") if page.live? text end |
#render_pagination(collection, collection_name, options = {}) ⇒ Object
116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'app/helpers/cms/application_helper.rb', line 116 def render_pagination(collection, collection_name, ={}) if collection.blank? content_tag(:div, "No Content", :class => "pagination") else render :partial => "cms/shared/pagination", :locals => { :collection => collection, :first_page_path => send("cms_#{collection_name}_path", {:page => 1}.merge()), :previous_page_path => send("cms_#{collection_name}_path", {:page => collection.previous_page ? collection.previous_page : 1}.merge()), :current_page_path => send("cms_#{collection_name}_path", ), :next_page_path => send("cms_#{collection_name}_path", {:page => collection.next_page ? collection.next_page : collection.current_page}.merge()), :last_page_path => send("cms_#{collection_name}_path", {:page => collection.total_pages}.merge()) } end end |
#require_javascript_include(sources = (), content_area = :html_head) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'app/helpers/cms/application_helper.rb', line 14 def require_javascript_include(sources=(), content_area=:html_head) @required_javascript_includes ||= [] new_links = sources.to_a - @required_javascript_includes if !new_links.empty? @required_javascript_includes |= new_links content_for(content_area, javascript_include_tag(new_links)) end end |
#require_stylesheet_link(sources = (), content_area = :html_head) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'app/helpers/cms/application_helper.rb', line 5 def require_stylesheet_link(sources=(), content_area=:html_head) @required_stylesheet_links ||= [] new_links = sources.to_a - @required_stylesheet_links if !new_links.empty? @required_stylesheet_links |= new_links content_for(content_area, stylesheet_link_tag(new_links)) end end |
#searchable_sections(selected = nil) ⇒ Object
23 24 25 26 27 28 |
# File 'app/helpers/cms/application_helper.rb', line 23 def searchable_sections(selected = nil) root = Section.root.first = [['All sections', 'all'], [root.name, root.id]] root.all_children_with_name.each { |s| << [s.full_path, s.id] } (, selected.to_i) end |
#select_per_page ⇒ Object
30 31 32 33 |
# File 'app/helpers/cms/application_helper.rb', line 30 def select_per_page = [10, 20, 50, 100].collect { |c| ["#{c} per page", c] } select_tag("per_page", (, params[:per_page].to_i)) end |
#span_tag(content) ⇒ Object
85 86 87 |
# File 'app/helpers/cms/application_helper.rb', line 85 def span_tag(content) content_tag :span, content end |
#status_icon(status, options = {}) ⇒ Object
53 54 55 |
# File 'app/helpers/cms/application_helper.rb', line 53 def status_icon(status, ={}) image_tag "cms/icons/status/#{status.to_s.underscore}.gif", {:alt => status.to_s.titleize}.merge() end |
#time_on_date(time) ⇒ Object
68 69 70 |
# File 'app/helpers/cms/application_helper.rb', line 68 def time_on_date(time) time && "#{time.strftime("%l:%M %p")} on #{time.strftime("%b %e, %Y")}" end |
#url_with_mode(url, mode) ⇒ Object
131 132 133 134 135 136 137 138 139 140 |
# File 'app/helpers/cms/application_helper.rb', line 131 def url_with_mode(url, mode) uri = URI.parse(url) if uri.query =~ /mode=[^&]*/ "#{uri.path}?#{uri.query.gsub(/((^|&)mode=)[^&]*/) {|s| "#{$1}#{mode}" }}" elsif uri.query "#{uri.path}?#{uri.query}&mode=#{mode}" else "#{uri.path}?mode=#{mode}" end end |