AgileVentures/osra

View on GitHub
app/views/sponsors/_filters.html.haml

Summary

Maintainability
Test Coverage
-if filters

  #filters_content.filters_content
    .filters_button_container
      %button#btn-filters-toggle.btn.btn-filters{type: "button"}
        Filters
        %span.glyphicon.th_sort_desc

    =form_tag({action: "index"}, {method: :get, id: "filters", role: "form"}) do
      %fieldset
        .form-group-sm
          =label_tag :name
          .row
            .col-xs-4
              =select_tag "filters[name_option]",
                    options_for_select([["Contains","contains"], ["Equals","equals"],
                         ["Starts with","starts_with"], ["Ends width","ends_with"]], filters[:name_option]),
                    class: "form-control"
            .col-xs-8
              =text_field_tag "filters[name_value]", filters[:name_value], class: "form-control"

        .form-group-sm
          =label_tag :gender
          =select_tag "filters[gender]", options_for_select(Settings.lookup.gender, filters[:gender]),
               {include_blank: "Any", class: "form-control"}

        .form-group-sm
          =label_tag :branch
          =select_tag "filters[branch_id]", options_for_select(Branch.pluck(:name, :id), filters[:branch_id]),
               {include_blank: "Any", class: "form-control"}

        .form-group-sm
          =label_tag :organization
          =select_tag "filters[organization_id]", options_for_select(Organization.pluck(:name, :id), filters[:organization_id]),
               {include_blank: "Any", class: "form-control"}

        .form-group-sm
          =label_tag :status
          =select_tag "filters[status_id]", options_for_select(Status.pluck(:name, :id), filters[:status_id]),
               {include_blank: "Any", class: "form-control"}

        .form-group-sm
          =label_tag :sponsor_type
          =select_tag "filters[sponsor_type_id]", options_for_select(SponsorType.pluck(:name, :id), filters[:sponsor_type_id]),
               {include_blank: "Any", class: "form-control"}

        .form-group-sm
          =label_tag :agent
          =select_tag "filters[agent_id]", options_for_select(User.pluck(:user_name, :id), filters[:agent_id]),
               {include_blank: "Any", class: "form-control"}

        .form-group-sm
          =label_tag :country
          =select_tag "filters[country]", options_for_select(country_options_for_select, filters[:country]),
               {include_blank: "Any", class: "form-control"}

        .form-group-sm
          =label_tag :city
          =select_tag "filters[city]", options_for_select(Sponsor.distinct.pluck(:city).sort, filters[:city]),
               {include_blank: "Any", class: "form-control"}

        .form-group-sm
          =label_tag :created_at
          .row
            .col-xs-6
              .input-group
                .input-group-addon
                  from
                =text_field_tag "filters[created_at_from]", filters[:created_at_from], class: "form-control date-picker"
            .col-xs-6
              .input-group
                .input-group-addon
                  until
                =text_field_tag "filters[created_at_until]", filters[:created_at_until], class: "form-control date-picker"

        .form-group-sm
          =label_tag :updated_at
          .row
            .col-xs-6
              .input-group
                .input-group-addon
                  from
                =text_field_tag "filters[updated_at_from]", filters[:updated_at_from], class: "form-control date-picker"
            .col-xs-6
              .input-group
                .input-group-addon
                  until
                =text_field_tag "filters[updated_at_until]", filters[:updated_at_until], class: "form-control date-picker"

        .form-group-sm
          =label_tag :start_date
          .row
            .col-xs-6
              .input-group
                .input-group-addon
                  from
                =text_field_tag "filters[start_date_from]", filters[:start_date_from], class: "form-control date-picker"
            .col-xs-6
              .input-group
                .input-group-addon
                  until
                =text_field_tag "filters[start_date_until]", filters[:start_date_until], class: "form-control date-picker"

        .form-group-sm
          =label_tag :request_fulfilled
          =select_tag "filters[request_fulfilled]", options_for_select([["Yes", true], ["No", false]], filters[:request_fulfilled]),
               {include_blank: "Any", class: "form-control"}

        .form-group-sm
          =label_tag :active_sponsorship_count, "Number Of Active Sponsorships"
          .row
            .col-xs-4
              =select_tag "filters[active_sponsorship_count_option]",
               options_for_select([["Equals","equals"], ["Greather than","greather_than"], ["Less than","less_than"]], filters[:active_sponsorship_count_option]), class: "form-control"
            .col-xs-8
              =text_field_tag "filters[active_sponsorship_count_value]", filters[:active_sponsorship_count_value], class: "form-control"

        .form-group-sm
          =submit_tag "Filter", class: 'btn btn-primary'
          =submit_tag "Clear Filters", class: 'btn btn-default'