Use buttons to execute/unexecute dashboard actions
As mentioned in commit 5311daadf, using buttons for non-GET requests has
several advantages over using links.
This commit is contained in:
@@ -139,6 +139,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
form {
|
||||||
|
display: inline;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
.icon-check {
|
.icon-check {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-size: rem-calc(24);
|
font-size: rem-calc(24);
|
||||||
@@ -147,7 +152,6 @@
|
|||||||
|
|
||||||
.unchecked-link {
|
.unchecked-link {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: top;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.unchecked {
|
.unchecked {
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<div id="<%= dom_id(proposed_action) %>">
|
<div id="<%= dom_id(proposed_action) %>">
|
||||||
<div class="action">
|
<div class="action">
|
||||||
<% if proposed_action.proposals.where(id: proposal.id).any? %>
|
<% if proposed_action.proposals.where(id: proposal.id).any? %>
|
||||||
<%= link_to unexecute_proposal_dashboard_action_path(proposal, proposed_action),
|
<%= button_to unexecute_proposal_dashboard_action_path(proposal, proposed_action),
|
||||||
method: :post,
|
|
||||||
class: "checked-link" do %>
|
class: "checked-link" do %>
|
||||||
<span class="show-for-sr">
|
<span class="show-for-sr">
|
||||||
<%= t("dashboard.recommended_actions.unexecute", name: proposed_action.title) %>
|
<%= t("dashboard.recommended_actions.unexecute", name: proposed_action.title) %>
|
||||||
@@ -10,8 +9,7 @@
|
|||||||
<span class="icon-check"></span>
|
<span class="icon-check"></span>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to execute_proposal_dashboard_action_path(proposal, proposed_action),
|
<%= button_to execute_proposal_dashboard_action_path(proposal, proposed_action),
|
||||||
method: :post,
|
|
||||||
class: "unchecked-link" do %>
|
class: "unchecked-link" do %>
|
||||||
<span class="show-for-sr">
|
<span class="show-for-sr">
|
||||||
<%= t("dashboard.recommended_actions.execute", name: proposed_action.title) %>
|
<%= t("dashboard.recommended_actions.execute", name: proposed_action.title) %>
|
||||||
|
|||||||
@@ -100,14 +100,14 @@ describe "Proposal's dashboard" do
|
|||||||
expect(page).to have_content "Expand!"
|
expect(page).to have_content "Expand!"
|
||||||
end
|
end
|
||||||
|
|
||||||
click_link "Mark Expand! as done"
|
click_button "Mark Expand! as done"
|
||||||
|
|
||||||
within "#proposed_actions_done" do
|
within "#proposed_actions_done" do
|
||||||
expect(page).to have_content "Expand!"
|
expect(page).to have_content "Expand!"
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(page).not_to have_link "Mark Expand! as done"
|
expect(page).not_to have_button "Mark Expand! as done"
|
||||||
expect(page).to have_link "Unmark Expand! as done"
|
expect(page).to have_button "Unmark Expand! as done"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Dashboard progress can unexecute proposed action" do
|
scenario "Dashboard progress can unexecute proposed action" do
|
||||||
@@ -120,14 +120,14 @@ describe "Proposal's dashboard" do
|
|||||||
expect(page).to have_content "Reinforce!"
|
expect(page).to have_content "Reinforce!"
|
||||||
end
|
end
|
||||||
|
|
||||||
click_link "Unmark Reinforce! as done"
|
click_button "Unmark Reinforce! as done"
|
||||||
|
|
||||||
within "#proposed_actions_pending" do
|
within "#proposed_actions_pending" do
|
||||||
expect(page).to have_content "Reinforce!"
|
expect(page).to have_content "Reinforce!"
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(page).not_to have_link "Unmark Reinforce! as done"
|
expect(page).not_to have_button "Unmark Reinforce! as done"
|
||||||
expect(page).to have_link "Mark Reinforce! as done"
|
expect(page).to have_button "Mark Reinforce! as done"
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Dashboard progress dont show proposed actions with published_proposal: true" do
|
scenario "Dashboard progress dont show proposed actions with published_proposal: true" do
|
||||||
@@ -464,7 +464,7 @@ describe "Proposal's dashboard" do
|
|||||||
action = create(:dashboard_action, :proposed_action, :active, title: "Make progress")
|
action = create(:dashboard_action, :proposed_action, :active, title: "Make progress")
|
||||||
|
|
||||||
visit recommended_actions_proposal_dashboard_path(proposal.to_param)
|
visit recommended_actions_proposal_dashboard_path(proposal.to_param)
|
||||||
click_link "Mark Make progress as done"
|
click_button "Mark Make progress as done"
|
||||||
|
|
||||||
within "#proposed_actions_done" do
|
within "#proposed_actions_done" do
|
||||||
expect(page).to have_content(action.title)
|
expect(page).to have_content(action.title)
|
||||||
|
|||||||
Reference in New Issue
Block a user