From 42c7a65a0576c54ec6cf46b493e3b0ff45f0d613 Mon Sep 17 00:00:00 2001
From: Robin Ward <robin.ward@gmail.com>
Date: Wed, 13 Mar 2013 12:00:38 -0400
Subject: [PATCH] When editing a post that is in reply to another post, show
 display meta data to that effect.

---
 .../discourse/components/utilities.js         |  4 +++
 .../javascripts/discourse/models/composer.js  | 33 +++++++++++--------
 2 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/app/assets/javascripts/discourse/components/utilities.js b/app/assets/javascripts/discourse/components/utilities.js
index 478bd1d29..ce308a7db 100644
--- a/app/assets/javascripts/discourse/components/utilities.js
+++ b/app/assets/javascripts/discourse/components/utilities.js
@@ -78,6 +78,10 @@ Discourse.Utilities = {
             (extraClasses || "") + "' title='" + (Handlebars.Utils.escapeExpression(title || "")) + "'>";
   },
 
+  tinyAvatar: function(username) {
+    return Discourse.Utilities.avatarImg({ username: username, size: 'tiny' });
+  },
+
   postUrl: function(slug, topicId, postNumber) {
     var url;
     url = "/t/";
diff --git a/app/assets/javascripts/discourse/models/composer.js b/app/assets/javascripts/discourse/models/composer.js
index 9f7fdb2f0..201d24df0 100644
--- a/app/assets/javascripts/discourse/models/composer.js
+++ b/app/assets/javascripts/discourse/models/composer.js
@@ -112,12 +112,24 @@ Discourse.Composer = Discourse.Model.extend({
       topicLink = "<a href='" + (topic.get('url')) + "'> " + (Handlebars.Utils.escapeExpression(topic.get('title'))) + "</a>";
     }
 
-    var replyAvatar;
-    if (this.get('post')) {
-      replyAvatar = Discourse.Utilities.avatarImg({
-        username: this.get('post.username'),
-        size: 'tiny'
+    var postDescription,
+        post = this.get('post');
+
+    if (post) {
+
+      postDescription = Em.String.i18n('post.' +  this.get('action'), {
+        link: postLink,
+        replyAvatar: Discourse.Utilities.tinyAvatar(post.get('username')),
+        username: this.get('post.username')
       });
+
+      var replyUsername = post.get('reply_to_user.username');
+      if (replyUsername && this.get('action') === EDIT) {
+        postDescription += " " + Em.String.i18n("post.in_reply_to") + " " +
+                           Discourse.Utilities.tinyAvatar(replyUsername) + " " + replyUsername;
+      }
+
+
     }
 
     switch (this.get('action')) {
@@ -127,15 +139,8 @@ Discourse.Composer = Discourse.Model.extend({
         return Em.String.i18n('topic.create_long');
       case REPLY:
       case EDIT:
-        if (replyAvatar) {
-          return Em.String.i18n('post.' +  this.get('action'), {
-            link: postLink,
-            replyAvatar: replyAvatar,
-            username: this.get('post.username')
-          });
-        } else if (topic) {
-          return Em.String.i18n('post.reply_topic', { link: topicLink });
-        }
+        if (postDescription) return postDescription;
+        if (topic) return Em.String.i18n('post.reply_topic', { link: topicLink });
     }
 
   }).property('action', 'post', 'topic', 'topic.title'),