adds show view in admin for spending proposals
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
class Admin::SpendingProposalsController < Admin::BaseController
|
||||
has_filters %w{unresolved accepted rejected}, only: :index
|
||||
|
||||
before_action :load_spending_proposal, except: [:index]
|
||||
before_action :load_spending_proposal, except: [:index, :show]
|
||||
|
||||
def index
|
||||
@spending_proposals = SpendingProposal.send(@current_filter).order(created_at: :desc).page(params[:page])
|
||||
@spending_proposals = SpendingProposal.includes([:geozone]).send(@current_filter).order(created_at: :desc).page(params[:page])
|
||||
end
|
||||
|
||||
def show
|
||||
@spending_proposal = SpendingProposal.includes([:author, :geozone]).find(params[:id])
|
||||
end
|
||||
|
||||
def accept
|
||||
|
||||
28
app/views/admin/spending_proposals/show.html.erb
Normal file
28
app/views/admin/spending_proposals/show.html.erb
Normal file
@@ -0,0 +1,28 @@
|
||||
<h2><%= @spending_proposal.title %></h2>
|
||||
|
||||
<%= safe_html_with_links @spending_proposal.description.html_safe %>
|
||||
|
||||
<% if @spending_proposal.external_url.present? %>
|
||||
<p><%= text_with_links @spending_proposal.external_url %></p>
|
||||
<% end %>
|
||||
|
||||
<p><%= t("admin.spending_proposals.show.by") %>: <%= link_to @spending_proposal.author.name, admin_user_path(@spending_proposal.author) %></p>
|
||||
<p><%= t("admin.spending_proposals.show.geozone") %>: <%= geozone_name(@spending_proposal) %></p>
|
||||
<p><%= l @spending_proposal.created_at, format: :datetime %></p>
|
||||
|
||||
<p>
|
||||
<% unless @spending_proposal.accepted? %>
|
||||
<%= link_to t("admin.spending_proposals.actions.accept"),
|
||||
accept_admin_spending_proposal_path(@spending_proposal),
|
||||
method: :put,
|
||||
data: { confirm: t("admin.actions.confirm") },
|
||||
class: "button radius tiny success no-margin" %>
|
||||
<% end %>
|
||||
<% unless @spending_proposal.rejected? %>
|
||||
<%= link_to t("admin.spending_proposals.actions.reject"),
|
||||
reject_admin_spending_proposal_path(@spending_proposal),
|
||||
method: :put,
|
||||
data: { confirm: t("admin.actions.confirm") },
|
||||
class: "button radius tiny warning" %>
|
||||
<% end %>
|
||||
</p>
|
||||
@@ -103,6 +103,9 @@ en:
|
||||
unresolved: "Unresolved"
|
||||
accepted: "Accepted"
|
||||
rejected: "Rejected"
|
||||
show:
|
||||
geozone: "Scope"
|
||||
by: "Sent by"
|
||||
users:
|
||||
index:
|
||||
title: "Hidden users"
|
||||
|
||||
@@ -103,6 +103,9 @@ es:
|
||||
unresolved: "Sin resolver"
|
||||
accepted: "Aceptadas"
|
||||
rejected: "Rechazadas"
|
||||
show:
|
||||
geozone: "Ámbito"
|
||||
by: "Enviada por"
|
||||
users:
|
||||
index:
|
||||
title: "Usuarios bloqueados"
|
||||
|
||||
@@ -263,7 +263,7 @@ en:
|
||||
title: "Spending proposal title"
|
||||
description: "Description"
|
||||
external_url: "Link to additional documentation"
|
||||
geozone: "Area of operation"
|
||||
geozone: "Scope of operation"
|
||||
submit_buttons:
|
||||
new: Create
|
||||
create: Create
|
||||
|
||||
@@ -263,7 +263,7 @@ es:
|
||||
title: "Título de la propuesta de gasto"
|
||||
description: "Descripción detallada"
|
||||
external_url: "Enlace a documentación adicional"
|
||||
geozone: "Nivel de actuación"
|
||||
geozone: "Ámbito de actuación"
|
||||
submit_buttons:
|
||||
new: Crear
|
||||
create: Crear
|
||||
|
||||
@@ -122,7 +122,7 @@ Rails.application.routes.draw do
|
||||
end
|
||||
end
|
||||
|
||||
resources :spending_proposals, only: :index do
|
||||
resources :spending_proposals, only: [:index, :show] do
|
||||
member do
|
||||
put :accept
|
||||
put :reject
|
||||
|
||||
@@ -14,7 +14,7 @@ feature 'Admin spending proposals' do
|
||||
expect(page).to have_content(spending_proposal.title)
|
||||
end
|
||||
|
||||
scenario 'Accept' do
|
||||
scenario 'Accept from index' do
|
||||
spending_proposal = create(:spending_proposal)
|
||||
visit admin_spending_proposals_path
|
||||
|
||||
@@ -28,7 +28,7 @@ feature 'Admin spending proposals' do
|
||||
expect(spending_proposal.reload).to be_accepted
|
||||
end
|
||||
|
||||
scenario 'Reject' do
|
||||
scenario 'Reject from index' do
|
||||
spending_proposal = create(:spending_proposal)
|
||||
visit admin_spending_proposals_path
|
||||
|
||||
@@ -97,4 +97,44 @@ feature 'Admin spending proposals' do
|
||||
expect(current_url).to include('page=2')
|
||||
end
|
||||
|
||||
scenario 'Show' do
|
||||
spending_proposal = create(:spending_proposal, geozone: create(:geozone))
|
||||
visit admin_spending_proposals_path
|
||||
|
||||
click_link spending_proposal.title
|
||||
|
||||
expect(page).to have_content(spending_proposal.title)
|
||||
expect(page).to have_content(spending_proposal.description)
|
||||
expect(page).to have_content(spending_proposal.author.name)
|
||||
expect(page).to have_content(spending_proposal.geozone.name)
|
||||
end
|
||||
|
||||
scenario 'Accept from show' do
|
||||
spending_proposal = create(:spending_proposal)
|
||||
visit admin_spending_proposal_path(spending_proposal)
|
||||
|
||||
click_link 'Accept'
|
||||
|
||||
expect(page).to_not have_content(spending_proposal.title)
|
||||
|
||||
click_link 'Accepted'
|
||||
expect(page).to have_content(spending_proposal.title)
|
||||
|
||||
expect(spending_proposal.reload).to be_accepted
|
||||
end
|
||||
|
||||
scenario 'Reject from show' do
|
||||
spending_proposal = create(:spending_proposal)
|
||||
visit admin_spending_proposal_path(spending_proposal)
|
||||
|
||||
click_link 'Reject'
|
||||
|
||||
expect(page).to_not have_content(spending_proposal.title)
|
||||
|
||||
click_link('Rejected')
|
||||
expect(page).to have_content(spending_proposal.title)
|
||||
|
||||
expect(spending_proposal.reload).to be_rejected
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user