summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2017-01-26 16:03:07 +0000
committerFatih Acet <acetfatih@gmail.com>2017-02-03 17:02:43 +0300
commit3aabf0c6aa2b76ef4458250ca98876e3f268fe14 (patch)
treedfa8faa18be2200b8fa65e6116276a6fb3eaad83
parent54461ce2a3a35071e82fac11f70d39373de424a6 (diff)
downloadgitlab-ce-3aabf0c6aa2b76ef4458250ca98876e3f268fe14.tar.gz
Used issue bulk update instead of different endpoint
-rw-r--r--app/assets/javascripts/boards/components/modal/footer.js.es612
-rw-r--r--app/assets/javascripts/boards/components/modal/index.js.es64
-rw-r--r--app/assets/javascripts/boards/models/issue.js.es61
-rw-r--r--app/assets/javascripts/boards/services/board_service.js.es610
-rw-r--r--app/controllers/projects/boards/lists_controller.rb4
-rw-r--r--app/controllers/projects/boards_controller.rb2
-rw-r--r--app/views/projects/boards/_show.html.haml3
-rw-r--r--config/routes/project.rb1
8 files changed, 16 insertions, 21 deletions
diff --git a/app/assets/javascripts/boards/components/modal/footer.js.es6 b/app/assets/javascripts/boards/components/modal/footer.js.es6
index 51a9444ee61..1be58b017ef 100644
--- a/app/assets/javascripts/boards/components/modal/footer.js.es6
+++ b/app/assets/javascripts/boards/components/modal/footer.js.es6
@@ -4,6 +4,9 @@
const ModalStore = gl.issueBoards.ModalStore;
gl.issueBoards.ModalFooter = Vue.extend({
+ props: [
+ 'bulkUpdatePath',
+ ],
data() {
return ModalStore.store;
},
@@ -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) => {
diff --git a/app/assets/javascripts/boards/components/modal/index.js.es6 b/app/assets/javascripts/boards/components/modal/index.js.es6
index 52f652ccfe1..9cab701bb5d 100644
--- a/app/assets/javascripts/boards/components/modal/index.js.es6
+++ b/app/assets/javascripts/boards/components/modal/index.js.es6
@@ -9,7 +9,7 @@
gl.issueBoards.IssuesModal = Vue.extend({
props: [
- 'blankStateImage', 'newIssuePath',
+ 'blankStateImage', 'newIssuePath', 'bulkUpdatePath',
],
data() {
return ModalStore.store;
@@ -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>
`,
diff --git a/app/assets/javascripts/boards/models/issue.js.es6 b/app/assets/javascripts/boards/models/issue.js.es6
index 8d93ac637f9..5b435a76467 100644
--- a/app/assets/javascripts/boards/models/issue.js.es6
+++ b/app/assets/javascripts/boards/models/issue.js.es6
@@ -6,6 +6,7 @@
class ListIssue {
constructor (obj) {
+ this._id = obj.id;
this.id = obj.iid;
this.title = obj.title;
this.confidential = obj.confidential;
diff --git a/app/assets/javascripts/boards/services/board_service.js.es6 b/app/assets/javascripts/boards/services/board_service.js.es6
index c8db107d890..20df8f2b373 100644
--- a/app/assets/javascripts/boards/services/board_service.js.es6
+++ b/app/assets/javascripts/boards/services/board_service.js.es6
@@ -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`, {});
@@ -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;
diff --git a/app/controllers/projects/boards/lists_controller.rb b/app/controllers/projects/boards/lists_controller.rb
index ed65cae82dc..67e3c9add81 100644
--- a/app/controllers/projects/boards/lists_controller.rb
+++ b/app/controllers/projects/boards/lists_controller.rb
@@ -50,10 +50,6 @@ module Projects
end
end
- def multiple
- head :ok
- end
-
private
def authorize_admin_list!
diff --git a/app/controllers/projects/boards_controller.rb b/app/controllers/projects/boards_controller.rb
index 9e699fb9b3b..ba9d0eaa265 100644
--- a/app/controllers/projects/boards_controller.rb
+++ b/app/controllers/projects/boards_controller.rb
@@ -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] }
diff --git a/app/views/projects/boards/_show.html.haml b/app/views/projects/boards/_show.html.haml
index a64f66b5b64..068e69bada6 100644
--- a/app/views/projects/boards/_show.html.haml
+++ b/app/views/projects/boards/_show.html.haml
@@ -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) }
diff --git a/config/routes/project.rb b/config/routes/project.rb
index afd895a5a1e..46d6530333d 100644
--- a/config/routes/project.rb
+++ b/config/routes/project.rb
@@ -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]