ministryofjustice/Claim-for-Crown-Court-Defence

View on GitHub
app/views/external_users/claims/expenses/_summary.html.haml

Summary

Maintainability
Test Coverage
#expenses-section.app-summary-section
  %h2.govuk-heading-l
    = t('external_users.claims.expenses.summary.header')

  - if local_assigns[:editable]
    = govuk_link_to t('common.change_html', context: t('external_users.claims.expenses.summary.header')), edit_polymorphic_path(claim, step: :travel_expenses, referrer: :summary), class: 'link-change'

  - if claim.expenses.empty?
    - if local_assigns.has_key?(:editable) && !local_assigns[:editable]
      = render partial: 'external_users/claims/summary/section_status', locals: { claim: claim, section: section, step: :travel_expenses }
    - else
      %p
        = t('shared.summary.no_values.expenses')
  - else
    %h2.govuk-heading-m
      = t('shared.summary.cost_summary')

    = govuk_table do
      = govuk_table_caption(class: 'govuk-visually-hidden') do
        = t('.caption')

      = govuk_table_thead do
        = govuk_table_row do
          = govuk_table_th do
            = t('shared.summary.expense_type')
          = govuk_table_th_numeric do
            = t('shared.summary.amount')
          = govuk_table_th_numeric do
            = t('shared.summary.vat_amount')
          = govuk_table_th_numeric do
            = t('shared.summary.total_amount')

      = govuk_table_tbody do
        - present_collection(claim.expenses).each.with_index(1) do |expense, index|
          = govuk_table_row do
            = govuk_table_td('data-label': t('shared.summary.expense_type')) do
              = expense.name
            = govuk_table_td_numeric('data-label': t('shared.summary.amount')) do
              = expense.amount.present? ? expense.amount : t('general.not_applicable_html')
            = govuk_table_td_numeric('data-label': t('shared.summary.vat_amount')) do
              = expense.vat_amount.present? ? expense.vat_amount : t('general.not_applicable_html')
            = govuk_table_td_numeric('data-label': t('shared.summary.total_amount')) do
              = expense.total.present? ? expense.total : t('general.not_applicable_html')

      = govuk_table_tfoot do
        = govuk_table_row do
          = govuk_table_th(scope: 'row') do
            = t('shared.summary.total')
          = govuk_table_td_numeric('data-label': t('shared.summary.amount')) do
            = claim.expenses_total
          = govuk_table_td_numeric('data-label': t('shared.summary.vat_amount')) do
            = claim.expenses_vat
          = govuk_table_td_numeric('data-label': t('shared.summary.total_amount')) do
            = claim.expenses_gross

  - if @claim.travel_expense_additional_information.present?
    %h3.govuk-heading-m
      = t('.additional_information')
    %p
      = format_multiline(@claim.travel_expense_additional_information)

  - if claim.expenses.empty?.eql?(false)
    %h3.govuk-heading-m
      = t('shared.summary.expenses.travel_details')

    = govuk_table do
      = govuk_table_caption(class: 'govuk-visually-hidden') do
        = t('.additional_information')

      = govuk_table_thead do
        = govuk_table_row do
          = govuk_table_th do
            = t('shared.summary.expense_type')
          = govuk_table_th do
            = t('shared.summary.reason')
          = govuk_table_th do
            = t('shared.summary.details')
          = govuk_table_th_numeric do
            = t('shared.summary.date_of_expense')
          = govuk_table_th_numeric do
            = t('shared.summary.amount')
          = govuk_table_th_numeric do
            = t('shared.summary.vat_amount')
          = govuk_table_th_numeric do
            = t('shared.summary.total_amount')

      = govuk_table_tbody do
        - present_collection(claim.expenses).each.with_index(1) do |expense, index|
          = govuk_table_row do
            = govuk_table_td('data-label': t('shared.summary.expense_type')) do
              = expense.name
            = govuk_table_td('data-label': t('shared.summary.reason')) do
              = expense.reason
            = govuk_table_td('data-label': t('shared.summary.details')) do
              - if expense.location.present? || expense.distance.present? || expense.mileage_rate.present?
                %ul.govuk-list
                  - if expense.location.present?
                    %li
                      = t('shared.summary.destination_html', location: expense.location)
                  - if expense.distance.present?
                    %li
                      = t('shared.summary.distance_html', distance: expense.distance)
                  - if expense.mileage_rate_id.present?
                    %li
                      = t('shared.summary.cost_html', cost: expense.mileage_rate)
              - else
                = t('general.not_applicable_html')
            = govuk_table_td_numeric('data-label': t('shared.summary.date_of_expense')) do
              = expense.date.present? ? expense.pretty_date : t('general.not_applicable_html')
            = govuk_table_td_numeric('data-label': t('shared.summary.amount')) do
              = expense.amount.present? ? expense.amount : t('general.not_applicable_html')
            = govuk_table_td_numeric('data-label': t('shared.summary.vat_amount')) do
              = expense.vat_amount.present? ? expense.vat_amount : t('general.not_applicable_html')
            = govuk_table_td_numeric('data-label': t('shared.summary.total_amount')) do
              = expense.total.present? ? expense.total : t('general.not_applicable_html')