require 'cms/fortress/settings' require 'cms/fortress/error' module Cms::Fortress::ApplicationHelper def dashboard_widget(title, collection) render partial: "cms/fortress/shared/dashboard_widget", locals: {title: title, collection: collection} end def role_display(command) res = command.split(".") raw "#{content_tag(:strong, t("cms.fortress.roles.#{res.first}")) } / #{ res[1..-1].map {|r| t("cms.fortress.roles.#{r}")}.join(" - ") }" end def theme_name Cms::Fortress.configuration.theme.to_s end def default_theme? theme_name.to_s.eql?('default') end def themed_partial(partial) render partial: "cms/fortress/themes/#{ theme_name }/#{ partial }" end def back_path case controller_name when "pages" comfy_admin_cms_site_pages_path(@site) when "files" comfy_admin_cms_site_files_path(@site) when "layouts" comfy_admin_cms_site_layouts_path(@site) when "snippets" comfy_admin_cms_site_snippets_path(@site) else "" end end def topnav_resource_item(key, resource) if ["divider", "dropdown-header"].include?(resource[:name]) title = resource[:title].nil? ? "" : t(resource[:title], site_name: @site.label) content_tag(:li, title, class: resource[:name], role: "presentation") else if can? :view, "#{ key }.#{ resource[:name] }" if path = resource_path(resource[:path]) topnav_item t(resource[:title]), path, current_page?(path) end end end end def resource_path(path) begin eval(path) rescue end end def media_files_path(type) if params[:site_id] if type.eql?(:image) cms_fortress_files_images_path elsif type.eql?(:video) cms_fortress_files_videos_path else cms_fortress_files_others_url(format: :json) end end end def image_item(m) styles = {original: m.file.url} m.file.styles.keys.each {|k,v| styles[k] = m.file.url(k) } link_to image_tag(m.file.url(:cms_thumb), alt: m.label, class: 'editor-image', data: styles), "#" end def image_styles(m) links = [] links << link_to("Original", m.file.url, class: 'label label-primary editor-image-style', target: '_blank', title: "Select original size") i = 0 m.file.styles.each {|k,v| links << link_to("#{ i+=1 }", m.file.url(k), class: 'label label-primary editor-image-style', target: '_blank', title: "Select #{ k.to_s.titleize }") } raw links.join(" ") end def topnav_item(title, path, is_current = false) css_class = is_current ? "active" : "" content_tag(:li, link_to(title, path), class: css_class, role: "presentation") end def leftnav_item(title, path, options = {}) content_tag(:li, active_link_to(title, path, options)) end def admin_page? controller_name.eql?('admin') && %w{roles users}.include?(action_name) || Cms::Fortress.configuration.settings_resources. map { |resource| resource[:name] }. include?(controller_name) end def design_page? Cms::Fortress.configuration.design_resources. map { |resource| resource[:name] }. include?(controller_name) end def content_page? Cms::Fortress.configuration.content_resources. map { |resource| resource[:name] }. include?(controller_name) end def settings Cms::Fortress::Settings.new(:global_settings) end end