adds administrator to spending proposal
This commit is contained in:
@@ -17,6 +17,7 @@ class Admin::SpendingProposalsController < Admin::BaseController
|
|||||||
|
|
||||||
def edit
|
def edit
|
||||||
@spending_proposal = SpendingProposal.find(params[:id])
|
@spending_proposal = SpendingProposal.find(params[:id])
|
||||||
|
@admins = Administrator.includes(:user).all
|
||||||
@tags = ActsAsTaggableOn::Tag.where('taggings.taggable_type' => 'SpendingProposal').includes(:taggings)
|
@tags = ActsAsTaggableOn::Tag.where('taggings.taggable_type' => 'SpendingProposal').includes(:taggings)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -43,7 +44,7 @@ class Admin::SpendingProposalsController < Admin::BaseController
|
|||||||
private
|
private
|
||||||
|
|
||||||
def spending_proposal_params
|
def spending_proposal_params
|
||||||
params.require(:spending_proposal).permit(:tag_list)
|
params.require(:spending_proposal).permit(:administrator_id, :tag_list)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,4 +1,11 @@
|
|||||||
<%= form_for @spending_proposal, url: admin_spending_proposal_path(@spending_proposal) do |f| %>
|
<%= form_for @spending_proposal, url: admin_spending_proposal_path(@spending_proposal) do |f| %>
|
||||||
|
|
||||||
|
<%= f.select :administrator_id,
|
||||||
|
@admins.collect { |a| [ "#{a.name} (#{a.email})", a.id ] },
|
||||||
|
{ include_blank: t("admin.spending_proposals.show.undefined"),
|
||||||
|
label: false },
|
||||||
|
class: "js-submit-on-change" %>
|
||||||
|
|
||||||
<div class="small-12 column">
|
<div class="small-12 column">
|
||||||
<%= f.label :tag_list, t("proposals.form.tags_label") %>
|
<%= f.label :tag_list, t("proposals.form.tags_label") %>
|
||||||
<p class="note"><%= t("proposals.form.tags_instructions") %></p>
|
<p class="note"><%= t("proposals.form.tags_instructions") %></p>
|
||||||
|
|||||||
@@ -31,9 +31,7 @@
|
|||||||
<h2><%= t("admin.spending_proposals.show.responsibles") %></h2>
|
<h2><%= t("admin.spending_proposals.show.responsibles") %></h2>
|
||||||
|
|
||||||
<p><strong><%= t("admin.spending_proposals.show.assigned_admin") %>:</strong>
|
<p><strong><%= t("admin.spending_proposals.show.assigned_admin") %>:</strong>
|
||||||
<%= form_for(@spending_proposal, url: assign_admin_admin_spending_proposal_path(@spending_proposal), remote: true, html: {id: 'administrator_assignment_form'}) do |f| %>
|
<%= @spending_proposal.administrator.try(:name) || t("admin.spending_proposals.show.undefined") %>
|
||||||
<%= f.select :administrator_id, @admins.collect { |a| [ "#{a.name} (#{a.email})", a.id ] }, {include_blank: t("admin.spending_proposals.show.undefined"), label: false}, class: "js-submit-on-change" %>
|
|
||||||
<% end %>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<%= render 'shared/tags', taggable: @spending_proposal %>
|
<%= render 'shared/tags', taggable: @spending_proposal %>
|
||||||
|
|||||||
@@ -251,6 +251,19 @@ feature 'Admin spending proposals' do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "Add administrator" do
|
||||||
|
spending_proposal = create(:spending_proposal)
|
||||||
|
administrator = create(:administrator, user: create(:user, username: 'Marta', email: 'marta@admins.org'))
|
||||||
|
|
||||||
|
visit edit_admin_spending_proposal_path(spending_proposal)
|
||||||
|
|
||||||
|
select 'Marta (marta@admins.org)', from: 'spending_proposal[administrator_id]'
|
||||||
|
click_button 'Update'
|
||||||
|
|
||||||
|
expect(page).to have_content 'Investment project updated succesfully.'
|
||||||
|
expect(page).to have_content 'Assigned admin: Marta'
|
||||||
|
end
|
||||||
|
|
||||||
scenario "Adds existing tags", :js do
|
scenario "Adds existing tags", :js do
|
||||||
create(:spending_proposal, tag_list: 'Education, Health')
|
create(:spending_proposal, tag_list: 'Education, Health')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user