Class: ActiveadminSelleoCms::Section
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ActiveadminSelleoCms::Section
show all
- Includes:
- ContentTranslation
- Defined in:
- app/models/activeadmin_selleo_cms/section.rb
Defined Under Namespace
Classes: Translation
Instance Method Summary
collapse
#create_missing_translations, included, #initialize_missing_translations, #translated_attribute
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(sym, *args) ⇒ Object
91
92
93
94
95
96
97
|
# File 'app/models/activeadmin_selleo_cms/section.rb', line 91
def method_missing(sym, *args)
if layout_section and layout_section.respond_to? sym
layout_section.send(sym)
else
super
end
end
|
Instance Method Details
#attachment ⇒ Object
39
40
41
|
# File 'app/models/activeadmin_selleo_cms/section.rb', line 39
def attachment
current_translation.attachment
end
|
#attachments ⇒ Object
43
44
45
|
# File 'app/models/activeadmin_selleo_cms/section.rb', line 43
def attachments
current_translation.attachments
end
|
#current_translation ⇒ Object
31
32
33
|
# File 'app/models/activeadmin_selleo_cms/section.rb', line 31
def current_translation
translations.with_locales(I18n.fallbacks[I18n.locale]).first
end
|
#image ⇒ Object
35
36
37
|
# File 'app/models/activeadmin_selleo_cms/section.rb', line 35
def image
current_translation.image
end
|
#images ⇒ Object
47
48
49
|
# File 'app/models/activeadmin_selleo_cms/section.rb', line 47
def images
current_translation.images
end
|
#layout_section ⇒ Object
87
88
89
|
# File 'app/models/activeadmin_selleo_cms/section.rb', line 87
def layout_section
@layout_section ||= layout ? layout.find_section(name) : nil
end
|
51
52
53
|
# File 'app/models/activeadmin_selleo_cms/section.rb', line 51
def related_items
current_translation.related_items
end
|
#render(editing = false) ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'app/models/activeadmin_selleo_cms/section.rb', line 55
def render(editing=false)
doc = Nokogiri::HTML(body.to_s)
unless editing
av = ActionView::Base.new
av.instance_eval do
def protect_against_forgery?
false
end
end
doc.css('form[data-form-id]').each do |form_tag|
if form = Form.find_by_id(form_tag.attributes["data-form-id"].to_s)
form_tag.replace av.render(:file => File.join(ActiveadminSelleoCms::Engine.root, 'app/views/forms/_form'), :layout => nil, :locals => { :form => form })
end
end
end
doc.to_s.html_safe
end
|
#to_s ⇒ Object
76
77
78
79
80
81
82
83
84
85
|
# File 'app/models/activeadmin_selleo_cms/section.rb', line 76
def to_s
section_definition = sectionable.layout.find_section(name) if sectionable and sectionable.respond_to? :layout
if section_definition
if section_definition.text?
render
elsif section_definition.image?
image ? image.url : ""
end
end
end
|
23
24
25
26
27
28
29
|
# File 'app/models/activeadmin_selleo_cms/section.rb', line 23
def toolbar
case name
when /blurb\./ then "Easy"
when /help\./ then "Lite"
else "Easy"
end
end
|