diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 1fbde90cb..5ca18f609 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -35,6 +35,7 @@ //= require moderator_proposals //= require moderator_budget_investments //= require moderator_proposal_notifications +//= require moderator_legislation_proposals //= require prevent_double_submission //= require gettext //= require annotator diff --git a/app/assets/javascripts/moderator_legislation_proposals.js b/app/assets/javascripts/moderator_legislation_proposals.js new file mode 100644 index 000000000..f03fa4813 --- /dev/null +++ b/app/assets/javascripts/moderator_legislation_proposals.js @@ -0,0 +1,12 @@ +(function() { + "use strict"; + App.ModeratorLegislationProposals = { + add_class_faded: function(id) { + $("#" + id).addClass("faded"); + $("#comments").addClass("faded"); + }, + hide_moderator_actions: function(id) { + $("#" + id + " .js-moderator-proposals-actions:first").hide(); + } + }; +}).call(this); diff --git a/app/controllers/concerns/polymorphic.rb b/app/controllers/concerns/polymorphic.rb index 076a43076..d69ca25f9 100644 --- a/app/controllers/concerns/polymorphic.rb +++ b/app/controllers/concerns/polymorphic.rb @@ -5,6 +5,8 @@ module Polymorphic def resource if resource_model.to_s == "Budget::Investment" @resource ||= instance_variable_get("@investment") + elsif resource_model.to_s == "Legislation::Proposal" + @resource ||= instance_variable_get("@proposal") else @resource ||= instance_variable_get("@#{resource_name}") end diff --git a/app/controllers/moderation/legislation/proposals_controller.rb b/app/controllers/moderation/legislation/proposals_controller.rb new file mode 100644 index 000000000..885c508e0 --- /dev/null +++ b/app/controllers/moderation/legislation/proposals_controller.rb @@ -0,0 +1,19 @@ +class Moderation::Legislation::ProposalsController < Moderation::BaseController + include ModerateActions + include FeatureFlags + + has_filters %w[pending_flag_review all with_ignored_flag], only: :index + has_orders %w[flags created_at], only: :index + + feature_flag :legislation + + before_action :load_resources, only: [:index, :moderate] + + load_and_authorize_resource class: "Legislation::Proposal" + + private + + def resource_model + Legislation::Proposal + end +end diff --git a/app/views/legislation/proposals/_actions.html.erb b/app/views/legislation/proposals/_actions.html.erb index 5a02d96ec..91c4afedd 100644 --- a/app/views/legislation/proposals/_actions.html.erb +++ b/app/views/legislation/proposals/_actions.html.erb @@ -1,5 +1,5 @@ <% if can? :hide, proposal %> - <%= link_to t("admin.actions.hide").capitalize, hide_moderation_proposal_path(proposal), + <%= link_to t("admin.actions.hide").capitalize, hide_moderation_legislation_proposal_path(proposal), method: :put, remote: true, data: { confirm: t("admin.actions.confirm") } %> <% end %> diff --git a/app/views/legislation/proposals/show.html.erb b/app/views/legislation/proposals/show.html.erb index 3c93d82e5..d6f44c592 100644 --- a/app/views/legislation/proposals/show.html.erb +++ b/app/views/legislation/proposals/show.html.erb @@ -92,7 +92,7 @@ <%= render "shared/geozone", geozonable: @proposal %>