scottwillson/racing_on_rails

View on GitHub
app/views/people/edit.html.erb

Summary

Maintainability
Test Coverage
<% @page_title = "People: #{@person.name}" %>
<% @show_tabs = (promoter? || administrator? || official?) -%>

<%= render "shared/errors", object: @person %>

<h2><%= @person.name %></h2>

  <%= form_for @person, html: { class: "form-horizontal", role: "form" } do |f| -%>
    <div class="row">
      <div class="col-sm-6">
        <%= f.labelled_text_field :first_name, nil, class: @person.new_record? ? "wants_focus col-sm-12 form-control" : "col-sm-12 form-control" %>
        <%= f.labelled_text_field :last_name %>
        <%= f.labelled_text_field :team_name %>
      </div>
      <div class="col-sm-6">
        <div class="form-group form-inline">
          <%= f.label :date_of_birth, "Date of Birth", class: "control-label col-sm-4" %>
          <div class="col-sm-8">
            <%= f.date_select :date_of_birth,
                {
                  order: [:month, :day, :year],
                  start_year: 1900,
                  end_year: Time.zone.today.year,
                  include_blank: true
                },
                { class: "form-control"} %>
          </div>
        </div>

        <%= f.labelled_text(:racing_age,  "#{@person.racing_age} #{'(Master)' if @person.master? } #{'(Junior)' if @person.junior? }") %>

        <% if RacingAssociation.current.default_sanctioned_by == "USA Cycling" -%>
        <%= f.labelled_text :cyclocross_racing_age, @person.cyclocross_racing_age, "CX Racing Age" %>
        <% end -%>

        <%= f.labelled_select :gender, [ "", "F", "M", "NB" ]%>
    </div>
  </div>

  <div class="row">
    <div class="col-sm-6">
      <%= f.labelled_text_field :email %>
      <%= f.labelled_text_field :home_phone %>
      <%= f.labelled_text_field :work_phone %>
      <%= f.labelled_text_field :cell_fax %>
      <%= f.labelled_text_field :emergency_contact %>
      <%= f.labelled_text_field :emergency_contact_phone, "Em. Contact Phone" %>
      <div class="check-boxes">
        <%= f.labelled_check_box :wants_mail, "It's OK to send me mail" %>
        <%= f.labelled_check_box :wants_email, "It's OK to email me" %>
      </div>
    </div>
    <div class="col-sm-6">
      <%= f.labelled_text_field :street %>
      <%= render "shared/city_state_zip", f: f %>
      <%= f.labelled_text_field :occupation %>

      <h3>Interests</h3>
      <div class="check-boxes">
        <%= f.labelled_check_box :official_interest, "Officiating" %>
        <%= f.labelled_check_box :race_promotion_interest, "Race promotion" %>
        <%= f.labelled_check_box :team_interest, "Team" %>
        <%= f.labelled_check_box :velodrome_committee_interest, "Velodrome Committee" %>
        <%= f.labelled_check_box :volunteer_interest, "Volunteer" %>
      </div>
    </div>
  </div>

  <div class="row">
    <div class="col-sm-6 membership">
      <%= f.labelled_text :member_from, @person.member_from %>
      <%= f.labelled_text :member_to, @person.member_to %>

      <%= f.labelled_text(:member, "Current", nil, class: "current") if @person.member? -%>
      <%= f.labelled_text(:usa_cycling, "Current (#{@person.license})", nil, class: "current") if @person.member_usac_to && @person.member_usac_to >= Time.zone.today -%>
      <%= f.labelled_text(:member, "Renewed", nil, class: "renewed") if @person.renewed? -%>
      <%= f.labelled_text(:member, "Not current", nil, class: "not_current") if !@person.member? && !@person.renewed? -%>
      <%= f.labelled_check_box :official, "Official", editable: false %>
    </div>

    <div class="col-sm-6">
      <%= f.labelled_text_field :login, nil, autocomplete: "off", class: "form-control col-sm-12" %>
      <%= f.labelled_password_field :password, nil, autocomplete: "off", class: "form-control col-sm-12" %>
    </div>
  </div>

  <hr/>

  <div class="row">
    <div class="col-sm-4">
      <%= render "numbers", person: @person %>
    </div>
    <div class="col-sm-4">
      <%= render "categories", person: @person %>
    </div>
    <div class="col-sm-4">
      <%= render "people/events", events: @person.administrator? ? @person.events.current_year : Event.editable_by(@person).current_year %>
    </div>
  </div>

  <div class="row">
    <div class="col-sm-6">
      <%= render "people/account_permissions",
            person: @person,
            account_permissions: @person.account_permissions,
            return_to: account_permission_return_to(@person, @current_person)
      %>
    </div>
    <% if @person.event_team_memberships.present? %>
    <div class="col-sm-6">
      <%= render "people/event_team_memberships", event_team_memberships: @person.event_team_memberships %>
    </div>
    <% end %>
  </div>

  <div class="row">
    <div class="col-sm-12">
      <%= render "people/orders", person: @person %>
    </div>
  </div>

  <div class="row form-group">
    <div class="col-sm-12">
      <%= submit_tag "Save", class: "btn btn-default", id: "save" %>
      <%= link_to "Results", person_results_path(@person), class: "btn btn-link" %>
      <div class="pull-right created_updated"><%= render partial: "people/created_updated" %></div>
    </div>
  </div>
<% end -%>