From e3a2a42534b0550c01d05ea1b7e5e6dd68bd12e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Sun, 10 Mar 2024 19:14:41 +0100 Subject: [PATCH] Move investments executions view to a component Note that we're changing the component so it uses `polymorphic_path`; that way we don't have to pass the `@budget` variable to the component. We could also use `budget_investment_path investment.budget, investment` instead. --- .../budgets/executions/investments_component.html.erb} | 4 ++-- app/components/budgets/executions/investments_component.rb | 7 +++++++ app/views/budgets/executions/show.html.erb | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) rename app/{views/budgets/executions/_investments.html.erb => components/budgets/executions/investments_component.html.erb} (84%) create mode 100644 app/components/budgets/executions/investments_component.rb diff --git a/app/views/budgets/executions/_investments.html.erb b/app/components/budgets/executions/investments_component.html.erb similarity index 84% rename from app/views/budgets/executions/_investments.html.erb rename to app/components/budgets/executions/investments_component.html.erb index 50e45cab8..b6a7dc937 100644 --- a/app/views/budgets/executions/_investments.html.erb +++ b/app/components/budgets/executions/investments_component.html.erb @@ -1,4 +1,4 @@ -<% @investments_by_heading.each do |heading, investments| %> +<% investments_by_heading.each do |heading, investments| %>

<%= heading.name %> (<%= investments.count %>)

@@ -11,7 +11,7 @@
<%= link_to investment.title, - budget_investment_path(@budget, investment, anchor: "tab-milestones") %> + polymorphic_path(investment, anchor: "tab-milestones") %>
<%= investment.author.name %>
diff --git a/app/components/budgets/executions/investments_component.rb b/app/components/budgets/executions/investments_component.rb new file mode 100644 index 000000000..d6f50bac7 --- /dev/null +++ b/app/components/budgets/executions/investments_component.rb @@ -0,0 +1,7 @@ +class Budgets::Executions::InvestmentsComponent < ApplicationComponent + attr_reader :investments_by_heading + + def initialize(investments_by_heading) + @investments_by_heading = investments_by_heading + end +end diff --git a/app/views/budgets/executions/show.html.erb b/app/views/budgets/executions/show.html.erb index 01c16fc44..4db70fb8f 100644 --- a/app/views/budgets/executions/show.html.erb +++ b/app/views/budgets/executions/show.html.erb @@ -45,7 +45,7 @@ <%= render Budgets::Executions::FiltersComponent.new(@budget, @statuses) %> <% if @investments_by_heading.any? %> - <%= render "budgets/executions/investments" %> + <%= render Budgets::Executions::InvestmentsComponent.new(@investments_by_heading) %> <% else %>
<%= t("budgets.executions.no_winner_investments") %>