summaryrefslogtreecommitdiff
path: root/app/views/groups/group_members/_group_member.html.haml
blob: 6bb542e658dba01b2e4fd9b10d65bb0a3b508b23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
- user = member.user
- return unless user || member.invite?
- show_roles = local_assigns.fetch(:show_roles, true)

%li{class: "#{dom_class(member)} js-toggle-container", id: dom_id(member)}
  %span{class: ("list-item-name" if show_controls)}
    - if member.user
      = image_tag avatar_icon(user, 24), class: "avatar s24", alt: ''
      %strong
        = link_to user.name, user_path(user)
      %span.cgray= user.username
      - if user == current_user
        %span.label.label-success It's you
      - if user.blocked?
        %label.label.label-danger
          %strong Blocked
    - else
      = image_tag avatar_icon(member.invite_email, 24), class: "avatar s24", alt: ''
      %strong
        = member.invite_email
      %span.cgray
        invited
        - if member.created_by
          by
          = link_to member.created_by.name, user_path(member.created_by)
        = time_ago_with_tooltip(member.created_at)

      - if show_controls && can?(current_user, :admin_group_member, @group)
        = link_to resend_invite_group_group_member_path(@group, member), method: :post, class: "btn-xs btn", title: 'Resend invite' do
          Resend invite

  - if show_roles && should_user_see_group_roles?(current_user, @group)
    %span.pull-right
      %strong.member-access-level= member.human_access
      - if show_controls
        - if can?(current_user, :update_group_member, member)
          = button_tag class: "btn-xs btn btn-grouped inline js-toggle-button",
                       title: 'Edit access level', type: 'button' do
            = icon('pencil')

        - if can?(current_user, :destroy_group_member, member)
           
          - if current_user == user
            = link_to leave_group_group_members_path(@group), data: { confirm: leave_group_message(@group.name)}, method: :delete, class: "btn-xs btn btn-remove", title: 'Remove user from group' do
              = icon("sign-out")
              Leave
          - else
            = link_to group_group_member_path(@group, member), data: { confirm: remove_user_from_group_message(@group, member) }, method: :delete, remote: true, class: "btn-xs btn btn-remove", title: 'Remove user from group' do
              = icon('trash')

    .edit-member.hide.js-toggle-content
      %br
      = form_for [@group, member], remote: true do |f|
        .prepend-top-10
          = f.select :access_level, options_for_select(GroupMember.access_level_roles, member.access_level), {}, class: 'form-control'
        .prepend-top-10
          = f.submit 'Save', class: 'btn btn-save btn-sm'