Files
grecia/config/routes/admin.rb
Javi Martín 2239b8fdca Remove obsolete questions index in the admin area
We removed the link to this page in commit 83e8d6035 because poll
questions don't really make sense without a poll.

However, this page also contained information about successful
proposals, which might be interesting so administrators don't have to
navigate to the public area in order to find and create questions based
on successful proposals.

So we're keeping the part about successful proposals and linking it from
the proposals part of the admin area.

Note we're using translation keys like `successful_proposals_tab`, which
don't make sense anymore, for the successful proposals. We're doing so
because we've already got translations for these keys and, if we renamed
them, we'd lose the existing translations and our translators would have
to add them again.

Also note we're changing one poll question test a little bit so we
create the question from a successful proposal using the new page. There
are other tests checking how to create a question from the
admin/proposals#show action and other tests checking what happens when
accessing a successful proposal in the admin section, so we don't lose
any test coverage by changing an existing test instead of adding a new
one.

Finally, note that we've removing the `search` method in poll question
because we no longer use it. This currently makes the
`author_visible_name` database column useless; we aren't removing it
right now because we don't want to risk a possible data loss in a patch
release (we're about to release version 2.3.1), but we might remove it
in the future.
2025-03-26 16:42:04 +01:00

373 lines
10 KiB
Ruby

namespace :admin do
root to: "dashboard#index"
resources :administrators, only: [:index, :create, :destroy, :edit, :update] do
get :search, on: :collection
end
resources :tenants, except: [:show, :destroy] do
member do
put :hide
put :restore
end
end
constraints lambda { |request| !Rails.application.multitenancy_management_mode? } do
resources :organizations, only: :index do
get :search, on: :collection
member do
put :verify
put :reject
end
end
resources :hidden_users, only: [:index, :show] do
member do
put :restore
put :confirm_hide
end
end
resources :hidden_budget_investments, only: :index do
member do
put :restore
put :confirm_hide
end
end
resources :hidden_debates, only: :index do
member do
put :restore
put :confirm_hide
end
end
resources :debates, only: [:index, :show]
resources :proposals, only: [:index, :show, :update] do
collection do
get :successful
end
member do
patch :select
patch :deselect
end
resources :milestones, controller: "proposal_milestones"
resources :progress_bars, except: :show, controller: "proposal_progress_bars"
end
resources :hidden_proposals, only: :index do
member do
put :restore
put :confirm_hide
end
end
resources :hidden_proposal_notifications, only: :index do
member do
put :restore
put :confirm_hide
end
end
resources :budgets, except: [:create, :new] do
member do
patch :publish
put :calculate_winners
end
resources :groups, except: [:index, :show], controller: "budget_groups" do
resources :headings, except: [:index, :show], controller: "budget_headings"
end
resources :budget_investments, only: [:index, :show, :edit, :update] do
member do
patch :select
patch :deselect
patch :show_to_valuators
patch :hide_from_valuators
end
resources :audits, only: :show, controller: "budget_investment_audits"
resources :milestones, controller: "budget_investment_milestones"
resources :progress_bars, except: :show, controller: "budget_investment_progress_bars"
end
resources :budget_phases, only: [:edit, :update] do
member do
patch :enable
patch :disable
end
end
end
namespace :budgets_wizard do
resources :budgets, only: [:create, :new, :edit, :update] do
resources :groups, only: [:index, :create, :edit, :update, :destroy] do
resources :headings, only: [:index, :create, :edit, :update, :destroy]
end
resources :phases, as: "budget_phases", only: [:index, :edit, :update] do
member do
patch :enable
patch :disable
end
end
end
end
resources :milestone_statuses, only: [:index, :new, :create, :update, :edit, :destroy]
resources :signature_sheets, only: [:index, :new, :create, :show]
resources :banners, only: [:index, :new, :create, :edit, :update, :destroy] do
collection { get :search }
end
resources :hidden_comments, only: :index do
member do
put :restore
put :confirm_hide
end
end
resources :comments, only: :index
resources :tags, only: [:index, :create, :update, :destroy]
resources :officials, only: [:index, :edit, :update, :destroy] do
get :search, on: :collection
end
resources :settings, only: [:index, :update]
put :update_map, to: "settings#update_map"
put :update_content_types, to: "settings#update_content_types"
resources :moderators, only: [:index, :create, :destroy] do
get :search, on: :collection
end
resources :valuators, only: [:show, :index, :edit, :update, :create, :destroy] do
get :search, on: :collection
get :summary, on: :collection
end
resources :valuator_groups
resources :managers, only: [:index, :create, :destroy] do
get :search, on: :collection
end
namespace :sdg do
resources :managers, only: [:index, :create, :destroy]
end
resources :users, only: [:index, :show]
scope module: :poll do
resources :polls do
get :booth_assignments, on: :collection
resources :booth_assignments, only: [:index, :show, :create, :destroy] do
get :search_booths, on: :collection
get :manage, on: :collection
end
resources :officer_assignments, only: [:index, :create, :destroy] do
get :search_officers, on: :collection
get :by_officer, on: :collection
end
resources :recounts, only: :index
resources :results, only: :index
end
resources :officers, only: [:index, :new, :create, :destroy] do
get :search, on: :collection
end
resources :booths do
get :available, on: :collection
resources :shifts do
get :search_officers, on: :collection
end
end
resources :questions, except: :index, shallow: true do
resources :options, except: [:index, :show], controller: "questions/options", shallow: false
resources :options, only: [], controller: "questions/options" do
resources :images, controller: "questions/options/images"
resources :videos, controller: "questions/options/videos", shallow: false
resources :documents, only: [:index, :create], controller: "questions/options/documents"
end
post "/options/order_options", to: "questions/options#order_options"
end
resource :active_polls, only: [:create, :edit, :update]
end
resources :verifications, controller: :verifications, only: :index do
get :search, on: :collection
end
resource :activity, controller: :activity, only: :show
resources :newsletters do
member do
post :deliver
end
get :users, on: :collection
end
resources :admin_notifications do
member do
post :deliver
end
end
resources :system_emails, only: [:index] do
get :view
get :preview_pending
put :moderate_pending
put :send_pending
end
resources :emails_download, only: :index do
get :generate_csv, on: :collection
end
resource :stats, only: :show do
get :graph, on: :member
get :budgets, on: :collection
get :budget_supporting, on: :member
get :budget_balloting, on: :member
get :proposal_notifications, on: :collection
get :direct_messages, on: :collection
get :polls, on: :collection
get :sdg, on: :collection
end
namespace :legislation do
resources :processes do
resources :questions
resources :proposals do
member do
patch :select
patch :deselect
end
end
resources :draft_versions
resources :milestones
resources :progress_bars, except: :show
resource :homepage, only: [:edit, :update]
end
end
resources :geozones, only: [:index, :new, :create, :edit, :update, :destroy]
resource :locales, only: [:show, :update]
namespace :site_customization do
resources :pages, except: [:show] do
resources :cards, except: [:show], as: :widget_cards
end
resources :images, only: [:index, :update, :destroy]
resources :content_blocks, except: [:show]
delete "/heading_content_blocks/:id", to: "content_blocks#delete_heading_content_block",
as: "delete_heading_content_block"
get "/edit_heading_content_blocks/:id", to: "content_blocks#edit_heading_content_block",
as: "edit_heading_content_block"
put "/update_heading_content_blocks/:id", to: "content_blocks#update_heading_content_block",
as: "update_heading_content_block"
resources :information_texts, only: [:index] do
post :update, on: :collection
end
resources :documents, only: [:index, :new, :create, :destroy]
end
resource :homepage, controller: :homepage, only: [:show]
namespace :widget do
resources :cards
resources :feeds, only: [:update]
end
namespace :dashboard do
resources :actions, only: [:index, :new, :create, :edit, :update, :destroy]
resources :administrator_tasks, only: [:index, :edit, :update]
end
resources :local_census_records
namespace :local_census_records do
resources :imports, only: [:new, :create, :show]
end
resource :machine_learning, controller: :machine_learning, only: [:show] do
post :execute, on: :collection
delete :cancel, on: :collection
end
namespace :cookies do
resources :vendors, except: [:index, :show]
end
end
end
resolve "Milestone" do |milestone|
[*resource_hierarchy_for(milestone.milestoneable), milestone]
end
resolve "ProgressBar" do |progress_bar|
[*resource_hierarchy_for(progress_bar.progressable), progress_bar]
end
resolve "Audit" do |audit|
[*resource_hierarchy_for(audit.associated || audit.auditable), audit]
end
resolve "Widget::Card" do |card, options|
[*resource_hierarchy_for(card.cardable), card]
end
resolve "Budget::Group" do |group, options|
[group.budget, :group, options.merge(id: group)]
end
resolve "Budget::Heading" do |heading, options|
[heading.budget, :group, :heading, options.merge(group_id: heading.group, id: heading)]
end
resolve "Budget::Phase" do |phase, options|
[phase.budget, :phase, options.merge(id: phase)]
end
resolve "Poll::Booth" do |booth, options|
[:booth, options.merge(id: booth)]
end
resolve "Poll::BoothAssignment" do |assignment, options|
[assignment.poll, :booth_assignment, options.merge(id: assignment)]
end
resolve "Poll::Shift" do |shift, options|
[:booth, :shift, options.merge(booth_id: shift.booth, id: shift)]
end
resolve "Poll::Officer" do |officer, options|
[:officer, options.merge(id: officer)]
end
resolve "Poll::Question::Option" do |option, options|
[:question, :option, options.merge(question_id: option.question, id: option)]
end
resolve "Poll::Question::Option::Video" do |video, options|
[:option, :video, options.merge(option_id: video.option, id: video)]
end
resolve "Legislation::DraftVersion" do |version, options|
[version.process, :draft_version, options.merge(id: version)]
end