Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-08-19 12:08:42 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-08-19 12:08:42 +0300
commitb76ae638462ab0f673e5915986070518dd3f9ad3 (patch)
treebdab0533383b52873be0ec0eb4d3c66598ff8b91 /app/helpers/invite_members_helper.rb
parent434373eabe7b4be9593d18a585fb763f1e5f1a6f (diff)
Add latest changes from gitlab-org/gitlab@14-2-stable-eev14.2.0-rc42
Diffstat (limited to 'app/helpers/invite_members_helper.rb')
-rw-r--r--app/helpers/invite_members_helper.rb64
1 files changed, 52 insertions, 12 deletions
diff --git a/app/helpers/invite_members_helper.rb b/app/helpers/invite_members_helper.rb
index 3c290701a5f..5134b484249 100644
--- a/app/helpers/invite_members_helper.rb
+++ b/app/helpers/invite_members_helper.rb
@@ -4,21 +4,17 @@ module InviteMembersHelper
include Gitlab::Utils::StrongMemoize
def can_invite_members_for_project?(project)
- Feature.enabled?(:invite_members_group_modal, project.group) && can_manage_project_members?(project)
+ # do not use the can_admin_project_member? helper here due to structure of the view and how membership_locked?
+ # is leveraged for inviting groups
+ Feature.enabled?(:invite_members_group_modal, project.group) && can?(current_user, :admin_project_member, project)
end
def can_invite_group_for_project?(project)
- Feature.enabled?(:invite_members_group_modal, project.group) && can_manage_project_members?(project) && project.allowed_to_share_with_group?
- end
-
- def directly_invite_members?
- strong_memoize(:directly_invite_members) do
- can_import_members?
- end
- end
-
- def invite_group_members?(group)
- experiment_enabled?(:invite_members_empty_group_version_a) && Ability.allowed?(current_user, :admin_group_member, group)
+ # do not use the can_admin_project_member? helper here due to structure of the view and how membership_locked?
+ # is leveraged for inviting groups
+ Feature.enabled?(:invite_members_group_modal, project.group) &&
+ can?(current_user, :admin_project_member, project) &&
+ project.allowed_to_share_with_group?
end
def invite_accepted_notice(member)
@@ -39,4 +35,48 @@ module InviteMembersHelper
{}
end
end
+
+ def common_invite_modal_dataset(source)
+ dataset = {
+ id: source.id,
+ name: source.name,
+ default_access_level: Gitlab::Access::GUEST
+ }
+
+ experiment(:member_areas_of_focus, user: current_user) do |e|
+ e.publish_to_database
+
+ e.control { dataset.merge!(areas_of_focus_options: [], no_selection_areas_of_focus: []) }
+ e.candidate { dataset.merge!(areas_of_focus_options: member_areas_of_focus_options.to_json, no_selection_areas_of_focus: ['no_selection']) }
+ end
+
+ dataset
+ end
+
+ private
+
+ def member_areas_of_focus_options
+ [
+ {
+ value: 'Contribute to the codebase', text: s_('InviteMembersModal|Contribute to the codebase')
+ },
+ {
+ value: 'Collaborate on open issues and merge requests', text: s_('InviteMembersModal|Collaborate on open issues and merge requests')
+ },
+ {
+ value: 'Configure CI/CD', text: s_('InviteMembersModal|Configure CI/CD')
+ },
+ {
+ value: 'Configure security features', text: s_('InviteMembersModal|Configure security features')
+ },
+ {
+ value: 'Other', text: s_('InviteMembersModal|Other')
+ }
+ ]
+ end
+
+ # Overridden in EE
+ def users_filter_data(group)
+ {}
+ end
end