From 579092f53aa1a27e8d60bd70e12bed19123e24e7 Mon Sep 17 00:00:00 2001
From: Luke "Jared" Bennett <lbennett@gitlab.com>
Date: Thu, 14 Sep 2017 12:06:11 +0100
Subject: [PATCH] Remove discussion_lock

---
 app/assets/javascripts/discussion_lock.js             | 46 ----------------------------------------------
 app/assets/javascripts/main.js                        |  1 -
 app/views/projects/merge_requests/_mr_title.html.haml |  2 +-
 app/views/shared/issuable/_sidebar.html.haml          | 11 -----------
 db/schema.rb                                          | 32 ++++++++++++++++----------------
 5 files changed, 17 insertions(+), 75 deletions(-)
 delete mode 100644 app/assets/javascripts/discussion_lock.js

diff --git a/app/assets/javascripts/discussion_lock.js b/app/assets/javascripts/discussion_lock.js
deleted file mode 100644
index 7bf83e9..0000000
--- a/app/assets/javascripts/discussion_lock.js
+++ /dev/null
@@ -1,46 +0,0 @@
-class DiscussionLock {
-  constructor(containerElm) {
-    this.containerElm = containerElm;
-
-    const lockButton = containerElm.querySelector('.js-discussion-lock-button');
-    console.log(lockButton);
-    if (lockButton) {
-      // remove class so we don't bind twice
-      lockButton.classList.remove('js-discussion-lock-button');
-      console.log(lockButton);
-      lockButton.addEventListener('click', this.toggleDiscussionLock.bind(this));
-    }
-  }
-
-  toggleDiscussionLock(event) {
-    const button = event.currentTarget;
-    const buttonSpan = button.querySelector('span');
-    if (!buttonSpan || button.classList.contains('disabled')) {
-      return;
-    }
-    button.classList.add('disabled');
-
-    const url = this.containerElm.dataset.url;
-    const lock = this.containerElm.dataset.lock;
-    const issuableType = this.containerElm.dataset.issuableType;
-
-    const data = {}
-    data[issuableType] = {}
-    data[issuableType].discussion_locked = lock
-
-    $.ajax({
-      url,
-      data: data,
-      type: 'PUT'
-    }).done((data) => {
-      button.classList.remove('disabled');
-    });
-  }
-
-  static bindAll(selector) {
-    [].forEach.call(document.querySelectorAll(selector), elm => new DiscussionLock(elm));
-  }
-}
-
-window.gl = window.gl || {};
-window.gl.DiscussionLock = DiscussionLock;
diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js
index ea1d50d..0bc31a5 100644
--- a/app/assets/javascripts/main.js
+++ b/app/assets/javascripts/main.js
@@ -80,7 +80,6 @@ import './copy_as_gfm';
 import './copy_to_clipboard';
 import './create_label';
 import './diff';
-import './discussion_lock';
 import './dropzone_input';
 import './due_date_select';
 import './files_comment_button';
diff --git a/app/views/projects/merge_requests/_mr_title.html.haml b/app/views/projects/merge_requests/_mr_title.html.haml
index 4033e00..941d905 100644
--- a/app/views/projects/merge_requests/_mr_title.html.haml
+++ b/app/views/projects/merge_requests/_mr_title.html.haml
@@ -15,7 +15,7 @@
       = icon('angle-double-left')
 
     .issuable-meta
-      - if @merge_request.discussion_locked
+      - if @merge_request.discussion_locked?
         = icon('lock', class: 'issuable-warning-icon')
       = issuable_meta(@merge_request, @project, "Merge request")
 
diff --git a/app/views/shared/issuable/_sidebar.html.haml b/app/views/shared/issuable/_sidebar.html.haml
index e0b987b..2e1c5f6 100644
--- a/app/views/shared/issuable/_sidebar.html.haml
+++ b/app/views/shared/issuable/_sidebar.html.haml
@@ -135,17 +135,6 @@
           %button.btn.btn-default.pull-right.js-subscribe-button.issuable-subscribe-button.hide-collapsed{ type: "button" }
             %span= subscribed ? 'Unsubscribe' : 'Subscribe'
 
-      - if can_edit_issuable
-        - locked = issuable.discussion_locked?
-        .block.light.discussion-lock{ data: { lock: (!locked).to_s, url: "#{issuable_json_path(issuable)}?basic=true", issuable_type: issuable.class.to_s.underscore } }
-          .sidebar-collapsed-icon
-            = icon('rss', 'aria-hidden': 'true')
-          %span.issuable-header-text.hide-collapsed.pull-left
-            Discussion Lock
-          - subscribtion_status = locked ? 'locked' : 'not locked'
-          %button.btn.btn-default.pull-right.js-discussion-lock-button.issuable-discussion-lock-button.hide-collapsed{ type: "button" }
-            %span= locked ? 'Unlock' : 'Lock'
-
       - project_ref = cross_project_reference(@project, issuable)
       .block.project-reference
         .sidebar-collapsed-icon.dont-change-state
diff --git a/db/schema.rb b/db/schema.rb
index 6cdf929..ceaa7a7 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -32,8 +32,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
     t.text "description", null: false
     t.string "header_logo"
     t.string "logo"
-    t.datetime_with_timezone "created_at", null: false
-    t.datetime_with_timezone "updated_at", null: false
+    t.datetime "created_at", null: false
+    t.datetime "updated_at", null: false
     t.text "description_html"
     t.integer "cached_markdown_version"
   end
@@ -275,8 +275,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
     t.string "encrypted_value_iv"
     t.integer "group_id", null: false
     t.boolean "protected", default: false, null: false
-    t.datetime_with_timezone "created_at", null: false
-    t.datetime_with_timezone "updated_at", null: false
+    t.datetime "created_at", null: false
+    t.datetime "updated_at", null: false
   end
 
   add_index "ci_group_variables", ["group_id", "key"], name: "index_ci_group_variables_on_group_id_and_key", unique: true, using: :btree
@@ -288,8 +288,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
     t.string "encrypted_value_salt"
     t.string "encrypted_value_iv"
     t.integer "pipeline_schedule_id", null: false
-    t.datetime_with_timezone "created_at"
-    t.datetime_with_timezone "updated_at"
+    t.datetime "created_at"
+    t.datetime "updated_at"
   end
 
   add_index "ci_pipeline_schedule_variables", ["pipeline_schedule_id", "key"], name: "index_ci_pipeline_schedule_variables_on_schedule_id_and_key", unique: true, using: :btree
@@ -537,8 +537,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
     t.integer "project_id"
     t.integer "author_id", null: false
     t.integer "target_id"
-    t.datetime_with_timezone "created_at", null: false
-    t.datetime_with_timezone "updated_at", null: false
+    t.datetime "created_at", null: false
+    t.datetime "updated_at", null: false
     t.integer "action", limit: 2, null: false
     t.string "target_type"
   end
@@ -576,8 +576,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
   add_index "forked_project_links", ["forked_to_project_id"], name: "index_forked_project_links_on_forked_to_project_id", unique: true, using: :btree
 
   create_table "gpg_keys", force: :cascade do |t|
-    t.datetime_with_timezone "created_at", null: false
-    t.datetime_with_timezone "updated_at", null: false
+    t.datetime "created_at", null: false
+    t.datetime "updated_at", null: false
     t.integer "user_id"
     t.binary "primary_keyid"
     t.binary "fingerprint"
@@ -589,8 +589,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
   add_index "gpg_keys", ["user_id"], name: "index_gpg_keys_on_user_id", using: :btree
 
   create_table "gpg_signatures", force: :cascade do |t|
-    t.datetime_with_timezone "created_at", null: false
-    t.datetime_with_timezone "updated_at", null: false
+    t.datetime "created_at", null: false
+    t.datetime "updated_at", null: false
     t.integer "project_id"
     t.integer "gpg_key_id"
     t.binary "commit_sha"
@@ -789,8 +789,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
   add_index "members", ["user_id"], name: "index_members_on_user_id", using: :btree
 
   create_table "merge_request_diff_commits", id: false, force: :cascade do |t|
-    t.datetime_with_timezone "authored_date"
-    t.datetime_with_timezone "committed_date"
+    t.datetime "authored_date"
+    t.datetime "committed_date"
     t.integer "merge_request_diff_id", null: false
     t.integer "relative_order", null: false
     t.binary "sha", null: false
@@ -1114,8 +1114,8 @@ ActiveRecord::Schema.define(version: 20170905112933) do
 
   create_table "project_auto_devops", force: :cascade do |t|
     t.integer "project_id", null: false
-    t.datetime_with_timezone "created_at", null: false
-    t.datetime_with_timezone "updated_at", null: false
+    t.datetime "created_at", null: false
+    t.datetime "updated_at", null: false
     t.boolean "enabled"
     t.string "domain"
   end
--
libgit2 0.27.1