show admin link in header if user is admin, closes #459

This commit is contained in:
Baris Usakli
2013-10-28 15:49:12 -04:00
parent 51a9bd9e56
commit 12f3f1a45c
4 changed files with 22 additions and 5 deletions

View File

@@ -9,6 +9,7 @@
"logout": "Logout",
"logout.title": "You are now logged out.",
"logout.message": "You have successfully logged out of NodeBB",
"header.admin": "Admin",
"header.recent": "Recent",
"header.unread": "Unread",
"header.users": "Users",

View File

@@ -23,7 +23,8 @@ var ajaxify = {};
window.onpopstate = function (event) {
// "quiet": If set to true, will not call pushState
if (event !== null && event.state && event.state.url !== undefined) ajaxify.go(event.state.url, null, null, true);
if (event !== null && event.state && event.state.url !== undefined)
ajaxify.go(event.state.url, null, null, true);
};
var pagination;
@@ -123,7 +124,7 @@ var ajaxify = {};
if (this.getAttribute('data-ajaxify') == 'false') {
return;
}
if (!e.ctrlKey && e.which === 1) {
if (this.host === window.location.host) {
// Internal link

View File

@@ -62,6 +62,10 @@
<li>
<a href="/users">[[global:header.users]]</a>
</li>
<li class="{adminDisplay}">
<a href="/admin"><i class="icon-cogs"></i> [[global:header.admin]]</a>
</li>
<li class="visible-xs">
<a href="/search">[[global:header.search]]</a>
</li>

View File

@@ -85,9 +85,20 @@ var express = require('express'),
navigation: custom_header.navigation
};
translator.translate(templates.header.parse(templateValues), function(template) {
callback(null, template);
});
var uid = '0';
if(options.req.user && options.req.user.uid)
uid = options.req.user.uid;
user.isAdministrator(uid, function(isAdmin) {
templateValues.adminDisplay = isAdmin ? 'show' : 'hide';
translator.translate(templates.header.parse(templateValues), function(template) {
callback(null, template);
});
})
});
};