Files
grecia/app/components/admin/budgets/index_component.rb
Javi Martín fc1a0f33e7 Add draft info on unpublished budgets
Before commit 28caabecd, it was clear which budgets were in draft mode
because their phase was "drafting".

Now the phase isn't "drafting" anymore, so we have to make it clear
somehow that the budget is a draft.

I'm using styles similar to the ones we added in commit 2f636eaf7 for
completed budgets but at the same time making them slightly different so
it's easy to differenciate completed and drafting budgets.
2021-04-21 17:12:12 +02:00

49 lines
1.1 KiB
Ruby

class Admin::Budgets::IndexComponent < ApplicationComponent
include Header
attr_reader :budgets
def initialize(budgets)
@budgets = budgets
end
def title
t("admin.budgets.index.title")
end
private
def phase_progress_text(budget)
t("admin.budgets.index.table_phase_progress",
current_phase_number: current_enabled_phase_number(budget),
total_phases: budget.phases.enabled.count)
end
def current_enabled_phase_number(budget)
budget.phases.enabled.order(:id).pluck(:kind).index(budget.phase) + 1
end
def dates(budget)
Admin::Budgets::DurationComponent.new(budget).dates
end
def duration(budget)
Admin::Budgets::DurationComponent.new(budget).duration
end
def status_html_class(budget)
if budget.drafting?
"budget-draft"
elsif budget.finished?
"budget-completed"
end
end
def status_text(budget)
if budget.drafting?
tag.span t("admin.budgets.index.table_draft")
elsif budget.finished?
tag.span t("admin.budgets.index.table_completed")
end
end
end