Before commit28caabecd, 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 commit2f636eaf7for completed budgets but at the same time making them slightly different so it's easy to differenciate completed and drafting budgets.
49 lines
1.1 KiB
Ruby
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
|