issue #1788 - start

This commit is contained in:
Julian Lam
2014-07-04 19:54:47 -04:00
parent bc257c1c10
commit 4d85df5bae
6 changed files with 25 additions and 3 deletions

View File

@@ -486,8 +486,11 @@ accountsController.getChats = function(req, res, next) {
return next(err);
}
console.log(res.locals.messages);
res.render('chats', {
chats: chats
chats: chats,
messages: res.locals.messages || undefined
});
});
};

View File

@@ -77,9 +77,10 @@ var db = require('./database'),
}
async.map(messages, function(message, next) {
var self = parseInt(message.fromuid, 10) === parseInt(fromuid)
var self = parseInt(message.fromuid, 10) === parseInt(fromuid, 10);
message.fromUser = self ? userData[0] : userData[1];
message.toUser = self ? userData[1] : userData[0];
message.timestampISO = new Date(parseInt(message.timestamp, 10)).toISOString();
Messaging.parse(message.content, message.fromuid, fromuid, userData[1], userData[0], isNew, function(result) {
message.content = result;

View File

@@ -15,6 +15,7 @@ var app,
db = require('./../database'),
categories = require('./../categories'),
topics = require('./../topics'),
messaging = require('../messaging'),
controllers = {
api: require('./../controllers/api')
@@ -189,6 +190,20 @@ middleware.checkAccountPermissions = function(req, res, next) {
});
};
middleware.getChatMessages = function(req, res, next) {
user.getUidByUserslug(req.params.userslug, function(err, toUid) {
if (!err && toUid) {
messaging.getMessages(req.user.uid, toUid, false, function(err, messages) {
res.locals.messages = messages;
next();
});
} else {
res.locals.messages = [];
next();
}
});
};
middleware.buildHeader = function(req, res, next) {
res.locals.renderHeader = true;
async.parallel({

View File

@@ -121,6 +121,8 @@ function accountRoutes(app, middleware, controllers) {
app.get('/chats', middleware.buildHeader, middleware.authenticate, controllers.accounts.getChats);
app.get('/api/chats', middleware.authenticate, controllers.accounts.getChats);
app.get('/chats/:userslug', middleware.buildHeader, middleware.authenticate, middleware.getChatMessages, controllers.accounts.getChats);
app.get('/api/chats/:userslug', middleware.authenticate, middleware.getChatMessages, controllers.accounts.getChats);
}
function userRoutes(app, middleware, controllers) {