Class: Locomotive::Page
- Inherits:
-
Object
show all
- Includes:
- Concerns::Page::EditableElements, Concerns::Page::Layout, Concerns::Page::Listed, Concerns::Page::Redirect, Concerns::Page::Templatized, Concerns::Page::ToSteam, Concerns::Page::Tree, Concerns::Shared::Seo, Concerns::Shared::SiteScope, Concerns::Shared::Slug, Concerns::Shared::Userstamp, Mongoid::Document
- Defined in:
- app/models/locomotive/page.rb
Constant Summary
collapse
- MINIMAL_ATTRIBUTES =
%w(_id title slug fullpath position depth published templatized target_klass_name redirect listed response_type parent_id parent_ids site_id created_at updated_at raw_template is_layout)
Concerns::Page::Layout::BLOCK_REGEX, Concerns::Page::Layout::EXTENDS_FULLPATH_REGEX, Concerns::Page::Layout::EXTENDS_PARENT_REGEX, Concerns::Page::Layout::EXTENDS_REGEX, Concerns::Page::Layout::IS_LAYOUT_REGEX
Instance Attribute Summary collapse
Instance Method Summary
collapse
#to_steam
#content_type, #content_type_id, #content_type_with_main_attributes, #fetch_target_entries, #fetch_target_entry, #target_entry_name, #target_klass, #target_klass_slug, #target_klass_slug=
#find_layout, #is_layout_or_related?, #use_layout?
#find_editable_element
#children_with_minimal_attributes, #depth, #siblings_and_self_with_scoping, #sort_children!
Instance Attribute Details
#skip_callbacks_on_update ⇒ Object
Returns the value of attribute skip_callbacks_on_update.
69
70
71
|
# File 'app/models/locomotive/page.rb', line 69
def skip_callbacks_on_update
@skip_callbacks_on_update
end
|
Instance Method Details
#default_response_type? ⇒ Boolean
89
90
91
|
# File 'app/models/locomotive/page.rb', line 89
def default_response_type?
self.response_type == 'text/html'
end
|
101
102
103
|
# File 'app/models/locomotive/page.rb', line 101
def hidden?
(self.display_settings || {})['hidden'] || false
end
|
73
74
75
|
# File 'app/models/locomotive/page.rb', line 73
def index?
self.slug == 'index' && self.depth.to_i == 0
end
|
#index_or_not_found? ⇒ Boolean
85
86
87
|
# File 'app/models/locomotive/page.rb', line 85
def index_or_not_found?
self.index? || self.not_found?
end
|
#latest_updated ⇒ Object
57
|
# File 'app/models/locomotive/page.rb', line 57
scope :latest_updated, -> { order_by(updated_at: :desc).limit(Locomotive.config.ui[:latest_entries_nb]) }
|
77
78
79
|
# File 'app/models/locomotive/page.rb', line 77
def not_found?
self.slug == '404' && self.depth.to_i == 0
end
|
#title ⇒ Object
22
|
# File 'app/models/locomotive/page.rb', line 22
field :title, localize: true
|
#touch_site_attribute ⇒ Object
111
112
113
|
# File 'app/models/locomotive/page.rb', line 111
def touch_site_attribute
self.raw_template_changed? ? :template_version : :content_version
end
|
#translated? ⇒ Boolean
93
94
95
|
# File 'app/models/locomotive/page.rb', line 93
def translated?
self.title_translations.key?(::Mongoid::Fields::I18n.locale.to_s) rescue false
end
|
#translated_in ⇒ Object
97
98
99
|
# File 'app/models/locomotive/page.rb', line 97
def translated_in
self.title_translations.try(:keys)
end
|
#unpublished? ⇒ Boolean
81
82
83
|
# File 'app/models/locomotive/page.rb', line 81
def unpublished?
!self.published?
end
|
#update_without_validation_and_callback! ⇒ Object
105
106
107
108
109
|
# File 'app/models/locomotive/page.rb', line 105
def update_without_validation_and_callback!
self.updating_descendants = true
self.save(validate: false)
self.updating_descendants = false
end
|