diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index 4d097ad97..90d2b06f6 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -63,4 +63,5 @@ class SpendingProposal < ActiveRecord::Base "undefined" end end + end diff --git a/app/views/admin/spending_proposals/show.html.erb b/app/views/admin/spending_proposals/show.html.erb index 2f4697a9c..4d3b57935 100644 --- a/app/views/admin/spending_proposals/show.html.erb +++ b/app/views/admin/spending_proposals/show.html.erb @@ -6,8 +6,15 @@

<%= text_with_links @spending_proposal.external_url %>

<% end %> -

<%= t("admin.spending_proposals.show.by") %>: <%= link_to @spending_proposal.author.name, admin_user_path(@spending_proposal.author) %>

-

<%= t("admin.spending_proposals.show.geozone") %>: <%= geozone_name(@spending_proposal) %>

+

<%= t("admin.spending_proposals.show.by") %>: + <%= link_to @spending_proposal.author.name, admin_user_path(@spending_proposal.author) %> +

+

<%= t("admin.spending_proposals.show.association_name") %>: + <%= @spending_proposal.association_name %> +

+

<%= t("admin.spending_proposals.show.geozone") %>: + <%= geozone_name(@spending_proposal) %> +

<%= l @spending_proposal.created_at, format: :datetime %>

diff --git a/app/views/shared/_author_info.html.erb b/app/views/shared/_author_info.html.erb index 7370ec10f..625888624 100644 --- a/app/views/shared/_author_info.html.erb +++ b/app/views/shared/_author_info.html.erb @@ -8,6 +8,13 @@ <%= link_to resource.author.name, user_path(resource.author) %> + + <% if resource.respond_to?(:association_name) && resource.association_name.present? %> + + <%= "(#{resource.association_name})" %> + + <% end %> + <% if resource.author.official? %>  •  diff --git a/config/locales/admin.en.yml b/config/locales/admin.en.yml index be52a41a8..1711c9221 100755 --- a/config/locales/admin.en.yml +++ b/config/locales/admin.en.yml @@ -148,6 +148,7 @@ en: unresolved: Unresolved title: Spending proposals for participatory budgeting show: + association_name: Asociación by: Sent by geozone: Scope dossier: Dossier diff --git a/config/locales/admin.es.yml b/config/locales/admin.es.yml index f2bd9f6a2..4ccdba39e 100644 --- a/config/locales/admin.es.yml +++ b/config/locales/admin.es.yml @@ -148,6 +148,7 @@ es: unresolved: Sin resolver title: Propuestas de gasto para presupuestos participativos show: + association_name: Asociación by: Enviada por geozone: Ámbito dossier: Informe diff --git a/spec/features/admin/spending_proposals_spec.rb b/spec/features/admin/spending_proposals_spec.rb index 9d8a33447..3b619dc3e 100644 --- a/spec/features/admin/spending_proposals_spec.rb +++ b/spec/features/admin/spending_proposals_spec.rb @@ -105,6 +105,7 @@ feature 'Admin spending proposals' do scenario 'Show' do spending_proposal = create(:spending_proposal, geozone: create(:geozone), + association_name: 'People of the neighbourhood', price: 1234.56, legal: true, feasible: false, @@ -116,6 +117,7 @@ feature 'Admin spending proposals' do 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.association_name) expect(page).to have_content(spending_proposal.geozone.name) expect(page).to have_content("1234.56") expect(page).to have_content("Legal") diff --git a/spec/features/spending_proposals_spec.rb b/spec/features/spending_proposals_spec.rb index b981c37aa..1d2f64a11 100644 --- a/spec/features/spending_proposals_spec.rb +++ b/spec/features/spending_proposals_spec.rb @@ -64,4 +64,54 @@ feature 'Spending proposals' do expect(page).to have_content error_message end + scenario "Show (as admin)" do + user = create(:user) + admin = create(:administrator, user: user) + login_as(admin.user) + + spending_proposal = create(:spending_proposal, + geozone: create(:geozone), + association_name: 'People of the neighbourhood') + + visit spending_proposal_path(spending_proposal) + + 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.association_name) + expect(page).to have_content(spending_proposal.geozone.name) + end + + scenario "Show (as valuator)" do + user = create(:user) + admin = create(:valuator, user: user) + login_as(admin.user) + + spending_proposal = create(:spending_proposal, + geozone: create(:geozone), + association_name: 'People of the neighbourhood') + + visit spending_proposal_path(spending_proposal) + + 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.association_name) + expect(page).to have_content(spending_proposal.geozone.name) + end + + scenario "Show (as user)" do + user = create(:user) + login_as(user) + + spending_proposal = create(:spending_proposal, + geozone: create(:geozone), + association_name: 'People of the neighbourhood') + + visit spending_proposal_path(spending_proposal) + + expect(page).to_not have_content(spending_proposal.title) + expect(page).to_not have_content("You do not have permission to access this page") + end + end