ikuseiGmbH/smart-village-app-cms

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

Summary

Maintainability
Test Coverage
<div class="d-flex flex-wrap align-items-center row-gap justify-content-between mb-5">
  <h1 class="h3 mb-0 pb-0 font-weight-bold mr-3">Veranstaltungen</h1>
  <%= link_to new_event_path, class: "btn btn-sm btn-primary shadow-sm" do %>
    <i class="fas fa-plus fa-sm text-white-50"></i>
    Neue Veranstaltung erstellen
  <% end %>
</div>

<div class="table-responsive pb-4">
  <table class="table data_table bg-white">
    <thead>
      <tr>
        <th scope="col">ID</th>
        <th scope="col">Überschrift</th>
        <th scope="col">Kategorie</th>
        <th scope="col">Termine</th>
        <th scope="col">Änderungsdatum</th>
        <th scope="col">Erstellungsdatum</th>
        <% if editor? || extended_user? %>
          <th>Datenquelle</th>
        <% end %>
        <% if editor? %>
          <th scope="col" class="nosort">Sichtbarkeit</th>
        <% end %>
        <th scope="col" class="nosort">Aktionen</th>
      </tr>
    </thead>
    <tbody>
      <% @events.each do |event| %>
        <tr>
          <th scope="row"><%= event.id %></th>
          <td><%= link_to event.title, edit_event_path(event.id) %></td>
          <td><%= event.categories.first.try(:name) %></td>
          <td>
            <% if event.recurring %>
              <% date = event.dates.try(:first) %>
              <%= "Start: #{to_local_date(date.try(:date_start))} - Ende: #{to_local_date(date.try(:date_end))}" %>
              <br />
              <span class="badge badge-secondary">wiederkehrend</span>
            <% else %>
              <%= event.dates.map { |date| "Start: #{to_local_date(date.try(:date_start))} - Ende: #{to_local_date(date.try(:date_end))}" }.join("<br />").html_safe %>
            <% end %>
          </td>
          <td data-sort="<%= DateTime.parse(event.updated_at).to_i %>">
            <%= to_local_date_time(event.updated_at) %>
          </td>
          <td data-sort="<%= DateTime.parse(event.created_at).to_i %>">
            <%= to_local_date_time(event.created_at) %>
          </td>
          <% if editor? || extended_user? %>
            <td><%= event.data_provider.try(:name) %></td>
          <% end %>
          <% if editor? %>
            <td align="center"><%= visibility_switch(event, "EventRecord") %></td>
          <% end %>
          <td align="right" class="text-nowrap">
            <% edit_label = editable_by_user?(event) ? "Bearbeiten" : "Ansehen" %>
            <%= link_to edit_label, edit_event_path(event.id), class: "btn btn-sm btn-secondary" %>
            <% if editable_by_user?(event) %>
              <%= link_to event_path(event.id), method: :delete, "data-confirm" => "Diesen Eintrag wirklich löschen?", class: "btn btn-sm btn-danger", title: "Löschen" do %>
                <i class="fas fa-trash"></i>
              <% end %>
            <% end %>
          </td>
        </tr>
      <% end %>
    </tbody>
  </table>
</div>