From 674844d0e98e3e9a730f3e67f17d688ec769f0e5 Mon Sep 17 00:00:00 2001
From: Phil Hughes <me@iamphill.com>
Date: Mon, 3 Oct 2016 14:54:42 +0100
Subject: [PATCH] Fixed issue with backlog list not saving Fixed issue when
 dragging cards

---
 app/assets/javascripts/boards/components/board_list.js.es6    | 4 ++--
 .../javascripts/boards/components/board_new_issue.js.es6      | 3 ++-
 app/controllers/projects/boards/issues_controller.rb          | 2 +-
 app/views/projects/boards/components/_card.html.haml          | 2 +-
 4 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/app/assets/javascripts/boards/components/board_list.js.es6 b/app/assets/javascripts/boards/components/board_list.js.es6
index 208aac504fd..bc74a7b23c9 100644
--- a/app/assets/javascripts/boards/components/board_list.js.es6
+++ b/app/assets/javascripts/boards/components/board_list.js.es6
@@ -78,7 +78,7 @@
         disabled: this.disabled,
         filter: '.board-list-count, .board-new-issue-form',
         onStart: (e) => {
-          const card = this.$refs.issue[e.oldIndex];
+          const card = this.$refs.issue[e.oldIndex - 1];
 
           Store.moving.issue = card.issue;
           Store.moving.list = card.list;
@@ -89,7 +89,7 @@
           gl.issueBoards.BoardsStore.moveIssueToList(Store.moving.list, this.list, Store.moving.issue);
         },
         onRemove: (e) => {
-          this.$refs.issue[e.oldIndex].$destroy(true);
+          this.$refs.issue[e.oldIndex - 1].$destroy(true);
         }
       });
 
diff --git a/app/assets/javascripts/boards/components/board_new_issue.js.es6 b/app/assets/javascripts/boards/components/board_new_issue.js.es6
index 60c13afefeb..eb26ed9721d 100644
--- a/app/assets/javascripts/boards/components/board_new_issue.js.es6
+++ b/app/assets/javascripts/boards/components/board_new_issue.js.es6
@@ -19,9 +19,10 @@
     methods: {
       submit(e) {
         e.preventDefault();
+        const labels = this.list.label ? [this.list.label] : [];
         const issue = new ListIssue({
           title: this.title,
-          labels: [this.list.label]
+          labels
         });
 
         this.list.newIssue(issue);
diff --git a/app/controllers/projects/boards/issues_controller.rb b/app/controllers/projects/boards/issues_controller.rb
index 41794193784..3b1b236a89a 100644
--- a/app/controllers/projects/boards/issues_controller.rb
+++ b/app/controllers/projects/boards/issues_controller.rb
@@ -23,7 +23,7 @@ module Projects
         list = project.board.lists.find(params[:list_id])
 
         issue = Issues::CreateService.new(project, current_user, issue_params.merge(request: request)).execute
-        issue.labels << list.label
+        issue.labels << list.label if list.label
 
         render json: issue.to_json
       end
diff --git a/app/views/projects/boards/components/_card.html.haml b/app/views/projects/boards/components/_card.html.haml
index e8b60b54d80..25701b0a99e 100644
--- a/app/views/projects/boards/components/_card.html.haml
+++ b/app/views/projects/boards/components/_card.html.haml
@@ -15,7 +15,7 @@
         ":title" => "issue.title" }
         {{ issue.title }}
     .card-footer
-      %span.card-number
+      %span.card-number{ "v-if" => "issue.id" }
         = precede '#' do
           {{ issue.id }}
       %button.label.color-label.has-tooltip{ "v-for" => "label in issue.labels",
-- 
GitLab