spree-contrib/spree_print_invoice

View on GitHub
app/views/spree/admin/print_invoice_settings/edit.html.erb

Summary

Maintainability
Test Coverage
<% content_for :page_title do %>
  <%= Spree.t(:settings, scope: :print_invoice) %>
<% end %>

<%= form_tag(admin_print_invoice_settings_path, method: :put) do %>
  <fieldset class="no-border-top">
    <div data-hook="admin_print_invoice_method_form_fields">
      <div class="row">
        <div class="col-md-6" data-hook="pdf">
          <fieldset class="no-border-bottom">
            <legend><%= Spree.t(:pdf_legend, scope: :print_invoice) %></legend>

            <div class="form-group">
              <div class="checkbox">
                <%= label_tag :use_footer do %>
                  <%= preference_field_tag(:use_footer, Spree::PrintInvoice::Config[:use_footer], type: :boolean) %>
                  <%= Spree.t(:use_footer, scope: [:print_invoice, :preferences]) %>
                <% end %>
              </div>

              <div class="checkbox">
                <%= label_tag :use_page_numbers do %>
                  <%= preference_field_tag(:use_page_numbers, Spree::PrintInvoice::Config[:use_page_numbers], type: :boolean) %>
                  <%= Spree.t(:use_page_numbers, scope: [:print_invoice, :preferences]) %>
                <% end %>
              </div>
            </div>

            <div class="form-group">
              <%= label_tag :logo_path, Spree.t(:logo_path, scope: [:print_invoice, :preferences]) %>
              <%= preference_field_tag(:logo_path, Spree::PrintInvoice::Config[:logo_path], class: 'form-control') %>
            </div>

            <div class="form-group">
              <%= label_tag :next_number, Spree.t(:next_number, scope: [:print_invoice, :preferences]) %>
              <%= number_field_tag(:next_number, Spree::PrintInvoice::Config[:next_number], class: 'form-control') %>
            </div>

            <div class="form-group">
              <%= label_tag :page_size, Spree.t(:page_size, scope: [:print_invoice, :preferences]) %>
              <%= select_tag(:page_size, options_for_select(Spree::PrintInvoice::Config.page_sizes, Spree::PrintInvoice::Config[:page_size]), class: 'select2') %>
            </div>

            <div class="form-group">
              <%= label_tag :page_layout, Spree.t(:page_layout, scope: [:print_invoice, :preferences]) %>
              <%= select_tag(:page_layout, options_for_select(Spree::PrintInvoice::Config.page_layouts, Spree::PrintInvoice::Config[:page_layout]), class: 'select2') %>
            </div>

            <div class="form-group">
              <%= label_tag :font_face, Spree.t(:font_face, scope: [:print_invoice, :preferences]) %>
              <%= select_tag(:font_face, options_for_select(Spree::PrintInvoice::Config.font_faces, Spree::PrintInvoice::Config[:font_face]), class: 'select2') %>
            </div>

            <div class="form-group">
              <%= label_tag :font_size, Spree.t(:font_size, scope: [:print_invoice, :preferences]) %>
              <%= select_tag(:font_size, options_for_select(Spree::PrintInvoice::Config.font_sizes.map(&:to_s), Spree::PrintInvoice::Config[:font_size]), class: 'select2') %>
            </div>

            <div class="form-group">
              <%= label_tag :logo_scale, Spree.t(:logo_scale, scope: [:print_invoice, :preferences]) %>
              <%= number_field_tag(:logo_scale, Spree::PrintInvoice::Config[:logo_scale], in: 1...101, class: 'form-control') %>
            </div>

            <div class="form-group">
              <div class="checkbox">
                <%= label_tag :store_pdf do %>
                  <%= preference_field_tag(:store_pdf, Spree::PrintInvoice::Config[:store_pdf], type: :boolean) %>
                  <%= Spree.t(:store_pdf, scope: [:print_invoice, :preferences]) %>
                <% end %>
              </div>
            </div>

            <div class="form-group">
              <%= label_tag :storage_path, Spree.t(:storage_path, scope: [:print_invoice, :preferences]) %>
              <%= preference_field_tag(:storage_path, Spree::PrintInvoice::Config[:storage_path], class: 'form-control', disabled: !Spree::PrintInvoice::Config[:store_pdf]) %>
            </div>
          </fieldset>
        </div>

        <div class="col-md-6" data-hook="invoice">
          <fieldset class="no-border-bottom">
            <legend><%= Spree.t(:invoice_slip_legend, scope: :print_invoice) %></legend>

            <div class="form-group">
              <%= label_tag :footer_left, Spree.t(:footer_left, scope: [:print_invoice, :preferences]) %>
              <%= text_area_tag(:footer_left, Spree::PrintInvoice::Config[:footer_left], rows: 5, class: 'form-control') %>
              <%= content_tag(:span, Spree.t(:footer_left_info, scope: [:print_invoice, :preferences]), class: 'info') %>
            </div>

            <div class="form-group">
              <%= label_tag :footer_right, Spree.t(:footer_right, scope: [:print_invoice, :preferences]) %>
              <%= text_area_tag(:footer_right, Spree::PrintInvoice::Config[:footer_right], rows: 5, class: 'form-control') %>
              <%= content_tag(:span, Spree.t(:footer_right_info, scope: [:print_invoice, :preferences]), class: 'info') %>
            </div>

            <div class="form-group">
              <%= label_tag :return_message, Spree.t(:return_message, scope: [:print_invoice, :preferences]) %>
              <%= text_area_tag(:return_message, Spree::PrintInvoice::Config[:return_message], rows: 6, class: 'form-control') %>
            </div>

            <div class="form-group">
              <%= label_tag :anomaly_message, Spree.t(:anomaly_message, scope: [:print_invoice, :preferences]) %>
              <%= text_area_tag(:anomaly_message, Spree::PrintInvoice::Config[:anomaly_message], rows: 6, class: 'form-control') %>
            </div>
          </fieldset>
        </div>
      </div>

      <div class="form-actions" data-hook="buttons">
        <%= button Spree.t('actions.update'), 'save' %>
      </div>

    </div>
  </fieldset>
<% end %>