Module: Cms

Defined in:
app/models/cms/templates.rb,
app/models/cms/tag.rb,
app/models/cms/form.rb,
app/models/cms/site.rb,
app/models/cms/task.rb,
app/models/cms/user.rb,
app/models/cms/content.rb,
app/models/cms/portlet.rb,
app/models/cms/section.rb,
app/models/cms/tagging.rb,
app/models/cms/category.rb,
app/models/cms/redirect.rb,
app/models/cms/connector.rb,
app/models/cms/attachment.rb,
app/models/cms/file_block.rb,
app/models/cms/form_entry.rb,
app/models/cms/form_field.rb,
app/models/cms/group_type.rb,
app/models/cms/guest_user.rb,
app/models/cms/html_block.rb,
app/models/cms/permission.rb,
app/models/cms/image_block.rb,
app/helpers/cms/menu_helper.rb,
app/helpers/cms/page_helper.rb,
app/helpers/cms/path_helper.rb,
app/models/cms/content_type.rb,
app/models/cms/default_user.rb,
app/models/cms/dynamic_view.rb,
app/models/cms/page_partial.rb,
app/models/cms/view_context.rb,
app/models/cms/category_type.rb,
app/models/cms/email_message.rb,
app/models/cms/external_user.rb,
app/models/cms/group_section.rb,
app/models/cms/page_template.rb,
app/models/cms/search_filter.rb,
app/helpers/cms/mobile_helper.rb,
app/models/cms/page_component.rb,
app/models/cms/persistent_user.rb,
app/helpers/cms/form_tag_helper.rb,
app/helpers/cms/nav_menu_helper.rb,
app/models/cms/group_permission.rb,
app/helpers/cms/rendering_helper.rb,
app/helpers/cms/template_support.rb,
app/models/cms/page_route_option.rb,
app/presenters/cms/user_presenter.rb,
app/helpers/cms/application_helper.rb,
app/helpers/cms/ui_elements_helper.rb,
app/models/cms/abstract_file_block.rb,
app/controllers/cms/base_controller.rb,
app/controllers/cms/home_controller.rb,
app/controllers/cms/tags_controller.rb,
app/controllers/cms/user_controller.rb,
app/models/cms/email_message_mailer.rb,
app/models/cms/page_route_condition.rb,
app/controllers/cms/cache_controller.rb,
app/controllers/cms/links_controller.rb,
app/controllers/cms/pages_controller.rb,
app/controllers/cms/tasks_controller.rb,
app/controllers/cms/users_controller.rb,
app/helpers/cms/content_block_helper.rb,
app/helpers/cms/content_types_helper.rb,
app/helpers/cms/section_nodes_helper.rb,
app/models/cms/group_type_permission.rb,
app/models/cms/user_group_membership.rb,
app/controllers/cms/groups_controller.rb,
app/controllers/cms/routes_controller.rb,
app/models/cms/page_route_requirement.rb,
app/controllers/cms/content_controller.rb,
app/controllers/cms/portlet_controller.rb,
app/controllers/cms/toolbar_controller.rb,
app/controllers/cms/portlets_controller.rb,
app/controllers/cms/resource_controller.rb,
app/controllers/cms/sections_controller.rb,
app/controllers/cms/sessions_controller.rb,
app/controllers/cms/dashboard_controller.rb,
app/controllers/cms/passwords_controller.rb,
app/controllers/cms/redirects_controller.rb,
app/helpers/cms/sites/devise_shim_helper.rb,
app/controllers/cms/categories_controller.rb,
app/controllers/cms/connectors_controller.rb,
app/controllers/cms/application_controller.rb,
app/controllers/cms/attachments_controller.rb,
app/controllers/cms/file_blocks_controller.rb,
app/controllers/cms/form_fields_controller.rb,
app/controllers/cms/html_blocks_controller.rb,
app/controllers/cms/page_routes_controller.rb,
app/controllers/cms/cas_sessions_controller.rb,
app/controllers/cms/form_entries_controller.rb,
app/controllers/cms/image_blocks_controller.rb,
app/helpers/cms/sites/authentication_helper.rb,
app/controllers/cms/content_block_controller.rb,
app/controllers/cms/content_types_controller.rb,
app/controllers/cms/dynamic_views_controller.rb,
app/controllers/cms/section_nodes_controller.rb,
app/controllers/cms/category_types_controller.rb,
app/controllers/cms/email_messages_controller.rb,
app/controllers/cms/inline_content_controller.rb,
app/controllers/cms/sites/sessions_controller.rb,
app/controllers/cms/page_components_controller.rb,
app/controllers/cms/sites/passwords_controller.rb,
app/controllers/cms/page_route_options_controller.rb,
app/controllers/cms/page_route_conditions_controller.rb,
app/controllers/cms/page_route_requirements_controller.rb,
lib/cms/engine.rb,
lib/cms/module.rb,
lib/cms/caching.rb,
lib/cms/version.rb,
lib/cms/admin_tab.rb,
lib/cms/data_loader.rb,
lib/cms/date_picker.rb,
lib/cms/error_pages.rb,
lib/cms/content_page.rb,
lib/cms/mobile_aware.rb,
lib/cms/acts/cms_user.rb,
lib/cms/configuration.rb,
lib/cms/engine_helper.rb,
lib/cms/users_service.rb,
lib/cms/content_filter.rb,
lib/cms/domain_support.rb,
lib/cms/error_handling.rb,
lib/cms/extensions/nil.rb,
lib/cms/extensions/hash.rb,
lib/cms/behaviors/hiding.rb,
lib/cms/behaviors/naming.rb,
lib/cms/commands/actions.rb,
lib/cms/publish_workflow.rb,
lib/cms/acts/content_page.rb,
lib/cms/extensions/string.rb,
lib/cms/acts/content_block.rb,
lib/cms/behaviors/taggable.rb,
lib/cms/default_accessible.rb,
lib/cms/extensions/integer.rb,
lib/cms/behaviors/archiving.rb,
lib/cms/behaviors/attaching.rb,
lib/cms/behaviors/rendering.rb,
lib/cms/behaviors/searching.rb,
lib/cms/behaviors/connecting.rb,
lib/cms/behaviors/publishing.rb,
lib/cms/behaviors/versioning.rb,
lib/cms/installation_actions.rb,
lib/cms/behaviors/namespacing.rb,
lib/cms/behaviors/categorizing.rb,
lib/cms/behaviors/userstamping.rb,
lib/cms/commands/to_version400.rb,
lib/cms/behaviors/soft_deleting.rb,
lib/cms/attachments/configuration.rb,
lib/cms/authentication/controller.rb,
lib/cms/concerns/has_content_type.rb,
lib/cms/content_rendering_support.rb,
lib/cms/form_builder/default_input.rb,
lib/cms/concerns/can_be_addressable.rb,
lib/cms/extensions/action_view/base.rb,
lib/cms/users_service/users_factory.rb,
lib/cms/behaviors/dynamic_attributes.rb,
lib/cms/controllers/admin_controller.rb,
lib/cms/extensions/active_model/name.rb,
lib/cms/responders/content_responder.rb,
lib/cms/extensions/active_record/base.rb,
lib/cms/form_builder/workflow_buttons.rb,
lib/cms/attachments/attachment_serving.rb,
lib/cms/form_builder/deprecated_inputs.rb,
lib/cms/behaviors/flush_cache_on_change.rb,
lib/cms/extensions/active_record/errors.rb,
lib/cms/users_service/guest_user_module.rb,
lib/cms/configuration/configurable_template.rb,
lib/cms/polymorphic_single_table_inheritance.rb,
lib/generators/cms/install/install_generator.rb,
lib/generators/cms/portlet/portlet_generator.rb,
lib/cms/authentication/test_password_strategy.rb,
lib/generators/cms/template/template_generator.rb,
lib/cms/form_builder/content_block_form_builder.rb,
lib/cms/users_service/user_groups_by_codes_module.rb,
lib/cms/users_service/cms_user_compatibility_module.rb,
lib/cms/users_service/cms_login_user_controller_concern.rb,
lib/generators/cms/content_block/content_block_generator.rb

Overview

This module can be added to Controllers to provide support for rendering CMS content pages.

Defined Under Namespace

Modules: ActiveModel, Acts, AdminController, AdminTab, ApplicationHelper, Attachments, Authentication, Authoring, Behaviors, Caching, Commands, Concerns, Configuration, Content, ContentBlockHelper, ContentPage, ContentRenderingSupport, ContentTypesHelper, DataLoader, DefaultAccessible, DefaultCaches, DeprecatedBehavior, DomainSupport, EngineAware, ErrorHandling, ErrorPages, Errors, Extensions, FormBuilder, FormTagHelper, Generators, InstallationActions, MenuHelper, MobileAware, MobileHelper, Module, NavMenuHelper, PageHelper, PathHelper, PolymorphicSingleTableInheritance, PublishWorkflow, RenderingHelper, RouteExtensions, SectionNodesHelper, Sites, TemplateSupport, Templates, UiElementsHelper, UsersService, WorkflowButtons Classes: AbstractFileBlock, ApplicationController, Attachment, AttachmentsController, BaseController, Cache, CacheController, CasSessionsController, CategoriesController, Category, CategoryType, CategoryTypesController, Connector, ConnectorsController, ContentBlockController, ContentController, ContentFilter, ContentResponder, ContentType, ContentTypesController, DashboardController, DatePicker, DefaultUser, DynamicView, DynamicViewsController, EmailMessage, EmailMessageMailer, EmailMessagesController, Engine, EngineAwarePathBuilder, ExternalUser, FileBlock, FileBlocksController, Form, FormEntriesController, FormEntry, FormField, FormFieldsController, FormsController, Group, GroupPermission, GroupSection, GroupType, GroupTypePermission, GroupsController, GuestUser, HomeController, HtmlBlock, HtmlBlocksController, IgnoreSanitizer, ImageBlock, ImageBlocksController, InlineContentController, InstallGenerator, Link, LinksController, ModuleInstallation, Page, PageComponent, PageComponentsController, PagePartial, PageRoute, PageRouteCondition, PageRouteConditionsController, PageRouteOption, PageRouteOptionsController, PageRouteRequirement, PageRouteRequirementsController, PageRoutesController, PageTemplate, PagesController, PasswordsController, Permission, PersistentUser, Portlet, PortletController, PortletsController, Redirect, RedirectsController, ResourceController, RoutesController, SearchFilter, Section, SectionNode, SectionNodesController, SectionsController, SessionsController, Site, Tag, Tagging, TagsController, Task, TasksController, ToolbarController, User, UserController, UserGroupMembership, UserPresenter, UsersController, ViewContext

Constant Summary collapse

VERSION =
'4.0.1.1'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.attachment_file_permissionObject

Returns the value of attribute attachment_file_permission.



8
9
10
# File 'lib/cms/configuration.rb', line 8

def attachment_file_permission
  @attachment_file_permission
end

Class Method Details

.cas_base_urlObject

DEVISE AND CAS



64
65
66
# File 'lib/cms/configuration.rb', line 64

def cas_base_url
  Rails.application.config.cms.cas_base_url
end

.cas_create_userObject



96
97
98
# File 'lib/cms/configuration.rb', line 96

def cas_create_user
  Rails.application.config.cms.cas_create_user
end

.cas_destination_logout_param_nameObject



92
93
94
# File 'lib/cms/configuration.rb', line 92

def cas_destination_logout_param_name
  Rails.application.config.cms.cas_destination_logout_param_name
end

.cas_destination_urlObject



68
69
70
# File 'lib/cms/configuration.rb', line 68

def cas_destination_url
  Rails.application.config.cms.cas_destination_url
end

.cas_enable_single_sign_outObject



100
101
102
# File 'lib/cms/configuration.rb', line 100

def cas_enable_single_sign_out
  Rails.application.config.cms.cas_enable_single_sign_out
end

.cas_follow_urlObject



72
73
74
# File 'lib/cms/configuration.rb', line 72

def cas_follow_url
  Rails.application.config.cms.cas_follow_url
end

.cas_login_urlObject



80
81
82
# File 'lib/cms/configuration.rb', line 80

def 
  Rails.application.config.cms.
end

.cas_logout_urlObject



84
85
86
# File 'lib/cms/configuration.rb', line 84

def cas_logout_url
  Rails.application.config.cms.cas_logout_url
end

.cas_logout_url_paramObject



76
77
78
# File 'lib/cms/configuration.rb', line 76

def cas_logout_url_param
  Rails.application.config.cms.cas_logout_url_param
end

.cas_user_identifierObject



104
105
106
# File 'lib/cms/configuration.rb', line 104

def cas_user_identifier
  Rails.application.config.cms.cas_user_identifier
end

.cas_validate_urlObject



88
89
90
# File 'lib/cms/configuration.rb', line 88

def cas_validate_url
  Rails.application.config.cms.cas_validate_url
end

.content_editorString

Determines which WYSIWYG editor is the ‘default’ for a BrowserCMS project

bcms modules can changes this by overriding it in their configuration.

Returns:

  • (String)

    The single javascript file to include to load the proper WYSIWYG editor.



14
15
16
17
# File 'lib/cms/configuration.rb', line 14

def content_editor
  # CKEditor is the default.
  @wysiwig_editor ||= 'ckeditor'
end

.content_editor=(editor) ⇒ Object



19
20
21
# File 'lib/cms/configuration.rb', line 19

def content_editor=(editor)
  @wysiwig_editor = editor
end

.devise_allow_registrations?Boolean

Returns:

  • (Boolean)


148
149
150
# File 'lib/cms/configuration.rb', line 148

def devise_allow_registrations?
  !!Rails.application.config.cms.devise_allow_registrations
end

.devise_use_cas_only?Boolean

Returns:

  • (Boolean)


144
145
146
# File 'lib/cms/configuration.rb', line 144

def devise_use_cas_only?
  !!Rails.application.config.cms.devise_use_cas_only
end

.markdown?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/cms/configuration.rb', line 23

def markdown?
  Object.const_defined?("Markdown")
end

.reserved_pathsObject



27
28
29
# File 'lib/cms/configuration.rb', line 27

def reserved_paths
  @reserved_paths ||= ["/cms", "/cache"]
end

.routes_devise_for_optionsObject



116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/cms/configuration.rb', line 116

def routes_devise_for_options
  opts = Rails.application.config.cms.routes_devise_for_options.dup

  unless opts.key? :class_name
    opts[:class_name] = user_class_name
  end

  opts[:skip] ||= []

  # always skip sessions, we'll add them outside, as BCMS intended.
  # opts[:skip] << :sessions unless opts[:skip].include? :sessions

  unless devise_allow_registrations?
    opts[:skip] << :registrations unless opts[:skip].include? :registrations
  end

  opts
end

.routes_devise_sessions_controllerObject



135
136
137
138
139
140
141
142
# File 'lib/cms/configuration.rb', line 135

def routes_devise_sessions_controller
  key = devise_use_cas_only? ? :cas_sessions : :sessions
  cnts = routes_devise_for_options[:controllers] || {}
  controller_name = cnts[key] || "devise/#{key}"

  # remove 'cms/' prefix
  controller_name.gsub /^cms\//, ''
end

.table_prefix=(prefix) ⇒ Object

Deprecated.

To be removed in BrowserCMS 4.1 or later.



4
5
6
7
# File 'lib/cms/behaviors/namespacing.rb', line 4

def self.table_prefix=(prefix)
  message = "Calling Cms.table_prefix('#{prefix}') is no longer necessary and can be removed from your project. See https://github.com/browsermedia/browsercms/issues/639"
  ActiveSupport::Deprecation.warn(message, caller(1))
end

.user_cas_extra_attributes_setterObject



59
60
61
# File 'lib/cms/configuration.rb', line 59

def user_cas_extra_attributes_setter
  Rails.application.config.cms.user_cas_extra_attributes_setter
end

.user_classObject



44
45
46
# File 'lib/cms/configuration.rb', line 44

def user_class
  user_class_name.to_s.constantize
end

.user_class_devise_optionsObject



48
49
50
51
52
53
54
55
56
57
# File 'lib/cms/configuration.rb', line 48

def user_class_devise_options
  Rails.application.config.cms.user_class_devise_options.dup.tap do |opts|
    if devise_use_cas_only?
      opts.delete :database_authenticatable
      opts.delete :rememberable
      opts.delete :recoverable
      opts.unshift(:cas_authenticatable) unless opts.include? :cas_authenticatable
    end
  end
end

.user_class_devise_recoverable?Boolean

Returns:

  • (Boolean)


112
113
114
# File 'lib/cms/configuration.rb', line 112

def user_class_devise_recoverable?
  Rails.application.config.cms.user_class_devise_recoverable
end

.user_class_devise_validatable?Boolean

Returns:

  • (Boolean)


108
109
110
# File 'lib/cms/configuration.rb', line 108

def user_class_devise_validatable?
  Rails.application.config.cms.user_class_devise_validatable
end

.user_class_nameObject



40
41
42
# File 'lib/cms/configuration.rb', line 40

def user_class_name
  Rails.application.config.cms.user_class_name
end

.user_key_fieldObject

User Class



32
33
34
# File 'lib/cms/configuration.rb', line 32

def user_key_field
  Rails.application.config.cms.user_key_field
end

.user_name_fieldObject



36
37
38
# File 'lib/cms/configuration.rb', line 36

def user_name_field
  Rails.application.config.cms.user_name_field
end

.versionObject

Return the current version of the CMS.



8
9
10
# File 'lib/cms/version.rb', line 8

def self.version
  VERSION
end