gitcoinco/code_fund_ads

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

Summary

Maintainability
Test Coverage
<%= simple_form_for scheduled_organization_report, wrapper: :front_form do |f| %>
  <%= render(Form::ErrorMessageComponent.new(object: scheduled_organization_report)) %>
  <div class="row">
    <%= tag.div f.input(:subject, as: :string, label: "Subject", required: true), class: "col-12 mb-3" %>
    <%= tag.div f.input(:dataset, collection: scheduled_organization_report_datasets_for_select, required: true), class: "col-md-6 mb-3" %>
    <%= tag.div f.input(:frequency, collection: scheduled_organization_report_frequencies_for_select, required: true), class: "col-md-6 mb-3" %>
    <%= tag.div f.input(:date_range, required: true, label: "Start / End Date",
      input_html: {
        class: "js-range-datepicker form-control bg-white rounded-right",
        data: {
          controller: "select-date-range",
          start_date: Date.today.at_beginning_of_month.strftime("%m/%d/%Y"),
          end_date: Date.today.at_end_of_month.strftime("%m/%d/%Y")
        }
      }), class: "col-12 mb-3" %>
    <%= tag.div f.input(:recipients, as: :text, input_html: {value: current_user.email}, label: "Email Recipients (one per line)", required: true), class: "col-12 mb-3" %>
    <div class="col-12 mb-3">
      <label class="form-label string required">Campaigns <abbr title="required">*</abbr></label>
      <div>
        <% organization.campaigns.order(end_date: :desc).each do |campaign| %>
          <div class="form-check">
            <input class="form-check-input" name="scheduled_organization_report[campaign_ids][]" type="checkbox" value="<%= campaign.id %>" id="campaign-<%= campaign.id %>" />
            <label class="form-check-label" for="campaign-<%= campaign.id %>" style="font-size: 12px;">
              <%= campaign.id %> - <%= campaign.name %>
              <% if campaign.active? %>
                <span class="badge badge-<%= status_color(campaign.status) %>">Active</span>
              <% end %>
              <mark>
                <%= campaign.start_date.to_s("bd") %> - <%= campaign.end_date.to_s("bd") %>
              </mark>
            </label>
          </div>
        <% end %>
      </div>
    </div>
  </div>
  <div class="row">
    <%= button_panel margin: "my-0" do %>
      <%= cancel_button link: organization_reports_path(organization) %>
      <%= f.submit "Schedule Report", class: "btn btn-primary" %>
    <% end %>
  </div>
<% end %>