From 1e3288448dcb3b5edb66746124d19fa6fd57bf8c Mon Sep 17 00:00:00 2001
From: Jacob Schatz <jschatz1@gmail.com>
Date: Tue, 25 Jul 2017 18:33:29 -0400
Subject: [PATCH] Makes multiple file commits for realz.

---
 app/assets/javascripts/api.js                       | 3 ++-
 app/assets/javascripts/repo/index.js                | 1 +
 app/assets/javascripts/repo/repo_commit_section.vue | 2 +-
 app/assets/javascripts/repo/repo_store.js           | 1 +
 app/views/projects/tree/_tree_content.html.haml     | 2 +-
 5 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/app/assets/javascripts/api.js b/app/assets/javascripts/api.js
index c874283274f..b7524b3b142 100644
--- a/app/assets/javascripts/api.js
+++ b/app/assets/javascripts/api.js
@@ -106,7 +106,8 @@ const Api = {
         'PRIVATE_TOKEN': token,
       },
       type: 'POST',
-      data: data,
+      contentType: "application/json; charset=utf-8",
+      data: JSON.stringify(data),
       dataType: 'json',
     })
       .done(commitData => callback(commitData))
diff --git a/app/assets/javascripts/repo/index.js b/app/assets/javascripts/repo/index.js
index 08975c5799d..ed4d1f55cb5 100644
--- a/app/assets/javascripts/repo/index.js
+++ b/app/assets/javascripts/repo/index.js
@@ -22,6 +22,7 @@ function initRepo() {
   Store.currentBranch = $("button.dropdown-menu-toggle").attr('data-ref');
   Store.checkIsCommitable();
   Store.projectId = repo.dataset.projectId;
+  Store.tempPrivateToken = repo.dataset.tempToken;
 
   new Vue({
     el: repo,
diff --git a/app/assets/javascripts/repo/repo_commit_section.vue b/app/assets/javascripts/repo/repo_commit_section.vue
index 19994a5675b..712d245d6d9 100644
--- a/app/assets/javascripts/repo/repo_commit_section.vue
+++ b/app/assets/javascripts/repo/repo_commit_section.vue
@@ -31,7 +31,7 @@ const RepoCommitSection = {
       }
       Api.commitMultiple(Store.projectId, payload, (data) => {
         console.log('got back', data);
-      })
+      }, Store.tempPrivateToken);
     }
   },
 
diff --git a/app/assets/javascripts/repo/repo_store.js b/app/assets/javascripts/repo/repo_store.js
index bee14894a50..31174eabe41 100644
--- a/app/assets/javascripts/repo/repo_store.js
+++ b/app/assets/javascripts/repo/repo_store.js
@@ -22,6 +22,7 @@ const RepoStore = {
   defaultTabSize: 100,
   minTabSize: 30,
   tabsOverflow: 41,
+  tempPrivateToken: '',
   activeFile: {
     active: true,
     binary: false,
diff --git a/app/views/projects/tree/_tree_content.html.haml b/app/views/projects/tree/_tree_content.html.haml
index dec0702cbf0..ede1ae8198a 100644
--- a/app/views/projects/tree/_tree_content.html.haml
+++ b/app/views/projects/tree/_tree_content.html.haml
@@ -1,4 +1,4 @@
-#repo{ data: { url: repo_url(@project), 'project-name' => @project.name, refs_url: refs_namespace_project_path(@project.namespace, @project, format: "json"), project_url: namespace_project_path(@project.namespace, @project), project_id: @project.id } }
+#repo{ data: { url: repo_url(@project), 'project-name' => @project.name, refs_url: refs_namespace_project_path(@project.namespace, @project, format: "json"), project_url: namespace_project_path(@project.namespace, @project), project_id: @project.id, temp_token: @current_user.private_token } }
 
 - if can_edit_tree?
   = render 'projects/blob/upload', title: _('Upload New File'), placeholder: _('Upload New File'), button_title: _('Upload file'), form_path: project_create_blob_path(@project, @id), method: :post
-- 
2.30.9