Skip to content
Snippets Groups Projects
Commit 6d521c63 authored by Robert Speicher's avatar Robert Speicher
Browse files

Merge remote-tracking branch 'ce/7-14-stable' into 7-14-stable-ee

parents 6d6175aa 27e27491
No related branches found
No related tags found
No related merge requests found
7.14.0.rc3-ee
\ No newline at end of file
7.14.0.rc3-ee
Loading
Loading
@@ -7,6 +7,7 @@ class @UsersSelect
@skipLdap = $(select).hasClass('skip_ldap')
@projectId = $(select).data('project-id')
@groupId = $(select).data('group-id')
@showCurrentUser = $(select).data('current-user')
showNullUser = $(select).data('null-user')
showAnyUser = $(select).data('any-user')
showEmailUser = $(select).data('email-user')
Loading
Loading
@@ -110,6 +111,7 @@ class @UsersSelect
project_id: @projectId
group_id: @groupId
skip_ldap: @skipLdap
current_user: @showCurrentUser
dataType: "json"
).done (users) ->
callback(users)
Loading
Loading
Loading
Loading
@@ -34,8 +34,14 @@ def users
@users = @users.search(params[:search]) if params[:search].present?
@users = @users.active
@users = @users.page(params[:page]).per(PER_PAGE)
# Always include current user if available to filter by "Me"
@users = User.find(@users.pluck(:id) + [current_user.id]).uniq if current_user
unless params[:search].present?
# Include current user if available to filter by "Me"
if params[:current_user] && current_user
@users = [*@users, current_user].uniq
end
end
render json: @users, only: [:name, :username, :id], methods: [:avatar_url]
end
 
Loading
Loading
Loading
Loading
@@ -11,6 +11,7 @@ def users_select_tag(id, opts = {})
any_user = opts[:any_user] || false
email_user = opts[:email_user] || false
first_user = opts[:first_user] && current_user ? current_user.username : false
current_user = opts[:current_user] || false
project = opts[:project] || @project
 
html = {
Loading
Loading
@@ -19,7 +20,8 @@ def users_select_tag(id, opts = {})
'data-null-user' => null_user,
'data-any-user' => any_user,
'data-email-user' => email_user,
'data-first-user' => first_user
'data-first-user' => first_user,
'data-current-user' => current_user
}
 
unless opts[:scope] == :all
Loading
Loading
module MergeRequests
class CreateService < MergeRequests::BaseService
def execute
# @project is used to determine whether the user can set the merge request's
# assignee, milestone and labels. Whether they can depends on their
# permissions on the target project.
source_project = @project
@project = Project.find(params[:target_project_id]) if params[:target_project_id]
filter_params
label_params = params[:label_ids]
merge_request = MergeRequest.new(params.except(:label_ids))
merge_request.source_project = project
merge_request.target_project ||= project
merge_request.source_project = source_project
merge_request.target_project ||= source_project
merge_request.author = current_user
 
if merge_request.save
Loading
Loading
Loading
Loading
@@ -9,7 +9,7 @@
none
.issuable-context-selectbox
- if can?(current_user, :"admin_#{issuable.to_ability_name}", @project)
= users_select_tag("#{issuable.class.table_name.singularize}[assignee_id]", placeholder: 'Select assignee', class: 'custom-form-control js-select2 js-assignee', selected: issuable.assignee_id, project: @target_project, null_user: true)
= users_select_tag("#{issuable.class.table_name.singularize}[assignee_id]", placeholder: 'Select assignee', class: 'custom-form-control js-select2 js-assignee', selected: issuable.assignee_id, project: @target_project, null_user: true, current_user: true)
 
%div.prepend-top-20.clearfix
.issuable-context-title
Loading
Loading
Loading
Loading
@@ -36,11 +36,11 @@
.issues-other-filters
.filter-item.inline
= users_select_tag(:assignee_id, selected: params[:assignee_id],
placeholder: 'Assignee', class: 'trigger-submit', any_user: true, null_user: true, first_user: true)
placeholder: 'Assignee', class: 'trigger-submit', any_user: true, null_user: true, first_user: true, current_user: true)
 
.filter-item.inline
= users_select_tag(:author_id, selected: params[:author_id],
placeholder: 'Author', class: 'trigger-submit', any_user: true, first_user: true)
placeholder: 'Author', class: 'trigger-submit', any_user: true, first_user: true, current_user: true)
 
.filter-item.inline.milestone-filter
= select_tag('milestone_title', projects_milestones_options,
Loading
Loading
@@ -60,7 +60,7 @@
.issues_bulk_update.hide
= form_tag bulk_update_namespace_project_issues_path(@project.namespace, @project), method: :post do
= select_tag('update[state_event]', options_for_select([['Open', 'reopen'], ['Closed', 'close']]), prompt: "Status", class: 'form-control')
= users_select_tag('update[assignee_id]', placeholder: 'Assignee', null_user: true)
= users_select_tag('update[assignee_id]', placeholder: 'Assignee', null_user: true, first_user: true, current_user: true)
= select_tag('update[milestone_id]', bulk_update_milestone_options, prompt: "Milestone")
= hidden_field_tag 'update[issues_ids]', []
= hidden_field_tag :state_event, params[:state_event]
Loading
Loading
Loading
Loading
@@ -47,7 +47,8 @@
.col-sm-10
= users_select_tag("#{issuable.class.model_name.param_key}[assignee_id]",
placeholder: 'Select a user', class: 'custom-form-control', null_user: true,
selected: issuable.assignee_id, project: @target_project || @project)
selected: issuable.assignee_id, project: @target_project || @project,
first_user: true, current_user: true)
&nbsp;
= link_to 'Assign to me', '#', class: 'btn assign-to-me-link'
.form-group
Loading
Loading
Loading
Loading
@@ -32,3 +32,9 @@ Feature: Admin Groups
When I visit admin group page
And I remove user "John Doe" from group
Then I should not see "John Doe" in team list
@javascript
Scenario: Invite user to a group by e-mail
When I visit admin group page
When I select user "johndoe@gitlab.com" from user list as "Reporter"
Then I should see "johndoe@gitlab.com" in team list in every project as "Reporter"
Loading
Loading
@@ -44,6 +44,14 @@ class Spinach::Features::AdminGroups < Spinach::FeatureSteps
click_button "Add users to group"
end
 
When 'I select user "johndoe@gitlab.com" from user list as "Reporter"' do
select2('johndoe@gitlab.com', from: "#user_ids", multiple: true)
page.within "#new_project_member" do
select "Reporter", from: "access_level"
end
click_button "Add users to group"
end
step 'I should see "John Doe" in team list in every project as "Reporter"' do
page.within ".group-users-list" do
expect(page).to have_content "John Doe"
Loading
Loading
@@ -51,6 +59,13 @@ class Spinach::Features::AdminGroups < Spinach::FeatureSteps
end
end
 
step 'I should see "johndoe@gitlab.com" in team list in every project as "Reporter"' do
page.within ".group-users-list" do
expect(page).to have_content "johndoe@gitlab.com (invited)"
expect(page).to have_content "Reporter"
end
end
step 'I should be all groups' do
Group.all.each do |group|
expect(page).to have_content group.name
Loading
Loading
Loading
Loading
@@ -74,7 +74,7 @@
 
describe 'GET #users with project ID' do
before do
get(:users, project_id: project.id)
get(:users, project_id: project.id, current_user: true)
end
 
it { expect(body).to be_kind_of(Array) }
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment