From 1c1c5da8f270d78ce53aaabc41be191bf7608478 Mon Sep 17 00:00:00 2001 From: psychobunny Date: Sun, 2 Feb 2014 14:38:04 -0500 Subject: [PATCH 1/2] isAdmin in header --- public/templates/header.tpl | 4 +++- src/webserver.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/public/templates/header.tpl b/public/templates/header.tpl index d3ff094b45..d8d9c39743 100644 --- a/public/templates/header.tpl +++ b/public/templates/header.tpl @@ -72,9 +72,11 @@
  • [[global:header.users]]
  • -
  • + +
  • [[global:header.admin]]
  • +
  • [[global:header.search]] diff --git a/src/webserver.js b/src/webserver.js index 13946b6044..8e1381c4ef 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -154,7 +154,7 @@ module.exports.server = server; } user.isAdministrator(uid, function(err, isAdmin) { - templateValues.adminDisplay = isAdmin ? 'show' : 'hide'; + templateValues.isAdmin = isAdmin; translator.translate(templates.header.parse(templateValues), function(template) { callback(null, template); From 609821029bbeb396caec38e961c63c731aa72c34 Mon Sep 17 00:00:00 2001 From: psychobunny Date: Sun, 2 Feb 2014 14:47:49 -0500 Subject: [PATCH 2/2] app.isAdmin available client-side --- public/src/app.js | 1 + src/socket.io/index.js | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/public/src/app.js b/public/src/app.js index 78a1c9228f..2e1c1f9204 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -34,6 +34,7 @@ var socket, socket.on('event:connect', function (data) { app.username = data.username; app.uid = data.uid; + app.isAdmin = data.isAdmin; app.showLoginMessage(); socket.emit('meta.updateHeader', { diff --git a/src/socket.io/index.js b/src/socket.io/index.js index b92c0f7e3f..9e5b6205af 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -88,10 +88,22 @@ Sockets.init = function(server) { db.sortedSetAdd('users:online', Date.now(), uid, function(err, data) { socket.join('uid_' + uid); - user.getUserField(uid, 'username', function(err, username) { + async.parallel({ + username: function(next) { + user.getUserField(uid, 'username', function(err, username) { + next(err, username); + }); + }, + isAdmin: function(next) { + user.isAdministrator(uid, function(err, isAdmin) { + next(err, isAdmin); + }); + } + }, function(err, userData) { socket.emit('event:connect', { status: 1, - username: username, + username: userData.username, + isAdmin: userData.isAdmin, uid: uid }); });