Class: ProjectMemberPresenter
- Inherits:
-
MemberPresenter
- Object
- SimpleDelegator
- Gitlab::View::Presenter::Delegated
- MemberPresenter
- ProjectMemberPresenter
- Defined in:
- app/presenters/project_member_presenter.rb
Instance Method Summary collapse
Methods inherited from MemberPresenter
#can_approve?, #can_override?, #can_resend_invite?, #valid_level_roles
Methods inherited from Gitlab::View::Presenter::Delegated
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
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_roles ⇒ Object
6 7 8 |
# File 'app/presenters/project_member_presenter.rb', line 6 def access_level_roles ProjectMember.permissible_access_level_roles(current_user, source) end |
#can_remove? ⇒ Boolean
10 11 12 13 14 15 |
# File 'app/presenters/project_member_presenter.rb', line 10 def can_remove? # If this user is attempting to manage an Owner member and doesn't have permission, do not allow return can_manage_owners? if member.owner? super end |
#can_update? ⇒ Boolean
17 18 19 20 21 22 |
# File 'app/presenters/project_member_presenter.rb', line 17 def can_update? # If this user is attempting to manage an Owner member and doesn't have permission, do not allow return can_manage_owners? if member.owner? super end |
#last_owner? ⇒ Boolean
24 25 26 27 28 |
# File 'app/presenters/project_member_presenter.rb', line 24 def last_owner? # all owners of a project in a group are removable. # but in personal projects, the namespace holder is not removable. member.holder_of_the_personal_namespace? end |