From 31b65679c37d3b8d0fc35ef8a40a099a955da1c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 20 Mar 2020 19:58:17 +0100 Subject: [PATCH] Extract partial to render flag actions The main obstacle to extract this partial was probably the paths for the flag and unflag actions. Now that we use Rails 5.1 `resolve` method to handle nested resources, we can use `polymorphic_path`. Also note the code is a bit ugly because comments render a divider. We should probably use a CSS border instead. Co-Authored-By: taitus --- app/views/admin/debates/show.html.erb | 4 +-- .../investments/_flag_actions.html.erb | 23 ---------------- .../investments/_investment_detail.erb | 2 +- .../investments/_refresh_flag_actions.js.erb | 2 +- app/views/comments/_actions.html.erb | 2 +- app/views/comments/_flag_actions.html.erb | 26 ------------------ .../comments/_refresh_flag_actions.js.erb | 2 +- app/views/debates/_flag_actions.html.erb | 19 ------------- .../debates/_refresh_flag_actions.js.erb | 2 +- app/views/debates/show.html.erb | 2 +- .../proposals/_flag_actions.html.erb | 19 ------------- .../proposals/_refresh_flag_actions.js.erb | 2 +- app/views/legislation/proposals/show.html.erb | 2 +- app/views/proposals/_flag_actions.html.erb | 19 ------------- app/views/proposals/_info.html.erb | 2 +- .../proposals/_refresh_flag_actions.js.erb | 3 +-- app/views/shared/_flag_actions.html.erb | 27 +++++++++++++++++++ 17 files changed, 39 insertions(+), 119 deletions(-) delete mode 100644 app/views/budgets/investments/_flag_actions.html.erb delete mode 100644 app/views/comments/_flag_actions.html.erb delete mode 100644 app/views/debates/_flag_actions.html.erb delete mode 100644 app/views/legislation/proposals/_flag_actions.html.erb delete mode 100644 app/views/proposals/_flag_actions.html.erb create mode 100644 app/views/shared/_flag_actions.html.erb diff --git a/app/views/admin/debates/show.html.erb b/app/views/admin/debates/show.html.erb index c0f70cf73..b92110e6b 100644 --- a/app/views/admin/debates/show.html.erb +++ b/app/views/admin/debates/show.html.erb @@ -21,8 +21,8 @@ <%= link_to t("debates.show.comments", count: @debate.comments_count), "#comments" %>  •  - <%= render "debates/flag_actions", debate: @debate %> - + <%= render "shared/flag_actions", flaggable: @debate %> + <%= auto_link_already_sanitized_html wysiwyg(@debate.description) %> diff --git a/app/views/budgets/investments/_flag_actions.html.erb b/app/views/budgets/investments/_flag_actions.html.erb deleted file mode 100644 index 44f384c3b..000000000 --- a/app/views/budgets/investments/_flag_actions.html.erb +++ /dev/null @@ -1,23 +0,0 @@ - - <% if show_flag_action? investment %> - "> - - - - <%= link_to t("shared.flag"), flag_budget_investment_path(investment.budget, investment.id), - method: :put, - remote: true %> - - <% end %> - - <% if show_unflag_action? investment %> - "> - - - - <%= link_to t("shared.unflag"), unflag_budget_investment_path(investment.budget, investment.id), - method: :put, - remote: true %> - - <% end %> - diff --git a/app/views/budgets/investments/_investment_detail.erb b/app/views/budgets/investments/_investment_detail.erb index 80e5dd5e5..28b8e8996 100644 --- a/app/views/budgets/investments/_investment_detail.erb +++ b/app/views/budgets/investments/_investment_detail.erb @@ -9,7 +9,7 @@  •  <% if local_assigns[:preview].nil? %> - <%= render "budgets/investments/flag_actions", investment: investment %> + <%= render "shared/flag_actions", flaggable: investment %> <% end %> diff --git a/app/views/budgets/investments/_refresh_flag_actions.js.erb b/app/views/budgets/investments/_refresh_flag_actions.js.erb index 07cf8d30a..96062f79c 100644 --- a/app/views/budgets/investments/_refresh_flag_actions.js.erb +++ b/app/views/budgets/investments/_refresh_flag_actions.js.erb @@ -1 +1 @@ -App.Flaggable.update("<%= dom_id(@investment) %>", "<%= j render("budgets/investments/flag_actions", investment: @investment) %>") +App.Flaggable.update("<%= dom_id(@investment) %>", "<%= j render("shared/flag_actions", flaggable: @investment) %>") diff --git a/app/views/comments/_actions.html.erb b/app/views/comments/_actions.html.erb index 76aed5b5a..166d05c12 100644 --- a/app/views/comments/_actions.html.erb +++ b/app/views/comments/_actions.html.erb @@ -1,5 +1,5 @@ - <%= render "comments/flag_actions", comment: comment %> + <%= render "shared/flag_actions", flaggable: comment, divider: true %> diff --git a/app/views/comments/_flag_actions.html.erb b/app/views/comments/_flag_actions.html.erb deleted file mode 100644 index 16e50f93b..000000000 --- a/app/views/comments/_flag_actions.html.erb +++ /dev/null @@ -1,26 +0,0 @@ - - <% if show_flag_action? comment %> -  |  - "> - - - - <%= link_to t("shared.flag"), flag_comment_path(comment), method: :put, - remote: true %> - - <% end %> - - <% if show_unflag_action? comment %> -  |  - "> - - - - <%= link_to t("shared.unflag"), unflag_comment_path(comment), method: :put, - remote: true %> - - <% end %> - diff --git a/app/views/comments/_refresh_flag_actions.js.erb b/app/views/comments/_refresh_flag_actions.js.erb index f6ce0bc91..991bb221e 100644 --- a/app/views/comments/_refresh_flag_actions.js.erb +++ b/app/views/comments/_refresh_flag_actions.js.erb @@ -1 +1 @@ -App.Flaggable.update("<%= dom_id(@comment) %>", "<%= j render("comments/flag_actions", comment: @comment) %>"); +App.Flaggable.update("<%= dom_id(@comment) %>", "<%= j render("shared/flag_actions", flaggable: @comment, divider: true) %>"); diff --git a/app/views/debates/_flag_actions.html.erb b/app/views/debates/_flag_actions.html.erb deleted file mode 100644 index e6b3308df..000000000 --- a/app/views/debates/_flag_actions.html.erb +++ /dev/null @@ -1,19 +0,0 @@ - - <% if show_flag_action? debate %> - "> - - - - <%= link_to t("shared.flag"), flag_debate_path(debate), method: :put, remote: true %> - - <% end %> - - <% if show_unflag_action? debate %> - "> - - - - <%= link_to t("shared.unflag"), unflag_debate_path(debate), method: :put, remote: true %> - - <% end %> - diff --git a/app/views/debates/_refresh_flag_actions.js.erb b/app/views/debates/_refresh_flag_actions.js.erb index 2c1e1701a..297a9059b 100644 --- a/app/views/debates/_refresh_flag_actions.js.erb +++ b/app/views/debates/_refresh_flag_actions.js.erb @@ -1 +1 @@ -App.Flaggable.update("<%= dom_id(@debate) %>", "<%= j render("debates/flag_actions", debate: @debate) %>"); +App.Flaggable.update("<%= dom_id(@debate) %>", "<%= j render("shared/flag_actions", flaggable: @debate) %>"); diff --git a/app/views/debates/show.html.erb b/app/views/debates/show.html.erb index 4b7211fdb..6889122f8 100644 --- a/app/views/debates/show.html.erb +++ b/app/views/debates/show.html.erb @@ -26,7 +26,7 @@ <%= link_to t("debates.show.comments", count: @debate.comments_count), "#comments" %>  •  - <%= render "debates/flag_actions", debate: @debate %> + <%= render "shared/flag_actions", flaggable: @debate %> diff --git a/app/views/legislation/proposals/_flag_actions.html.erb b/app/views/legislation/proposals/_flag_actions.html.erb deleted file mode 100644 index 10a7892cc..000000000 --- a/app/views/legislation/proposals/_flag_actions.html.erb +++ /dev/null @@ -1,19 +0,0 @@ - - <% if show_flag_action? proposal %> - "> - - - - <%= link_to t("shared.flag"), flag_legislation_process_proposal_path(proposal.process, proposal), method: :put, remote: true %> - - <% end %> - - <% if show_unflag_action? proposal %> - "> - - - - <%= link_to t("shared.unflag"), unflag_legislation_process_proposal_path(proposal.process, proposal), method: :put, remote: true %> - - <% end %> - diff --git a/app/views/legislation/proposals/_refresh_flag_actions.js.erb b/app/views/legislation/proposals/_refresh_flag_actions.js.erb index a9bbab7e3..38cb6a3c4 100644 --- a/app/views/legislation/proposals/_refresh_flag_actions.js.erb +++ b/app/views/legislation/proposals/_refresh_flag_actions.js.erb @@ -1 +1 @@ -App.Flaggable.update("<%= dom_id(@proposal) %>", "<%= j render("legislation/proposals/flag_actions", proposal: @proposal) %>"); +App.Flaggable.update("<%= dom_id(@proposal) %>", "<%= j render("shared/flag_actions", flaggable: @proposal) %>"); diff --git a/app/views/legislation/proposals/show.html.erb b/app/views/legislation/proposals/show.html.erb index fd6c2280c..fdf7347a7 100644 --- a/app/views/legislation/proposals/show.html.erb +++ b/app/views/legislation/proposals/show.html.erb @@ -46,7 +46,7 @@ <% if current_user %>  •  - <%= render "legislation/proposals/flag_actions", proposal: @proposal %> + <%= render "shared/flag_actions", flaggable: @proposal %> <% end %> diff --git a/app/views/proposals/_flag_actions.html.erb b/app/views/proposals/_flag_actions.html.erb deleted file mode 100644 index ed8e7aab0..000000000 --- a/app/views/proposals/_flag_actions.html.erb +++ /dev/null @@ -1,19 +0,0 @@ - - <% if show_flag_action? proposal %> - "> - - - - <%= link_to t("shared.flag"), flag_proposal_path(proposal), method: :put, remote: true %> - - <% end %> - - <% if show_unflag_action? proposal %> - "> - - - - <%= link_to t("shared.unflag"), unflag_proposal_path(proposal), method: :put, remote: true %> - - <% end %> - diff --git a/app/views/proposals/_info.html.erb b/app/views/proposals/_info.html.erb index f6c5e07b3..15467348b 100644 --- a/app/views/proposals/_info.html.erb +++ b/app/views/proposals/_info.html.erb @@ -13,7 +13,7 @@ <% if current_user %>  •  - <%= render "proposals/flag_actions", proposal: @proposal %> + <%= render "shared/flag_actions", flaggable: @proposal %> <% end %> diff --git a/app/views/proposals/_refresh_flag_actions.js.erb b/app/views/proposals/_refresh_flag_actions.js.erb index e89e316c2..e60ee63b7 100644 --- a/app/views/proposals/_refresh_flag_actions.js.erb +++ b/app/views/proposals/_refresh_flag_actions.js.erb @@ -1,2 +1 @@ -App.Flaggable.update("<%= dom_id(@proposal) %>", - "<%= j render("proposals/flag_actions", proposal: @proposal) %>") +App.Flaggable.update("<%= dom_id(@proposal) %>", "<%= j render("shared/flag_actions", flaggable: @proposal) %>") diff --git a/app/views/shared/_flag_actions.html.erb b/app/views/shared/_flag_actions.html.erb new file mode 100644 index 000000000..fbd2c4ab2 --- /dev/null +++ b/app/views/shared/_flag_actions.html.erb @@ -0,0 +1,27 @@ + + <% if show_flag_action?(flaggable) %> + <% if local_assigns[:divider] %> +  |  + <% end %> + + "> + + + + <%= link_to t("shared.flag"), polymorphic_path(flaggable, action: :flag), method: :put, remote: true %> + + <% end %> + + <% if show_unflag_action?(flaggable) %> + <% if local_assigns[:divider] %> +  |  + <% end %> + + "> + + + + <%= link_to t("shared.unflag"), polymorphic_path(flaggable, action: :unflag), method: :put, remote: true %> + + <% end %> +