virajmahesh/icsi-shift-scheduler

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

Summary

Maintainability
Test Coverage
<md-card class="event-info-card">

  <div>
      <h2 class="event-name"><%= @event.event_name %></h2>
      <!-- Icons for editing and deleting events -->
      <% if can? :destroy, @event %>
          <a ng-href="<%= event_path(@event) %>" data-method="delete" id="delete-event">
              <md-icon class="modify-icon">delete</md-icon>
          </a>
      <% end %>

      <% if can? :edit, @event %>
          <a ng-href="<%= edit_event_path(@event) %>" id="edit-event">
              <md-icon class="modify-icon">mode_edit</md-icon>
          </a>
      <% end %>
  </div>

  <!-- Number of unique users signed up for all shifts of the event -->
  <span><%= @event.number_signed_up %></span><br><br>

  <div>
    <md-icon class="material-icons">location_on</md-icon>
    <span><%= @event.location %></span>
  </div> <br>

  <div>
    <md-icon class="material-icons">today</md-icon>
    <span><%= @event.formatted_event_date %></span>
  </div> <br>

  <% if not @event.start_time.nil? and not @event.end_time.nil? %>
      <div>
        <md-icon class="material-icons">access_time</md-icon>
        <span><%= @event.formatted_start_time %> - <%= @event.formatted_end_time %></span>
      </div> <br>
  <% end %>

  <div>
    Created By:
    <span><%= @event.user.username %>
      <% if not @user.nil? %>
          (<%= mail_to @event.user.email %>)
      <% end %>
    </span>
  </div> <br>

  <div>
    Issues:
    <span><%= @event.issues.pluck(:description).join ', ' %></span>
  </div> <br>

  <span><%= @event.description %></span>

  <!-- Superuser actions -->
  <% if not @user.nil? and @user.is_super_user? %>
      <a id='transfer_ownership_link' href="#">Transfer Ownership</a> <br>

      <!-- Form to transfer event ownership -->
      <%= form_tag @event.transfer_owner_path, id: :transfer_ownership_form do %>
          <md-input-container>
            <p>Enter new event creator's username/email:</p>
            <%= text_field_tag :login %>
          </md-input-container>
          <br>

          <md-button type="submit">Transfer Ownership</md-button>
      <% end %>
  <% end %>

</md-card>

<h3>Shifts</h3>

<% if can? :create_shift, @event %>
    <%= link_to 'Add Shift', new_event_shift_path(@event) %><br>
<% end %>

<div id="shifts">
  <% @event.ordered_shifts.each do |s| %>
      <md-card class="shift-card">
        <p>
          <span class="shift-information"><%= s.formatted_start_time %> to <%= s.formatted_end_time %></span>
          <span class="shift-information"><%= link_to s.role, event_shift_path(@event, s) %></span>

          <% if s.has_limit %>
              <span class="shift-information"><%= s.volunteer_commitments.length %>/<%= s.limit %> slots filled</span>
          <% end %>

        </p>
      </md-card>
  <% end %>
</div>


<% if can? :create, Event %>
    <md-button class="md-raised md-primary" href='<%= @event.duplicate_path %>'>Copy Event</md-button><br>
<% end %>

<%= link_to 'Back to Homepage', root_path %>