LiteracyVolunteersOfMA/lvm-rails

View on GitHub
app/views/tutors/show.html.erb

Summary

Maintainability
Test Coverage
<div class="row">
  <div class="col-md-3">
    <div class="row">
      <div class="col-xs-12">
        <div class="panel panel-default">
          <div class="panel-body">
            <div class="row">
              <div class="col-xs-5">
                <%= link_to edit_tutor_path(@tutor) do %>
                  <button class="btn btn-primary">
                    <span class="glyphicon glyphicon-pencil"></span> Edit Tutor
                  </button>
                <% end %>
              </div>

              <div class="col-xs-7 text-right">
                <% if @tutor.deleted_on %>
                  <%= link_to tutor_reinstate_path(@tutor), method: :patch, data: { confirm: "Are you sure you want to reinstate #{@tutor.name}?" } do %>
                    <button class="btn btn-success">
                      <span class="glyphicon glyphicon-check"></span> Reinstate Tutor
                    </button>
                  <% end %>
                <% else %>
                  <%= link_to tutor_delete_path(@tutor), method: :patch, data: { confirm: "Are you sure you want to delete #{@tutor.name}?" } do %>
                    <button class="btn btn-danger">
                      <span class="glyphicon glyphicon-trash"></span> Delete Tutor
                    </button>
                  <% end %>
                <% end %>
              </div>
            </div>
            <h3 class="text-center">
              <%= @tutor.name %><br>
              <small>
                Affiliate:
                <% if @tutor.active_affiliate %>
                  <label> <%= @tutor.active_affiliate.name %> </label>
                <% else %>
                  <label>No Affiliate</label>
                <% end %>
              </small><br>
              <button class="btn btn-sm btn-<%= @tutor.status_class_indicator %> disabled"><%= @tutor.status.blank? ? "Status Unknown" : @tutor.status %></button>
            </h3>

            <hr>

            <div class="row">
              <div class="col-md-12 text-center">
                <h4> Attached User Account</h4>
                <% if @user %>
                  <p> <%= link_to @user.email, @user %> </p>
                <% else %>
                  <p> No Account Attached
                <% end %>
              </div>
            </div>

            <hr>

            <div class="row">
              <div class="col-sm-6">
                <span class="text-muted">SMARTT ID: </span><b><%= @tutor.smartt_id %></b>
              </div>
              <div class="col-sm-6">
                <span class="text-muted">Last Name ID: </span><b><%= @tutor.last_name_id %></b>
              </div>
            </div>
            <hr>
            <div class="row">
              <div class="col-xs-2 text-center">
                <span class="glyphicon glyphicon-home"></span>
              </div>
              <div class="col-xs-10">
                <%= @tutor.address1 %><%= @tutor.address2 ? ', ' + @tutor.address2 : '' %><br>
                <%= @tutor.city %>,  <%= @tutor.state %> <%= @tutor.zip %>
              </div>
            </div>
            <hr>
            <div class="row">
              <div class="col-xs-2 text-center">
                <span class="glyphicon glyphicon-earphone"></span>
              </div>
              <div class="col-xs-10">
                <% if !@tutor.home_phone.blank? %>
                  <p>Home: <%= @tutor.home_phone %></p>
                <% end %>
                <% if !@tutor.cell_phone.blank? %>
                  <p>Cell: <%= @tutor.cell_phone %></p>
                <% end %>
                <% if !@tutor.other_phone.blank? %>
                  <p>Other: <%= @tutor.other_phone %></p>
                <% end %>
              </div>
            </div>
            <hr>
            <div class="row">
              <div class="col-xs-2 text-center">
                <span class="glyphicon glyphicon-envelope"></span>
              </div>
              <div class="col-xs-10">
                <p><%= 'Preferred: ' unless @tutor.email_other.blank? %><%= @tutor.email_preferred %></p>
                <% if !@tutor.email_other.blank? %>
                  <p>Other: <%= @tutor.email_other %></p>
                <% end %>
              </div>
            </div>
            <hr>
            <div class="row">
              <div class="col-xs-6">
                <span>Preferred General Contact:</span>
              </div>
              <div class="col-xs-6">
                <%= @tutor.preferred_contact_method %>
              </div>
            </div>
            <div class="row">
              <div class="col-xs-6">
                <span>Preferred Roster Contact:</span>
              </div>
              <div class="col-xs-6">
                <%= @tutor.preferred_contact_class_listing %>
              </div>
            </div>
            <div class="row">
              <div class="col-xs-6">
                <span>Preferred Collection Contact:</span>
              </div>
              <div class="col-xs-6">
                <%= @tutor.preferred_contact_data_collection %>
              </div>
            </div>
          </div>
        </div>
      </div>


      <div class="col-xs-12">
        <div class="panel panel-default">
          <div class="panel-body">
            <div class="row">
              <div class="col-md-6">
                <h4>Comments</h4>
              </div>

              <div class="col-md-6">
                <div class="pull-right">
                  <%= link_to new_tutor_comment_path(tutor: @tutor) do %>
                    <button class="btn btn-default">Add</button>
                  <% end %>
                </div>
              </div>
            </div>
            <hr>

            <% if @tutor.tutor_comments.length > 0 %>
              <% for c in @tutor.tutor_comments %>
                <div class="panel panel-default">
                  <ul class="list-group">
                    <li class="list-group-item">
                      <div class="row">
                        <div class="col-xs-6">
                          <span class="glyphicon glyphicon-time"></span>
                          <%= c.updated_at.strftime('%D') %> <span class="text-muted"><%= '(Edited)' if c.created_at != c.updated_at %></span>
                        </div>
                        <div class="col-xs-6 text-right">
                          <%= link_to edit_tutor_comment_path(c), class: 'margin-right-sm' do %>
                            <span class="glyphicon glyphicon-pencil"></span>
                          <% end %>
                          <%= link_to c, method: :delete, data: {confirm: "Delete the following tutor comment for #{@tutor.name}?\nContent: #{c.content}"} do %>
                            <span class="glyphicon glyphicon-remove text-danger"></span>
                          <% end %>
                        </div>
                      </div>
                    </li>
                  </ul>
                  <div class="panel-body">
                    <div class="row">
                      <div class="col-xs-12">
                        <%= c.content %>
                      </div>
                    </div>
                  </div>
                </div>
              <% end %>
            <% else %>
              No Tutor Comments
            <% end %>
          </div>
        </div>
      </div>

      <div class="col-xs-12">
        <div class="panel panel-default">
          <div class="panel-body">
            <div class="row">
              <div class="col-md-6">
                <h4>Attendance</h4>
              </div>
              <div class="col-md-6">
                <div class="pull-right">
                  <%= link_to(tutors_tutoring_sessions_path(@tutor)) do  %>
                    <button class="btn btn-default">Manage</button>
                  <% end %>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>

    </div>
  </div>

  <div class="col-md-7">
    <div class="row">
      <% if !@tutor.deleted_on %>
        <div class="col-md-12">
          <div class="panel panel-default">
            <div class="panel-body">
              <div class="row">
                <div class="col-sm-6">
                  <h4>Students</h4>
                </div>
                <div class="col-sm-6 text-right">
                  <% if !@student_options.empty? %>
                    <%= form_tag('add_student', method: 'put') do %>
                      <%= select_tag(:student_id, options_for_select(@student_options)) %>
                      <%= button_tag(type: "submit", class: "btn btn-success") do %>
                          <i class="glyphicon glyphicon-plus"></i> Add Student <i class="icon-repeat"></i>
                      <% end %>
                      <%= hidden_field_tag(:tutor_id, @tutor.id) %>
                      <%= hidden_field_tag :authenticity_token, form_authenticity_token %>
                    <% end %>
                  <% else %>
                    No unmatched students
                  <% end %>
                </div>
              </div>
              <hr>
              <% if !@students.empty? %>
              <div class="table-responsive">
                <table class="table table-striped">
                  <thead>
                    <tr>
                      <th>Name</th>
                      <th>Email</th>
                    </tr>
                  </thead>
                  <tbody>
                      <% @students.each do |s| %>
                        <tr>
                          <td> <%= link_to s.name, s %> </td>
                          <td> <%= s.email %> </td>
                          <td> <%= form_tag('remove_student', method: 'patch') do %>
                            <%= button_tag(type: "submit", class: "btn btn-danger") do %>
                                <i class="glyphicon glyphicon-remove"></i>  Remove Student <i class="icon-repeat"></i>
                            <% end %>
                            <%= hidden_field_tag(:tutor_id, @tutor.id) %>
                            <%= hidden_field_tag(:student_id, s.id) %>
                            <%= hidden_field_tag :authenticity_token, form_authenticity_token %>
                          <% end %>
                          </td>
                        </tr>
                      <% end %>
                  </tbody>
                </table>
              </div>
              <% else %>
                No Students
              <% end %>
            </div>
          </div>
        </div>
      <% end %>

      <div class="col-md-12">
        <div class="panel panel-default">
          <div class="panel-body">
            <h4>General Information</h4>
            <hr>

            <div class="row text-center">
              <div class="col-md-6">
                <div class="panel panel-default">
                  <div class="panel-heading">Background</div>
                  <div class="panel-body">
                    <div class="row text-center">
                      <div class="col-sm-4">
                        <b>Date of Birth</b>
                        <p><%= @tutor.date_of_birth.strftime('%D') %></p>
                      </div>
                      <div class="col-sm-4">
                        <b>Gender</b>
                        <p><%= @tutor.gender ? @tutor.gender.capitalize : '' %></p>
                      </div>
                      <div class="col-sm-4">
                        <b>Hispanic?</b>
                        <p><%= @tutor.hispanic_or_latino ? 'Yes' : 'No' %></p>
                      </div>
                    </div>
                    <div class="row text-center">
                      <div class="col-sm-4">
                        <b>Native Language</b>
                        <p><%= @tutor.native_language %></p>
                      </div>
                      <div class="col-sm-4">
                        <b>Race</b>
                        <p><%= @tutor.race %></p>
                      </div>
                      <div class="col-sm-4">
                        <b>Birth Country</b>
                        <p><%= @tutor.country_of_birth %></p>
                      </div>
                    </div>
                  </div>
                </div>
              </div>

              <div class="col-md-6">
                <div class="panel panel-default">
                  <div class="panel-heading">Training</div>
                  <div class="panel-body">
                    <div class="row">
                      <div class="col-md-4">
                        <label>Orientation Date:</label><br>
                        <%= @tutor.orientation_date %>
                      </div>

                      <div class="col-md-4">
                        <label>Training Type:</label><br>
                        <%= @tutor.training_type %>
                      </div>

                      <div class="col-md-4">
                        <label>Training Date:</label><br>
                        <%= @tutor.training_date %>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>

            <div class="row text-center">
              <div class="col-xs-12">
                <div class="panel panel-default">
                  <div class="panel-heading">Education</div>
                  <div class="panel-body">
                    <div class="row">
                      <div class="col-md-4">
                        <label>Level:</label><br>
                        <%= @tutor.education %>
                      </div>

                      <div class="col-md-4">
                        <label>Colleges Attended:</label><br>
                        <%= @tutor.colleges_attended %>
                      </div>

                      <div class="col-md-4">
                        <label>Educational Accomplishments:</label><br>
                        <%= @tutor.educational_accomplishments %>
                      </div>
                    </div>
                    <hr>

                    <div class="row">
                      <div class="col-md-3">
                        <label>Previous Teaching Experience:</label><br>
                        <%= @tutor.previous_teaching_experience %>
                      </div>

                      <div class="col-md-3">
                        <label>Previous Teaching Experience:</label><br>
                        <%= @tutor.previous_volunteer_experience %>
                      </div>

                      <div class="col-md-3">
                        <label>Teachable Subjects:</label><br>
                        <%= @tutor.teachable_subjects %>
                      </div>

                      <div class="col-md-3">
                        <label>Hobbies:</label><br>
                        <%= @tutor.hobbies %>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>

            <div class="row text-center">
              <div class="col-md-6">
                <div class="panel panel-default">
                  <div class="panel-heading">Employment</div>
                  <div class="panel-body">
                    <div class="row">
                      <div class="col-md-6">
                        <label>Employment Status:</label><br>
                        <%= @tutor.employment_status %>
                      </div>

                      <div class="col-md-6">
                        <label>Employer Name:</label><br>
                        <%= @tutor.employer_name %>
                      </div>
                    </div>

                    <div class="row">
                      <div class="col-md-6">
                        <label>Specific Occupation:</label><br>
                        <%= @tutor.occupation %>
                      </div>

                      <div class="col-md-6">
                        <label>Past Occupation:</label><br>
                        <%= @tutor.past_occupation %>
                      </div>
                    </div>
                  </div>
                </div>
              </div>

              <div class="col-md-6">
                <div class="panel panel-default">
                  <div class="panel-heading">Criminal Record</div>
                  <div class="panel-body">
                    <div class="row text-center">
                      <% if @tutor.criminal_conviction.nil? && @tutor.release_on_file.nil? %>
                        <div class="col-xs-12">
                          No criminal conviction information on file.
                        </div>
                      <% else %>
                        <% if !@tutor.criminal_conviction.nil? %>
                          <div class="col-sm-4">
                            <b>Criminal Conviction</b>
                            <p><%= @tutor.criminal_conviction ? 'Yes' : 'No' %></p>
                          </div>
                        <% end %>
                        <% if !@tutor.release_on_file.nil? %>
                          <div class="col-sm-4">
                            <b>Release on file</b>
                            <p><%= @tutor.release_on_file ? 'Yes' : 'No' %></p>
                          </div>
                        <% end %>
                        <% if !@tutor.release_sign_date.nil? %>
                          <div class="col-sm-4">
                            <b>Release Sign Date</b>
                            <p><%= @tutor.release_sign_date.strftime('%D') %></p>
                          </div>
                        <% end %>
                      <% end %>
                    </div>
                  </div>
                </div>
              </div>
            </div>

          </div>
        </div>
      </div>

    </div>
  </div>

  <div class="col-md-2">
    <div class="row">
      <div class="col-xs-12">
        <div class="panel panel-default">
          <div class="panel-body">
            <div class="row">
              <div class="col-md-6">
                <h4>Tags</h4>
              </div>

              <div class="col-md-6">
                <div class="pull-right">
                  <%= link_to tutor_path(@tutor), {:remote => true, 'data-toggle' =>  "modal", 'data-target' => '#add-tag'} do %>
                    <button class="btn btn-default btn-sm"><span class="glyphicon glyphicon-pencil"></span>&nbsp;&nbsp;Edit Tags</button>
                  <% end %>
                </div>
              </div>
            </div>
            <hr>

            <div class="text-center">
              <% if !@tutor.all_tags.empty? %>
                <% @tutor.all_tags.each do |name| %>
                  <span class='tag'><%= name %></span>
                <% end %>
              <% else %>
                <span>No tags added.</span>
              <% end %>
            </div>
          </div>
        </div>
      </div>
      <div class="col-xs-12">
        <div class="panel panel-default">
          <div class="panel-body">
            <h4 class="text-center">Language Proficiencies</h4>
            <hr>
            <% languages = JSON.parse(@tutor.language_proficiencies).delete_if {|k,v| v == "None"} %>
            <% if !languages.empty? %>
              <div class="table-responsive col-md-12">
                <table class="table table-striped">
                  <thead>
                    <tr>
                      <th>Language</th>
                      <th>Proficiency</th>
                    </tr>
                  </thead>
                  <tbody>
                    <% languages.each do |l| %>
                      <tr>
                        <td> <%= l[0] %> </td>
                        <td> <%= l[1] %> </td>
                      </tr>
                    <% end %>
                  </tbody>
                </table>
              </div>
            <% else %>
              No language proficiency data on file.
            <% end %>
          </div>
        </div>
      </div>

      <div class="col-xs-12">
        <div class="panel panel-default">
          <div class="panel-body">
            <h4 class="text-center">Emergency Contact</h4>
            <hr>
            <div class="row">
              <div class="col-xs-2 text-center">
                <span class="glyphicon glyphicon-user"></span>
              </div>
              <div class="col-xs-10">
                <%= @tutor.emergency_contact_name %>
              </div>
            </div>
            <div class="row">
              <div class="col-xs-2 text-center">
                <span class="glyphicon glyphicon-earphone"></span>
              </div>
              <div class="col-xs-10">
                <%= @tutor.emergency_contact_phone %>
              </div>
            </div>
            <div class="row">
              <div class="col-xs-2 text-center">
                <span class="glyphicon glyphicon-envelope"></span>
              </div>
              <div class="col-xs-10">
                <%= @tutor.emergency_contact_email %>
              </div>
            </div>
          </div>
        </div>
      </div>

    </div>
  </div>
</div>

<div id="add-tag" class="modal fade" role="dialog" aria-labelledby="addTag" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h3>Update Tags</h3>
      </div>
      <%= simple_form_for @tutor, url: update_tutor_tags_path(@tutor), method: :patch do |f| %>
        <div class="modal-body">
          <div class="row">
            <div class="col-md-12">
              <p class="help-block">Select tags from the list or create a new tag by typing in a word or phrase and then hitting the comma key.</p>
              <%= f.input :all_tags,
                label: false,
                as: :select,
                collection: Tag.order(:name).map{ |i| [i.name, i.name]},
                input_html: {multiple: true},
                required: false %>
          </div>
          </div>
        </div>
        <div class="modal-footer">
          <%= f.button :submit, 'Update', class: "btn btn-primary" %>
          <button class="btn btn-danger" data-dismiss="modal" aria-hidden="true">Cancel</button>
        </div>
      <% end %>
    </div>
  </div>
  <script>initChosenTagSelect("tutor");</script>
</div>