From a274a8cc12c541425b8dab9f8957bd471cc09a0c Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Tue, 11 Feb 2014 18:58:46 -0500 Subject: [PATCH] more unread changes --- public/src/forum/topic.js | 2 ++ public/templates/home.tpl | 2 +- src/categories.js | 3 ++- src/topics.js | 13 +++++++++---- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/public/src/forum/topic.js b/public/src/forum/topic.js index 3910ee9bc9..bc3cb9cd9d 100644 --- a/public/src/forum/topic.js +++ b/public/src/forum/topic.js @@ -114,10 +114,12 @@ define(['composer', 'forum/pagination'], function(composer, pagination) { }); $('.markAsUnreadForAll').on('click', function() { + var btn = $(this); socket.emit('topics.markAsUnreadForAll', tid, function(err) { if(err) { return app.alertError(err.message); } + btn.parents('.thread-tools.open').find('.dropdown-toggle').trigger('click'); }); return false; }) diff --git a/public/templates/home.tpl b/public/templates/home.tpl index fa4d1910cd..f47c85a35e 100644 --- a/public/templates/home.tpl +++ b/public/templates/home.tpl @@ -9,7 +9,7 @@

- {categories.topic_count} + {categories.topic_count} diff --git a/src/categories.js b/src/categories.js index b998701048..0804b8a889 100644 --- a/src/categories.js +++ b/src/categories.js @@ -334,7 +334,8 @@ var db = require('./database'), } Categories.hasReadCategory(cid, uid, function(hasRead) { - categoryData.badgeclass = (parseInt(categoryData.topic_count, 10) === 0 || (hasRead && uid !== 0)) ? '' : 'badge-important'; + + categoryData['unread-class'] = (parseInt(categoryData.topic_count, 10) === 0 || (hasRead && parseInt(uid, 10) !== 0)) ? '' : 'unread'; callback(null, categoryData); }); diff --git a/src/topics.js b/src/topics.js index 5d8acb916e..488a80517c 100644 --- a/src/topics.js +++ b/src/topics.js @@ -152,12 +152,12 @@ var async = require('async'), posts.create(uid, tid, content, next); }, function(postData, next) { + threadTools.notifyFollowers(tid, postData.pid, uid); + user.sendPostNotificationToFollowers(uid, tid, postData.pid); - Topics.markCategoryUnreadForAll(tid, function(err) { - next(err, postData); - }); + next(err, postData); }, function(postData, next) { Topics.markAsUnreadForAll(tid, function(err) { @@ -972,7 +972,12 @@ var async = require('async'), } Topics.markAsUnreadForAll = function(tid, callback) { - db.delete('tid:' + tid + ':read_by_uid', callback); + db.delete('tid:' + tid + ':read_by_uid', function(err) { + if(err) { + return callback(err); + } + Topics.markCategoryUnreadForAll(tid, callback) + }); } Topics.markAsRead = function(tid, uid, callback) {