Skip to content
Snippets Groups Projects
Commit 3aabf0c6 authored by Phil Hughes's avatar Phil Hughes Committed by Fatih Acet
Browse files

Used issue bulk update instead of different endpoint

parent 54461ce2
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -4,6 +4,9 @@
const ModalStore = gl.issueBoards.ModalStore;
 
gl.issueBoards.ModalFooter = Vue.extend({
props: [
'bulkUpdatePath',
],
data() {
return ModalStore.store;
},
Loading
Loading
@@ -23,10 +26,15 @@
},
addIssues() {
const list = this.selectedList;
const issueIds = this.selectedIssues.map(issue => issue.id);
const issueIds = this.selectedIssues.map(issue => issue._id);
 
// Post the data to the backend
gl.boardService.addMultipleIssues(list, issueIds);
this.$http.post(this.bulkUpdatePath, {
update: {
issuable_ids: issueIds.join(','),
add_label_ids: [list.label.id],
},
});
 
// Add the issues on the frontend
this.selectedIssues.forEach((issue) => {
Loading
Loading
Loading
Loading
@@ -9,7 +9,7 @@
 
gl.issueBoards.IssuesModal = Vue.extend({
props: [
'blankStateImage', 'newIssuePath',
'blankStateImage', 'newIssuePath', 'bulkUpdatePath',
],
data() {
return ModalStore.store;
Loading
Loading
@@ -86,7 +86,7 @@
<i class="fa fa-spinner fa-spin"></i>
</div>
</section>
<modal-footer></modal-footer>
<modal-footer :bulk-update-path="bulkUpdatePath"></modal-footer>
</div>
</div>
`,
Loading
Loading
Loading
Loading
@@ -6,6 +6,7 @@
 
class ListIssue {
constructor (obj) {
this._id = obj.id;
this.id = obj.iid;
this.title = obj.title;
this.confidential = obj.confidential;
Loading
Loading
Loading
Loading
@@ -14,10 +14,6 @@ class BoardService {
method: 'POST',
url: `${root}/${boardId}/lists/generate.json`
},
multiple: {
method: 'POST',
url: `${root}/${boardId}/lists{/id}/multiple`
},
});
this.issue = Vue.resource(`${root}/${boardId}/issues{/id}`, {});
this.issues = Vue.resource(`${root}/${boardId}/lists{/id}/issues`, {});
Loading
Loading
@@ -79,12 +75,6 @@ class BoardService {
getBacklog(data) {
return this.boards.backlog(data);
}
addMultipleIssues(list, issue_ids) {
return this.lists.multiple(list.id, {
issue_ids,
});
}
}
 
window.BoardService = BoardService;
Loading
Loading
@@ -50,10 +50,6 @@ module Projects
end
end
 
def multiple
head :ok
end
private
 
def authorize_admin_list!
Loading
Loading
Loading
Loading
@@ -37,7 +37,7 @@ class Projects::BoardsController < Projects::ApplicationController
 
render json: @issues.as_json(
labels: true,
only: [:iid, :title, :confidential, :due_date],
only: [:id, :iid, :title, :confidential, :due_date],
include: {
assignee: { only: [:id, :name, :username], methods: [:avatar_url] },
milestone: { only: [:id, :title] }
Loading
Loading
Loading
Loading
@@ -27,4 +27,5 @@
":key" => "_uid" }
= render "projects/boards/components/sidebar"
%board-add-issues-modal{ "blank-state-image" => render('shared/empty_states/icons/issues.svg'),
"new-issue-path" => new_namespace_project_issue_path(@project.namespace, @project) }
"new-issue-path" => new_namespace_project_issue_path(@project.namespace, @project),
"bulk-update-path" => bulk_update_namespace_project_issues_path(@project.namespace, @project) }
Loading
Loading
@@ -274,7 +274,6 @@ constraints(ProjectUrlConstrainer.new) do
resources :lists, only: [:index, :create, :update, :destroy] do
collection do
post :generate
post :multiple
end
 
resources :issues, only: [:index, :create]
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