From 5776251cdd64317d58cbf56a4946db052ae3ac93 Mon Sep 17 00:00:00 2001
From: Jarek Radosz <jradosz@gmail.com>
Date: Mon, 28 Oct 2019 17:29:14 +0100
Subject: [PATCH] DEV: Remove an obsolete "preferences/about-me" route (#8251)

User's title and bio can be changed on the "preferences/account" page.
---
 .../controllers/preferences/about.js.es6      | 12 -----
 .../discourse/routes/app-route-map.js.es6     |  1 -
 .../discourse/routes/preferences-about.js.es6 | 46 -------------------
 .../discourse/templates/preferences-about.hbs | 25 ----------
 config/routes.rb                              |  1 -
 .../acceptance/preferences-test.js.es6        |  5 --
 6 files changed, 90 deletions(-)
 delete mode 100644 app/assets/javascripts/discourse/controllers/preferences/about.js.es6
 delete mode 100644 app/assets/javascripts/discourse/routes/preferences-about.js.es6
 delete mode 100644 app/assets/javascripts/discourse/templates/preferences-about.hbs

diff --git a/app/assets/javascripts/discourse/controllers/preferences/about.js.es6 b/app/assets/javascripts/discourse/controllers/preferences/about.js.es6
deleted file mode 100644
index ec9958c1fc2..00000000000
--- a/app/assets/javascripts/discourse/controllers/preferences/about.js.es6
+++ /dev/null
@@ -1,12 +0,0 @@
-import Controller from "@ember/controller";
-import computed from "ember-addons/ember-computed-decorators";
-
-export default Controller.extend({
-  saving: false,
-  newBio: null,
-
-  @computed("saving")
-  saveButtonText(saving) {
-    return saving ? I18n.t("saving") : I18n.t("user.change");
-  }
-});
diff --git a/app/assets/javascripts/discourse/routes/app-route-map.js.es6 b/app/assets/javascripts/discourse/routes/app-route-map.js.es6
index 654c683a45e..d29d77463b0 100644
--- a/app/assets/javascripts/discourse/routes/app-route-map.js.es6
+++ b/app/assets/javascripts/discourse/routes/app-route-map.js.es6
@@ -156,7 +156,6 @@ export default function() {
         this.route("email");
         this.route("second-factor");
         this.route("second-factor-backup");
-        this.route("about", { path: "/about-me" });
       });
 
       this.route(
diff --git a/app/assets/javascripts/discourse/routes/preferences-about.js.es6 b/app/assets/javascripts/discourse/routes/preferences-about.js.es6
deleted file mode 100644
index d6e29ec7812..00000000000
--- a/app/assets/javascripts/discourse/routes/preferences-about.js.es6
+++ /dev/null
@@ -1,46 +0,0 @@
-import RestrictedUserRoute from "discourse/routes/restricted-user";
-
-export default RestrictedUserRoute.extend({
-  showFooter: true,
-
-  model: function() {
-    return this.modelFor("user");
-  },
-
-  renderTemplate: function() {
-    this.render({ into: "user" });
-  },
-
-  setupController: function(controller, model) {
-    controller.setProperties({ model, newBio: model.get("bio_raw") });
-  },
-
-  // A bit odd, but if we leave to /preferences we need to re-render that outlet
-  deactivate: function() {
-    this._super(...arguments);
-    this.render("preferences", { into: "user", controller: "preferences" });
-  },
-
-  actions: {
-    changeAbout: function() {
-      var route = this;
-      var controller = route.controllerFor("preferences/about");
-
-      controller.setProperties({ saving: true });
-      return controller
-        .get("model")
-        .save()
-        .then(
-          function() {
-            controller.set("saving", false);
-            route.transitionTo("user.index");
-          },
-          function() {
-            // model failed to save
-            controller.set("saving", false);
-            bootbox.alert(I18n.t("generic_error"));
-          }
-        );
-    }
-  }
-});
diff --git a/app/assets/javascripts/discourse/templates/preferences-about.hbs b/app/assets/javascripts/discourse/templates/preferences-about.hbs
deleted file mode 100644
index a409979d95c..00000000000
--- a/app/assets/javascripts/discourse/templates/preferences-about.hbs
+++ /dev/null
@@ -1,25 +0,0 @@
-<div class="user-preferences solo-preference">
-  <form class="form-horizontal">
-
-    <div class="control-group">
-      <div class="controls">
-        <h3>{{i18n 'user.change_about.title'}}</h3>
-      </div>
-    </div>
-
-    <div class="control-group">
-      <label class="control-label">{{i18n 'user.bio'}}</label>
-      <div class="controls">
-        {{d-editor value=model.bio_raw class="raw-bio" autofocus="autofocus"}}
-      </div>
-    </div>
-
-    <div class="control-group">
-      <div class="controls">
-        {{#d-button action=(route-action "changeAbout") class="btn btn-primary"}}
-          {{saveButtonText}}
-        {{/d-button}}
-      </div>
-    </div>
-  </form>
-</div>
diff --git a/config/routes.rb b/config/routes.rb
index 290282be38c..7e5fd73d085 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -435,7 +435,6 @@ Discourse::Application.routes.draw do
     get "#{root_path}/:username/preferences/interface" => "users#preferences", constraints: { username: RouteFormat.username }
     get "#{root_path}/:username/preferences/apps" => "users#preferences", constraints: { username: RouteFormat.username }
     put "#{root_path}/:username/preferences/email" => "users_email#update", constraints: { username: RouteFormat.username }
-    get "#{root_path}/:username/preferences/about-me" => "users#preferences", constraints: { username: RouteFormat.username }
     get "#{root_path}/:username/preferences/badge_title" => "users#preferences", constraints: { username: RouteFormat.username }
     put "#{root_path}/:username/preferences/badge_title" => "users#badge_title", constraints: { username: RouteFormat.username }
     get "#{root_path}/:username/preferences/username" => "users#preferences", constraints: { username: RouteFormat.username }
diff --git a/test/javascripts/acceptance/preferences-test.js.es6 b/test/javascripts/acceptance/preferences-test.js.es6
index 373a49cddfe..e2d55d20bc6 100644
--- a/test/javascripts/acceptance/preferences-test.js.es6
+++ b/test/javascripts/acceptance/preferences-test.js.es6
@@ -160,11 +160,6 @@ QUnit.test("username", async assert => {
   assert.ok(exists("#change_username"), "it has the input element");
 });
 
-QUnit.test("about me", async assert => {
-  await visit("/u/eviltrout/preferences/about-me");
-  assert.ok(exists(".raw-bio"), "it has the input element");
-});
-
 QUnit.test("email", async assert => {
   await visit("/u/eviltrout/preferences/email");