Module: Alchemy::Custom::Model::CustomModelHelper

Defined in:
app/helpers/alchemy/custom/model/custom_model_helper.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(mod) ⇒ Object



4
5
6
7
8
9
# File 'app/helpers/alchemy/custom/model/custom_model_helper.rb', line 4

def self.included(mod)
  if ::Rails.application.config.action_controller.include_all_helpers != false
    raise "Devi definire in config/application.rb config.action_controller.include_all_helpers=false
            in modo da far funzionare correttamente l'override degli helper come per i controller"
  end
end

Instance Method Details

#custom_model_page_urlname(obj, language: nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'app/helpers/alchemy/custom/model/custom_model_helper.rb', line 11

def custom_model_page_urlname(obj, language: nil)
  if language.blank?
    language = Alchemy::Language.current
  end
  layout = Alchemy::PageLayout.get_all_by_attributes(custom_model: obj.class.to_s).select { |ly| ly["custom_model_action"] == "show" }.first
  if not layout.blank?
    language.pages.find_by(page_layout: layout["name"]).try(:parent).try(:urlname)
  else
    nil
  end
end

#custom_model_path(obj, options = {}) ⇒ Object



23
24
25
26
27
28
# File 'app/helpers/alchemy/custom/model/custom_model_helper.rb', line 23

def custom_model_path(obj, options = {})
  language = options.delete(:language)
  custom_model_url_builder(obj, language: language) do |url|
    alchemy.show_page_path(language || Alchemy::Language.current.code, url, options)
  end
end

#custom_model_url(obj, options = {}) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'app/helpers/alchemy/custom/model/custom_model_helper.rb', line 30

def custom_model_url(obj, options = {})
  language = options.delete(:language)
  if language.is_a? String
    language = Alchemy::Language.find_by_code(language)
  end
  custom_model_url_builder(obj, language: language) do |url|
    alchemy.show_page_url(language.code || Alchemy::Language.current.code, url, options)
  end
end