diff --git a/app/assets/javascripts/discourse/controllers/user_activity_controller.js b/app/assets/javascripts/discourse/controllers/user_activity_controller.js index e6d86742c..038d786bc 100644 --- a/app/assets/javascripts/discourse/controllers/user_activity_controller.js +++ b/app/assets/javascripts/discourse/controllers/user_activity_controller.js @@ -21,5 +21,8 @@ Discourse.UserActivityController = Discourse.ObjectController.extend({ archetypeId: 'private_message', draftKey: 'new_private_message' }); - } + }, + + privateMessagesActive: Em.computed.equal('pmView', 'index'), + privateMessagesSentActive: Em.computed.equal('pmView', 'sent') }); diff --git a/app/assets/javascripts/discourse/routes/user_routes.js b/app/assets/javascripts/discourse/routes/user_routes.js index 309fa3a22..9ff40c4b1 100644 --- a/app/assets/javascripts/discourse/routes/user_routes.js +++ b/app/assets/javascripts/discourse/routes/user_routes.js @@ -159,13 +159,6 @@ Discourse.UserActivityStreamRoute = Discourse.Route.extend({ }); }); -Discourse.UserPrivateMessagesIndexRoute = Discourse.UserActivityStreamRoute.extend({ - userActionType: Discourse.UserAction.TYPES.messages_received -}); -Discourse.UserPrivateMessagesSentRoute = Discourse.UserActivityStreamRoute.extend({ - userActionType: Discourse.UserAction.TYPES.messages_sent -}); - Discourse.UserTopicListRoute = Discourse.Route.extend({ renderTemplate: function() { @@ -178,12 +171,41 @@ Discourse.UserTopicListRoute = Discourse.Route.extend({ } }); +Discourse.UserPrivateMessagesIndexRoute = Discourse.UserTopicListRoute.extend({ + userActionType: Discourse.UserAction.TYPES.messages_received, + + model: function() { + return Discourse.TopicList.find('topics/private-messages/' + this.modelFor('user').get('username_lower')); + }, + + setupController: function(controller, model) { + this._super(controller, model); + controller.set('hideCategories', true); + this.controllerFor('userActivity').set('pmView', 'index'); + } + +}); +Discourse.UserPrivateMessagesSentRoute = Discourse.UserTopicListRoute.extend({ + userActionType: Discourse.UserAction.TYPES.messages_sent, + + model: function() { + return Discourse.TopicList.find('topics/private-messages-sent/' + this.modelFor('user').get('username_lower')); + }, + + setupController: function(controller, model) { + this._super(controller, model); + controller.set('hideCategories', true); + this.controllerFor('userActivity').set('pmView', 'sent'); + } +}); + Discourse.UserActivityTopicsRoute = Discourse.UserTopicListRoute.extend({ userActionType: Discourse.UserAction.TYPES.topics, model: function() { return Discourse.TopicList.find('topics/created-by/' + this.modelFor('user').get('username_lower')); } + }); Discourse.UserActivityFavoritesRoute = Discourse.UserTopicListRoute.extend({ diff --git a/app/assets/javascripts/discourse/templates/list/basic_topic_list.js.handlebars b/app/assets/javascripts/discourse/templates/list/basic_topic_list.js.handlebars index 5dd68fbe3..2e488e3ef 100644 --- a/app/assets/javascripts/discourse/templates/list/basic_topic_list.js.handlebars +++ b/app/assets/javascripts/discourse/templates/list/basic_topic_list.js.handlebars @@ -1,55 +1,65 @@ - - - - - - - - - - - {{#groupedEach view.topics}} +{{#if view.topics}} +
- {{i18n topic.title}} - {{i18n category_title}}{{i18n posts}}{{i18n views}}{{i18n activity}}
- - - - - - - - {{#if bumped}} - - - {{else}} - - - {{/if}} + + {{#unless controller.hideCategories}} + + {{/unless}} + + + + - {{/groupedEach}} -
- {{categoryLink category}} - {{number posts_count numberKey="posts_long"}}{{number views numberKey="views_long"}} - {{unboundAge created_at}} - - {{unboundAge bumped_at}} - - {{unboundAge created_at}} - + {{i18n topic.title}} + {{i18n category_title}}{{i18n posts}}{{i18n views}}{{i18n activity}}
+ {{#groupedEach view.topics}} + + + {{{unbound fancy_title}}} + {{#if unread}} + {{unbound unread}} + {{/if}} + {{#if new_posts}} + {{unbound new_posts}} + {{/if}} + {{#if unseen}} + + {{/if}} + + {{#unless controller.hideCategories}} + + {{categoryLink category}} + + {{/unless}} + {{number posts_count numberKey="posts_long"}} + + + {{#if like_count}} + {{unbound like_count}} + {{/if}} + + + {{number views numberKey="views_long"}} + {{#if bumped}} + + {{unboundAge created_at}} + + + {{unboundAge bumped_at}} + + {{else}} + + {{unboundAge created_at}} + + + {{/if}} + + {{/groupedEach}} + + +{{else}} +
+ {{i18n choose_topic.none_found}} +
+{{/if}} \ No newline at end of file diff --git a/app/assets/javascripts/discourse/templates/user/activity.js.handlebars b/app/assets/javascripts/discourse/templates/user/activity.js.handlebars index 5887c6b95..bdf292ff0 100644 --- a/app/assets/javascripts/discourse/templates/user/activity.js.handlebars +++ b/app/assets/javascripts/discourse/templates/user/activity.js.handlebars @@ -15,9 +15,13 @@