Class: Decidim::Components::BaseController
Overview
Controller from which all component engines inherit from. It’s in charge of setting the appropiate layout, including necessary helpers, and overall fooling the engine into thinking it’s isolated.
Instance Method Summary
collapse
register_permissions
#disable_http_caching
enhance_controller, extended, included
Instance Method Details
#current_component ⇒ Object
41
42
43
|
# File 'app/controllers/decidim/components/base_controller.rb', line 41
def current_component
request.env["decidim.current_component"]
end
|
#current_manifest ⇒ Object
45
46
47
|
# File 'app/controllers/decidim/components/base_controller.rb', line 45
def current_manifest
@current_manifest ||= current_component.manifest
end
|
#current_participatory_space ⇒ Object
37
38
39
|
# File 'app/controllers/decidim/components/base_controller.rb', line 37
def current_participatory_space
request.env["decidim.current_participatory_space"]
end
|
#permission_class_chain ⇒ Object
53
54
55
56
57
58
59
60
|
# File 'app/controllers/decidim/components/base_controller.rb', line 53
def permission_class_chain
[
current_component.manifest.permissions_class,
current_participatory_space.manifest.permissions_class,
Decidim::Admin::Permissions,
Decidim::Permissions
]
end
|
#permission_scope ⇒ Object
49
50
51
|
# File 'app/controllers/decidim/components/base_controller.rb', line 49
def permission_scope
:public
end
|
#redirect_unless_feature_private ⇒ Object
62
63
64
|
# File 'app/controllers/decidim/components/base_controller.rb', line 62
def redirect_unless_feature_private
raise ActionController::RoutingError, "Not Found" unless current_user_can_visit_space?
end
|