Class: Decidim::Components::BaseController
Overview
Controller from which all component engines inherit from. It is in charge of setting the appropriate layout, including necessary helpers, and overall fooling the engine into thinking it is isolated.
Instance Method Summary
collapse
register_permissions
#check_user_block_status, #check_user_not_blocked
#snippets
#disable_http_caching
#skip_store_location?, #store_current_location
#default_locale?
enhance_controller, extended, included
Instance Method Details
#current_component ⇒ Object
44
45
46
|
# File 'app/controllers/decidim/components/base_controller.rb', line 44
def current_component
request.env["decidim.current_component"]
end
|
#current_manifest ⇒ Object
48
49
50
|
# File 'app/controllers/decidim/components/base_controller.rb', line 48
def current_manifest
@current_manifest ||= current_component.manifest
end
|
#current_participatory_space ⇒ Object
40
41
42
|
# File 'app/controllers/decidim/components/base_controller.rb', line 40
def current_participatory_space
request.env["decidim.current_participatory_space"]
end
|
#permission_class_chain ⇒ Object
60
61
62
63
64
65
66
67
|
# File 'app/controllers/decidim/components/base_controller.rb', line 60
def permission_class_chain
[
current_component.manifest.permissions_class,
current_participatory_space.manifest.permissions_class,
Decidim::Admin::Permissions,
Decidim::Permissions
]
end
|
#permission_scope ⇒ Object
56
57
58
|
# File 'app/controllers/decidim/components/base_controller.rb', line 56
def permission_scope
:public
end
|
#redirect_unless_feature_private ⇒ Object
69
70
71
|
# File 'app/controllers/decidim/components/base_controller.rb', line 69
def redirect_unless_feature_private
raise ActionController::RoutingError, "Not Found" unless current_user_can_visit_space?
end
|
#set_component_breadcrumb_item ⇒ Object
73
74
75
76
77
78
79
80
|
# File 'app/controllers/decidim/components/base_controller.rb', line 73
def set_component_breadcrumb_item
context_breadcrumb_items << {
label: current_component.name,
url: root_path,
active: false,
resource: current_component
}
end
|
#share_token ⇒ Object
52
53
54
|
# File 'app/controllers/decidim/components/base_controller.rb', line 52
def share_token
params[:share_token]
end
|