Module: PagesHelper

Defined in:
app/helpers/pages_helper.rb

Instance Method Summary collapse

Instance Method Details



2
3
4
5
6
7
8
9
10
# File 'app/helpers/pages_helper.rb', line 2

def link_to_locale(link_name, locale, page=nil)
  if page
    link_to link_name, with_host(url_to_page(page, locale.to_s))
  elsif request.fullpath.match(/^\/\w{2}\/.*/)
    link_to link_name, with_host(request.fullpath.gsub(/^\/(\w{2})\//, "/#{locale.code}/"))
  else
    link_to link_name, with_host("/#{locale.code}")
  end
end


31
32
33
# File 'app/helpers/pages_helper.rb', line 31

def link_to_page(page, link_name=nil, options={})
  link_to (link_name || page.title), with_host(page.url), options
end


16
17
18
19
20
# File 'app/helpers/pages_helper.rb', line 16

def link_to_search_result(result)
  if result.is_a? ActiveadminSelleoCms::Page
    "#{link_to result.breadcrumb, with_host(result.url)} #{link_to "(e)", edit_admin_page_path(result.id), target: '_blank' if current_user}".html_safe
  end
end

#s(name) ⇒ Object



35
36
37
38
39
40
41
# File 'app/helpers/pages_helper.rb', line 35

def s(name)
  section = ActiveadminSelleoCms::Section.where(name: name).first_or_create
  body = section.body.to_s
  body = "" if body.match /<p>\s*<\/p>/
  body += link_to(t("active_admin.cms.edit"), edit_admin_section_path(section)) if current_user and current_user.respond_to? :admin? and current_user.admin?
  body.html_safe
end

#url_to_page(page, locale = I18n.locale) ⇒ Object



22
23
24
25
26
27
28
29
# File 'app/helpers/pages_helper.rb', line 22

def url_to_page(page, locale=I18n.locale)
  return "#" unless page
  _locale = I18n.locale
  I18n.locale = locale
  _url = with_host(page.url)
  I18n.locale = _locale
  return _url
end

#with_host(relative_path) ⇒ Object



12
13
14
# File 'app/helpers/pages_helper.rb', line 12

def with_host(relative_path)
  relative_path.match(/http/) ? relative_path : "#{request.protocol}#{request.host_with_port}#{relative_path}"
end