summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatricio Cano <suprnova32@gmail.com>2015-05-22 18:10:35 -0500
committerPatricio Cano <suprnova32@gmail.com>2015-05-22 18:10:35 -0500
commitf042b085f64223ffe7b9d26f003ee2db76af27a6 (patch)
treec17c91d8f88da93592b682f27322fabcb922bd4a
parentc17a15db080563a8cf183776c724c55f5a74e213 (diff)
parentc4e48d27a7922490be30ba9f26740af94b6c020c (diff)
downloadgitlab-ce-f042b085f64223ffe7b9d26f003ee2db76af27a6.tar.gz
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce
-rw-r--r--CHANGELOG3
-rw-r--r--app/helpers/selects_helper.rb5
-rw-r--r--app/views/projects/_issuable_form.html.haml4
-rw-r--r--app/views/projects/merge_requests/show/_context.html.haml2
-rw-r--r--features/project/forked_merge_requests.feature12
-rw-r--r--features/steps/project/forked_merge_requests.rb15
6 files changed, 35 insertions, 6 deletions
diff --git a/CHANGELOG b/CHANGELOG
index ddc8548f575..d1ecfb40350 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -5,6 +5,7 @@ v 7.12.0 (unreleased)
- Disabled expansion of top/bottom blobs for new file diffs
- Update Asciidoctor gem to version 1.5.2. (Jakub Jirutka)
- Fix resolving of relative links to repository files in AsciiDoc documents. (Jakub Jirutka)
+ - Use the user list from the target project in a merge request (Stan Hu)
v 7.11.2
- no changes
@@ -1443,4 +1444,4 @@ v 0.8.0
- stability
- security fixes
- increased test coverage
- - email notification \ No newline at end of file
+ - email notification
diff --git a/app/helpers/selects_helper.rb b/app/helpers/selects_helper.rb
index bec8f2f1aa7..2b99a398049 100644
--- a/app/helpers/selects_helper.rb
+++ b/app/helpers/selects_helper.rb
@@ -10,6 +10,7 @@ module SelectsHelper
any_user = opts[:any_user] || false
email_user = opts[:email_user] || false
first_user = opts[:first_user] && current_user ? current_user.username : false
+ project = opts[:project] || @project
html = {
class: css_class,
@@ -21,8 +22,8 @@ module SelectsHelper
}
unless opts[:scope] == :all
- if @project
- html['data-project-id'] = @project.id
+ if project
+ html['data-project-id'] = project.id
elsif @group
html['data-group-id'] = @group.id
end
diff --git a/app/views/projects/_issuable_form.html.haml b/app/views/projects/_issuable_form.html.haml
index 5a19e980b64..2292aaaa214 100644
--- a/app/views/projects/_issuable_form.html.haml
+++ b/app/views/projects/_issuable_form.html.haml
@@ -18,7 +18,7 @@
This merge request is marked a <strong>Work In Progress</strong>.
When it's ready, remove the <code>WIP</code> prefix from the title to allow it to be accepted.
- else
- To prevent this merge request from being accepted before it's ready,
+ To prevent this merge request from being accepted before it's ready,
mark it a <strong>Work In Progress</strong> by starting the title with <code>[WIP]</code> or <code>WIP:</code>.
.form-group.issuable-description
= f.label :description, 'Description', class: 'control-label'
@@ -46,7 +46,7 @@
.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)
+ selected: issuable.assignee_id, project: @target_project || @project)
&nbsp;
= link_to 'Assign to me', '#', class: 'btn assign-to-me-link'
.form-group
diff --git a/app/views/projects/merge_requests/show/_context.html.haml b/app/views/projects/merge_requests/show/_context.html.haml
index a5a821c1847..1d0e2e350b0 100644
--- a/app/views/projects/merge_requests/show/_context.html.haml
+++ b/app/views/projects/merge_requests/show/_context.html.haml
@@ -9,7 +9,7 @@
none
.issuable-context-selectbox
- if can?(current_user, :modify_merge_request, @merge_request)
- = users_select_tag('merge_request[assignee_id]', placeholder: 'Select assignee', class: 'custom-form-control js-select2 js-assignee', selected: @merge_request.assignee_id, null_user: true)
+ = users_select_tag('merge_request[assignee_id]', placeholder: 'Select assignee', class: 'custom-form-control js-select2 js-assignee', selected: @merge_request.assignee_id, project: @target_project, null_user: true)
%div.prepend-top-20.clearfix
.issuable-context-title
diff --git a/features/project/forked_merge_requests.feature b/features/project/forked_merge_requests.feature
index d9fbb875c28..ad1160e3343 100644
--- a/features/project/forked_merge_requests.feature
+++ b/features/project/forked_merge_requests.feature
@@ -38,3 +38,15 @@ Feature: Project Forked Merge Requests
Given I visit project "Forked Shop" merge requests page
And I click link "New Merge Request"
Then the target repository should be the original repository
+
+ @javascript
+ Scenario: I see the users in the target project for a new merge request
+ Given I logout
+ And I sign in as an admin
+ And I have a project forked off of "Shop" called "Forked Shop"
+ Then I visit project "Forked Shop" merge requests page
+ And I click link "New Merge Request"
+ And I fill out a "Merge Request On Forked Project" merge request
+ When I click "Assign to" dropdown"
+ Then I should see the target project ID in the input selector
+ And I should see the users from the target project ID
diff --git a/features/steps/project/forked_merge_requests.rb b/features/steps/project/forked_merge_requests.rb
index 94d21d28a0c..ebfa102cee5 100644
--- a/features/steps/project/forked_merge_requests.rb
+++ b/features/steps/project/forked_merge_requests.rb
@@ -128,6 +128,21 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps
page.should have_select("merge_request_target_project_id", selected: @project.path_with_namespace)
end
+ step 'I click "Assign to" dropdown"' do
+ first('.ajax-users-select').click
+ end
+
+ step 'I should see the target project ID in the input selector' do
+ expect(page).to have_selector("input[data-project-id=\"#{@project.id}\"]")
+ end
+
+ step 'I should see the users from the target project ID' do
+ expect(page).to have_selector('.user-result', visible: true, count: 2)
+ users = page.all('.user-name')
+ users[0].text.should == 'Unassigned'
+ users[1].text.should == @project.users.first.name
+ end
+
# Verify a link is generated against the correct project
def verify_commit_link(container_div, container_project)
# This should force a wait for the javascript to execute