From fb5b067d00715efddadae6f8bba24e763be7a571 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 18 Feb 2021 20:11:59 +0100 Subject: [PATCH] Extract phases edition to a component --- .../budget_phases/phases_component.html.erb | 41 ++++++++++++++++++ .../admin/budget_phases/phases_component.rb | 13 ++++++ app/views/admin/budgets/_form.html.erb | 43 +------------------ 3 files changed, 55 insertions(+), 42 deletions(-) create mode 100644 app/components/admin/budget_phases/phases_component.html.erb create mode 100644 app/components/admin/budget_phases/phases_component.rb diff --git a/app/components/admin/budget_phases/phases_component.html.erb b/app/components/admin/budget_phases/phases_component.html.erb new file mode 100644 index 000000000..868a199bd --- /dev/null +++ b/app/components/admin/budget_phases/phases_component.html.erb @@ -0,0 +1,41 @@ +<% if phases.present? %> + + + + + + + + + + + <% phases.each do |phase| %> + + + + + + + <% end %> +
<%= t("admin.budgets.edit.phase") %><%= t("admin.budgets.edit.dates") %><%= t("admin.budgets.edit.enabled") %><%= t("admin.budgets.edit.actions") %>
+ <%= phase.name %> + <% if phase.current? %> + <%= t("admin.budgets.edit.active") %> + <% end %> + + <% if phase.starts_at.present? || phase.ends_at.present? %> + <%= l(phase.starts_at.to_date) if phase.starts_at.present? %> + - + <%= l(phase.ends_at.to_date) if phase.ends_at.present? %> + <% else %> + <%= t("admin.budgets.edit.blank_dates") %> + <% end %> + + "> + + <%= render Admin::TableActionsComponent.new(phase, + actions: [:edit], + edit_text: t("admin.budgets.edit.edit_phase") + ) %> +
+<% end %> diff --git a/app/components/admin/budget_phases/phases_component.rb b/app/components/admin/budget_phases/phases_component.rb new file mode 100644 index 000000000..e7e09176a --- /dev/null +++ b/app/components/admin/budget_phases/phases_component.rb @@ -0,0 +1,13 @@ +class Admin::BudgetPhases::PhasesComponent < ApplicationComponent + attr_reader :budget + + def initialize(budget) + @budget = budget + end + + private + + def phases + budget.phases.order(:id) + end +end diff --git a/app/views/admin/budgets/_form.html.erb b/app/views/admin/budgets/_form.html.erb index c2c243763..295f1234a 100644 --- a/app/views/admin/budgets/_form.html.erb +++ b/app/views/admin/budgets/_form.html.erb @@ -44,48 +44,7 @@ <%= render Admin::Budgets::HelpComponent.new("budget_phases") %> - - <% if @budget.phases.present? %> - - - - - - - - - - - <% @budget.phases.order(:id).each do |phase| %> - - - - - - - <% end %> -
<%= t("admin.budgets.edit.phase") %><%= t("admin.budgets.edit.dates") %><%= t("admin.budgets.edit.enabled") %><%= t("admin.budgets.edit.actions") %>
- <%= phase.name %> - <% if phase.current? %> - <%= t("admin.budgets.edit.active") %> - <% end %> - - <% if phase.starts_at.present? || phase.ends_at.present? %> - <%= l(phase.starts_at.to_date) if phase.starts_at.present? %> - - - <%= l(phase.ends_at.to_date) if phase.ends_at.present? %> - <% else %> - <%= t("admin.budgets.edit.blank_dates") %> - <% end %> - - "> - - <%= render Admin::TableActionsComponent.new(phase, - actions: [:edit], - edit_text: t("admin.budgets.edit.edit_phase") - ) %> -
- <% end %> + <%= render Admin::BudgetPhases::PhasesComponent.new(@budget) %> <% if @budget.persisted? %>