Fixes a bug when assigning a label to multiple issues
Fixes the case when we want to assign a label to multiple issues and one of the issues has already the label we want to apply.
This commit is contained in:
parent
ff345f8ba1
commit
952660d2cf
|
@ -97,13 +97,22 @@ class @IssuableBulkActions
|
|||
$labels = @form.find('.labels-filter input[name="update[label_ids][]"]')
|
||||
|
||||
$labels.each (k, label) ->
|
||||
labelIds.push $(label).val() if label
|
||||
labelIds.push parseInt($(label).val()) if label
|
||||
|
||||
labelIds
|
||||
|
||||
###*
|
||||
* Just an alias of @getUnmarkedIndeterminedLabels
|
||||
* @return {Array} Array of labels
|
||||
* Returns Label IDs that will be removed from issue selection
|
||||
* @return {Array} Array of labels IDs
|
||||
###
|
||||
getLabelsToRemove: ->
|
||||
@getUnmarkedIndeterminedLabels()
|
||||
result = []
|
||||
indeterminatedLabels = @getUnmarkedIndeterminedLabels()
|
||||
labelsToApply = @getLabelsToApply()
|
||||
|
||||
indeterminatedLabels.map (id) ->
|
||||
# We need to exclude label IDs that will be applied
|
||||
# By not doing this will cause issues from selection to not add labels at all
|
||||
result.push(id) if labelsToApply.indexOf(id) is -1
|
||||
|
||||
result
|
||||
|
|
|
@ -83,6 +83,23 @@ feature 'Issues > Labels bulk assignment', feature: true do
|
|||
end
|
||||
end
|
||||
|
||||
context 'can assign a label to all issues when label is present' do
|
||||
before do
|
||||
issue2.labels << bug
|
||||
issue2.labels << feature
|
||||
visit namespace_project_issues_path(project.namespace, project)
|
||||
|
||||
check 'check_all_issues'
|
||||
open_labels_dropdown ['bug']
|
||||
update_issues
|
||||
end
|
||||
|
||||
it do
|
||||
expect(find("#issue_#{issue1.id}")).to have_content 'bug'
|
||||
expect(find("#issue_#{issue2.id}")).to have_content 'bug'
|
||||
end
|
||||
end
|
||||
|
||||
context 'can bulk un-assign' do
|
||||
context 'all labels to all issues' do
|
||||
before do
|
||||
|
|
Loading…
Reference in New Issue