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