Class: MemberPresenter

Inherits:
Gitlab::View::Presenter::Delegated show all
Defined in:
app/presenters/member_presenter.rb

Direct Known Subclasses

GroupMemberPresenter, ProjectMemberPresenter

Instance Method Summary collapse

Methods inherited from Gitlab::View::Presenter::Delegated

#initialize

Methods included from Gitlab::Utils::DelegatorOverride

#delegator_override, #delegator_override_with, #delegator_target, validator, validators, verify!

Methods included from Gitlab::View::Presenter::Base

#__subject__, #can?, #declarative_policy_delegate, #is_a?, #path_with_line_numbers, #present, #url_builder, #web_path, #web_url

Methods included from Gitlab::Allowable

#can?

Methods included from Gitlab::Routing

includes_helpers, redirect_legacy_paths, url_helpers

Constructor Details

This class inherits a constructor from Gitlab::View::Presenter::Delegated

Instance Method Details

#access_level_rolesObject



6
7
8
# File 'app/presenters/member_presenter.rb', line 6

def access_level_roles
  member.class.access_level_roles
end

#can_approve?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'app/presenters/member_presenter.rb', line 31

def can_approve?
  request? && can_update?
end

#can_override?Boolean

This functionality is only available in EE.

Returns:

  • (Boolean)


36
37
38
# File 'app/presenters/member_presenter.rb', line 36

def can_override?
  false
end

#can_remove?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'app/presenters/member_presenter.rb', line 27

def can_remove?
  can?(current_user, destroy_member_permission, member)
end

#can_resend_invite?Boolean

Returns:

  • (Boolean)


18
19
20
21
# File 'app/presenters/member_presenter.rb', line 18

def can_resend_invite?
  invite? &&
    can?(current_user, admin_member_permission, source)
end

#can_update?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'app/presenters/member_presenter.rb', line 23

def can_update?
  can?(current_user, update_member_permission, member)
end

#last_owner?Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


40
41
42
# File 'app/presenters/member_presenter.rb', line 40

def last_owner?
  raise NotImplementedError
end

#valid_level_rolesObject



10
11
12
13
14
15
16
# File 'app/presenters/member_presenter.rb', line 10

def valid_level_roles
  return access_level_roles unless member.highest_group_member

  access_level_roles.reject do |_name, level|
    member.highest_group_member.access_level > level
  end
end