lib/decidim/decidim_awesome/engine.rb in decidim-decidim_awesome-0.10.3 vs lib/decidim/decidim_awesome/engine.rb in decidim-decidim_awesome-0.11.1
- old
+ new
@@ -74,20 +74,22 @@
if DecidimAwesome.enabled?(:weighted_proposal_voting)
# add vote weight to proposal vote
Decidim::Proposals::ProposalVote.include(Decidim::DecidimAwesome::HasVoteWeight)
Decidim::Proposals::ProposalType.include(Decidim::DecidimAwesome::AddProposalTypeVoteWeights)
- Decidim::Proposals::ProposalMCell.include(Decidim::DecidimAwesome::ProposalMCellOverride)
+ Decidim::Proposals::ProposalLCell.include(Decidim::DecidimAwesome::ProposalLCellOverride)
end
# override user's admin property
Decidim::User.include(Decidim::DecidimAwesome::UserOverride) if DecidimAwesome.enabled?(:scoped_admins)
if DecidimAwesome.enabled?(:menu, :content_block_main_menu)
- # Decidim::ContentBlocks::GlobalMenuCell.include(Decidim::DecidimAwesome::GlobalMenuCellOverride)
+ Decidim::ContentBlocks::GlobalMenuCell.include(Decidim::DecidimAwesome::GlobalMenuCellOverride)
+ Decidim::BreadcrumbHelper.include(Decidim::DecidimAwesome::BreadcrumbHelperOverride)
Decidim::MenuPresenter.include(Decidim::DecidimAwesome::MenuPresenterOverride)
Decidim::MenuItemPresenter.include(Decidim::DecidimAwesome::MenuItemPresenterOverride)
+ Decidim::BreadcrumbRootMenuItemPresenter.include(Decidim::DecidimAwesome::BreadcrumbRootMenuItemPresenterOverride)
end
# Late registering of components to take into account initializer values
DecidimAwesome.registered_components.each do |manifest, block|
next if DecidimAwesome.disabled_components.include?(manifest)
@@ -97,10 +99,14 @@
end
end
initializer "decidim_decidim_awesome.overrides", after: "decidim.action_controller" do
config.to_prepare do
+ # Auto-insert some csp directives
+ Decidim::ApplicationController.include(Decidim::DecidimAwesome::ContentSecurityPolicy)
+ Decidim::Admin::ApplicationController.include(Decidim::DecidimAwesome::ContentSecurityPolicy)
+
# redirect unauthorized scoped admins to allowed places or custom redirects if configured
Decidim::ErrorsController.include(Decidim::DecidimAwesome::NotFoundRedirect) if DecidimAwesome.enabled?(:scoped_admins, :custom_redirects)
# Custom fields need to deal with several places
if DecidimAwesome.enabled?(:proposal_custom_fields, :proposal_private_custom_fields)
@@ -170,11 +176,11 @@
.published
.not_hidden
.where(component: component_instance)
.includes(:scope, :category, :component)
- if space.user_roles(:valuator).where(user: user).any?
+ if space.user_roles(:valuator).where(user:).any?
collection.with_valuation_assigned_to(user, space)
else
collection
end
end
@@ -189,13 +195,13 @@
initializer "decidim_decidim_awesome.weighted_proposal_voting" do |_app|
if DecidimAwesome.enabled?(:weighted_proposal_voting)
# register available processors
Decidim::DecidimAwesome.voting_registry.register(:voting_cards) do |voting|
voting.show_vote_button_view = "decidim/decidim_awesome/voting/voting_cards/show_vote_button"
- voting.show_votes_count_view = "decidim/decidim_awesome/voting/voting_cards/show_votes_count"
- voting.show_votes_count_view = "" # hide votes count if needed
- voting.proposal_m_cell_footer = "decidim/decidim_awesome/voting/voting_cards/proposal_m_cell_footer"
+ # voting.show_votes_count_view = "decidim/decidim_awesome/voting/voting_cards/show_votes_count"
+ voting.show_votes_count_view = "" # hide votes count if not needed (in this case is integrated in the show_vote_button_view)
+ voting.proposal_metadata_cell = "decidim/decidim_awesome/voting/proposal_metadata"
voting.weight_validator do |weight, context|
allowed = [1, 2, 3]
allowed << 0 if context[:proposal]&.component&.settings&.voting_cards_show_abstain
weight.in? allowed
end
@@ -254,9 +260,21 @@
# Votings may override proposals cells, let's be sure to add these paths after the proposal component initializer
initializer "decidim_decidim_awesome.add_cells_view_paths", before: "decidim_proposals.add_cells_view_paths" do
Cell::ViewModel.view_paths << File.expand_path("#{Decidim::DecidimAwesome::Engine.root}/app/cells")
Cell::ViewModel.view_paths << File.expand_path("#{Decidim::DecidimAwesome::Engine.root}/app/views")
+ end
+
+ initializer "decidim_decidim_awesome.register_icons" do
+ Decidim.icons.register(name: "editors-text", icon: "text", category: "system", description: "", engine: :decidim_awesome)
+ Decidim.icons.register(name: "surveys", icon: "survey-line", category: "system", description: "", engine: :decidim_awesome)
+ Decidim.icons.register(name: "brush", icon: "brush-line", category: "system", description: "", engine: :decidim_awesome)
+ Decidim.icons.register(name: "layers", icon: "stack-line", category: "system", description: "", engine: :decidim_awesome)
+ Decidim.icons.register(name: "pulse", icon: "pulse-line", category: "system", description: "", engine: :decidim_awesome)
+ Decidim.icons.register(name: "fire", icon: "fire-line", category: "system", description: "", engine: :decidim_awesome)
+ Decidim.icons.register(name: "line-chart-line", icon: "line-chart-line", category: "system", description: "", engine: :decidim_awesome)
+ Decidim.icons.register(name: "spy", icon: "spy-fill", category: "system", description: "", engine: :decidim_awesome)
+ Decidim.icons.register(name: "forbid-line", icon: "forbid-line", category: "system", description: "", engine: :decidim_awesome)
end
end
end
end