app/views/groups/roles/_user.html.erb
<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 %>