gitcoinco/code_fund_ads

View on GitHub
app/views/organization_transactions/_form.html.erb

Summary

Maintainability
Test Coverage
<%= simple_form_for organization_transaction, url: url, html: {class: "js-validate"}, wrapper: :front_form do |f| %>
  <%= render(Form::ErrorMessageComponent.new(object: organization_transaction)) %>
  <%= render CardComponent.new do %>
    <%= render Card::BodyComponent.new do %>
      <%= render(Card::TitleComponent.new(classes: "mb-4")) { "Details" } %>
      <div class="row">
        <div class="col-md-4 mb-3">
          <%= f.input :posted_at, as: :string, label: "Post Date", required: true,
                input_html: {class: "form-control", data: {controller: "select-date"},
                value: organization_transaction.posted_at.to_s("mm/dd/yyyy")} %>
        </div>
        <div class="col-md-4 mb-3">
          <%= f.input :amount, required: true, as: :currency, currency: "$", input_html: {class: "form-control"} %>
        </div>
        <div class="col-md-4 mb-3">
          <%= f.input :transaction_type, label: "Type", required: true,
                collection: ENUMS::ORGANIZATION_TRANSACTION_TYPES.values.map { |status| [status.capitalize, status] },
                input_html: {class: "form-control", data: {controller: "select"}} %>
        </div>
      </div>
      <div class="row">
        <%= tag.div f.input(:reference, as: :string, input_html: {class: "form-control"}), class: "col-12 mb-3" %>
        <%= tag.div f.input(:description, required: true, input_html: {rows: 10, class: "form-control"}), class: "col-12 mb-3" %>
      </div>
      <div class="media align-items-center mb-3">
        <%= f.label :gift, class: "switcher-control mb-0 mr-3" do %>
          <%= f.check_box :gift, class: "switcher-input" %>
          <span class="switcher-indicator"></span>
        <% end %>
        <label class="media-body text-muted mb-0">
          <span class="d-block text-dark">Gifted by CodeFund?</span>
        </label>
      </div>
      <div class="media align-items-center mb-3">
        <%= f.label :temporary, class: "switcher-control mb-0 mr-3" do %>
          <%= f.check_box :temporary, class: "switcher-input" %>
          <span class="switcher-indicator"></span>
        <% end %>
        <label class="media-body text-muted mb-0">
          <span class="d-block text-dark">Temporary Credit?</span>
        </label>
      </div>
      <div class="text-muted">
        Transaction cannot be a gift and temporary credit. Make sure only one of these is selected.
      </div>
    <% end %>
    <%= render Card::FooterComponent.new do |component| %>
      <% component.with(:actions) do %>
        <%= cancel_button(organization_transactions_path(organization)) %>
        <%= f.submit "Save Transaction", class: "btn btn-primary" %>
      <% end %>
    <% end %>
  <% end %>
<% end %>