ministryofjustice/Claim-for-Crown-Court-Defence

View on GitHub
app/views/shared/providers/_form.html.haml

Summary

Maintainability
Test Coverage
= govuk_error_summary(@provider, :provider, presenter: @error_presenter)

= form_with model: @provider, url: form_url, html: { novalidate: true } do |f|

  = f.govuk_text_field :name,
    hint: { text: t('.provider_name_hint') },
    label: { text: t('.provider_name') }

  = f.govuk_radio_buttons_fieldset :provider_type, legend: { text: t('.provider_type'), size: 's' } do
    - Provider::PROVIDER_TYPES.each_with_index do |provider_type, index|
      = f.govuk_radio_button :provider_type, provider_type, label: { text: provider_type.capitalize }, link_errors: index.zero? do
        - if provider_type.eql?('firm')
          = f.govuk_check_boxes_fieldset :roles, legend: { text: t('.fee_schemes'), size: 's' }, hint: { text: t('.fee_schemes_hint') } do
            - Provider::ROLES.each_with_index do |role_type, index|
              = f.govuk_check_box :roles, role_type, label: { text: role_type.upcase }, link_errors: index.zero? do

                - if role_type.eql?('agfs')
                  = f.govuk_text_field :firm_agfs_supplier_number,
                    label: { text: t('.agfs_supplier_number') }

                - if role_type.eql?('lgfs')
                  = render 'shared/supplier_numbers', f: f

                  = f.govuk_collection_radio_buttons :vat_registered,
                    [['Yes','true'],['No','false']],
                    :last,
                    :first,
                    hint: { text: t('.vat_registered_hint') },
                    legend: { text: t('.vat_registered'), size: 's' }

  = f.govuk_submit t('.save_button') do
    - unless @provider.new_record?
      = govuk_link_button_secondary t('.cancel_button'),
        current_user_is_caseworker? ? provider_management_provider_path(@provider) : external_users_admin_provider_path(@provider)