From 8e6ae0e278f7e193ecb06acbcbc73fe9ebd5bf43 Mon Sep 17 00:00:00 2001
From: Robin Ward <robin.ward@gmail.com>
Date: Tue, 8 Oct 2013 15:44:36 -0400
Subject: [PATCH] Only show filter button if the user has more than 2 posts

---
 .../controllers/poster_expansion_controller.js       | 12 +++++++++++-
 .../discourse/templates/poster_expansion.handlebars  |  2 +-
 config/locales/client.en.yml                         |  2 +-
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/app/assets/javascripts/discourse/controllers/poster_expansion_controller.js b/app/assets/javascripts/discourse/controllers/poster_expansion_controller.js
index 543bba414..a7d89d833 100644
--- a/app/assets/javascripts/discourse/controllers/poster_expansion_controller.js
+++ b/app/assets/javascripts/discourse/controllers/poster_expansion_controller.js
@@ -10,8 +10,10 @@ Discourse.PosterExpansionController = Discourse.ObjectController.extend({
   needs: ['topic'],
   visible: false,
   user: null,
+  participant: null,
 
-  showFilter: Em.computed.alias('controllers.topic.postStream.hasNoFilters'),
+  enoughPostsForFiltering: Em.computed.gte('participant.post_count', 2),
+  showFilter: Em.computed.and('controllers.topic.postStream.hasNoFilters', 'enoughPostsForFiltering'),
   showName: Discourse.computed.propertyNotEqual('user.name', 'user.username'),
 
   show: function(post) {
@@ -28,6 +30,14 @@ Discourse.PosterExpansionController = Discourse.ObjectController.extend({
     // If we're showing the same user we showed last time, just keep it
     if (post.get('username') === currentUsername) { return; }
 
+    this.set('participant', null);
+
+    // Retrieve their participants info
+    var participants = this.get('topic.details.participants');
+    if (participants) {
+      this.set('participant', participants.findBy('username', post.get('username')));
+    }
+
     var self = this;
     self.set('user', null);
     Discourse.User.findByUsername(post.get('username')).then(function (user) {
diff --git a/app/assets/javascripts/discourse/templates/poster_expansion.handlebars b/app/assets/javascripts/discourse/templates/poster_expansion.handlebars
index b19b00ffc..f9efc4c50 100644
--- a/app/assets/javascripts/discourse/templates/poster_expansion.handlebars
+++ b/app/assets/javascripts/discourse/templates/poster_expansion.handlebars
@@ -19,7 +19,7 @@
       {{#link-to 'user' user class="btn"}}<i class='icon icon-user'></i>{{i18n user.show_profile}}{{/link-to}}
 
       {{#if showFilter}}
-        <button class='btn' {{action togglePosts user}}><i class='icon icon-filter'></i>{{i18n topic.filter_to username="username"}}</button>
+        <button class='btn' {{action togglePosts user}}><i class='icon icon-filter'></i>{{i18n topic.filter_to username="username" post_count="participant.post_count"}}</button>
       {{/if}}
 
     </div>
diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml
index 673d28087..6b6cd7d77 100644
--- a/config/locales/client.en.yml
+++ b/config/locales/client.en.yml
@@ -574,7 +574,7 @@ en:
       title: Topic Rank Details
 
     topic:
-      filter_to: "Show only posts by {{username}} in this topic"
+      filter_to: "Show only the {{post_count}} posts by {{username}} in this topic"
       create_in: 'Create {{categoryName}} Topic'
       create: 'Create Topic'
       create_long: 'Create a new Topic'