lujanfernaud/prevy

View on GitHub
app/views/groups/roles/_user.html.erb

Summary

Maintainability
Test Coverage
<div class="roles-user d-flex flex-row" id="roles-user-<%= user.id %>">

  <div class="roles-user__avatar mr-2">
    <div class="intrinsic-ratio-container
      intrinsic-ratio-container--square">
      <%= link_to group_member_path(group, user), class: "display-block" do %>
        <%= image_tag gravatar_image_url(user.email),
          class: "lazyload blur-up
            img-fluid intrinsic-ratio-image user-avatar d-block",
          alt: user.name %>
      <% end %>
    </div>

  </div>

  <div class="roles-user__info d-flex flex-column flex-md-row align-self-center">
    <%= link_to user.name, group_member_path(group, user) %>

    <% if user.has_role? :organizer, group %>
      <span class="ml-md-2">[Organizer]</span>
    <% end %>

    <% if user.has_role? :moderator, group %>
      <span class="ml-md-2">[Moderator]</span>
    <% end %>

    <div class="roles-user__links ml-md-1">
      <% unless user == group.owner %>

        <% if user.has_role? :organizer, group %>
          <%= link_to group_role_path(group, user, role: "organizer"),
            method: :delete,
            data: {
              confirm: "Are you sure to remove the organizer role from #{user.name}?"
            },
            class: "ml-md-1" do %>
              (<em>Remove organizer</em> role)
          <% end %>
        <% else %>
          <%= link_to group_roles_path(group, user_id: user, role: "organizer"),
            method: :post, class: "ml-md-1" do %>
            (<em>Add organizer</em> role)
          <% end %>
        <% end %>

        <% if user.has_role? :moderator, group %>
          <%= link_to group_role_path(group, user, role: "moderator"),
            method: :delete,
            data: {
              confirm: "Are you sure to remove the moderator role from #{user.name}?"
            },
            class: "ml-md-1" do %>
              (<em>Remove moderator</em> role)
          <% end %>
        <% else %>
          <%= link_to group_roles_path(group, user_id: user, role: "moderator"),
            method: :post, class: "ml-md-1" do %>
            (<em>Add moderator</em> role)
          <% end %>
        <% end %>
      <% end %>
    </div>
  </div>

</div>

<% unless user == user_collection.last %>
  <hr class="mt-3 mb-3">
<% end %>