add glyphicons to admin names, refactor code to reduce duplication of contrib.level style assignments, sort moderator name list sensibly

This commit is contained in:
Alice Harris 2014-08-10 14:39:47 +10:00
parent 73cd71d74b
commit cd7f87bbfe
4 changed files with 31 additions and 14 deletions

View file

@ -42,18 +42,31 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$
// styling helpers
$scope.userLevelStyle = function(user,style){
style = style || '';
if(user && user.backer && user.backer.npc)
style += ' label-npc';
if(user && user.contributor && user.contributor.level)
style += ' label-contributor-'+user.contributor.level;
var npc = (user && user.backer && user.backer.npc) ? user.backer.npc : '';
var level = (user && user.contributor && user.contributor.level) ? user.contributor.level : '';
style += $scope.userLevelStyleFromLevel(level,npc,style)
return style;
}
$scope.userAdminGlyphiconStyle = function(user,style){
style = style || '';
if(user && user.contributor && user.contributor.level)
if(user.contributor.level==8)
style += $scope.userAdminGlyphiconStyleFromLevel(user.contributor.level,style)
return style;
}
$scope.userLevelStyleFromLevel = function(level,npc,style){
style = style || '';
if(npc)
style += ' label-npc';
if(level)
style += ' label-contributor-'+level;
return style;
}
$scope.userAdminGlyphiconStyleFromLevel = function(level,style){
style = style || '';
if(level)
if(level==8)
style += ' glyphicon glyphicon-star'; // moderator
if(user.contributor.level==9)
if(level==9)
style += ' glyphicon glyphicon-tower'; // staff
return style;
}

View file

@ -444,10 +444,6 @@ UserSchema.methods.unlink = function(options, cb) {
module.exports.schema = UserSchema;
module.exports.model = mongoose.model("User", UserSchema);
mongoose.model("User").find({'contributor.admin':true},function(err,mods){
module.exports.mods = _.map(mods,function(m){
var lvl = (m.backer && m.backer.npc) ? 'label-npc' :
'label-contributor-' + m.contributor.level;
return ' <span class="label ' + lvl + '">'+ m.profile.name + '</span>'
});
mongoose.model("User").find({$query:{'contributor.admin':true}, $orderby:{'contributor.level':-1, 'profile.name':1}},function(err,mods){
module.exports.mods = mods
});

View file

@ -13,5 +13,6 @@ li.chat-message(ng-repeat='message in group.chat', ng-class=':: {highlight: isUs
| &nbsp;
a(ng-if=':: user.contributor.admin || message.uuid == user.id', ng-click='deleteChatMessage(group, message)')
span.glyphicon.glyphicon-trash(tooltip=env.t('delete'))
a.label.label-default.chat-message(ng-if=':: message.user', class='float-label', ng-class=':: {"label-npc": message.backer.npc, "label-contributor-{{message.contributor.level}}":message.contributor.level}', ng-click='clickMember(message.uuid, true)')
a.label.label-default.chat-message(ng-if=':: message.user', class='float-label', ng-class='userLevelStyleFromLevel(message.contributor.level, message.backer.npc, style)', ng-click='clickMember(message.uuid, true)')
span(tooltip='{{::contribText(message.contributor, message.backer)}}') {{::message.user}}&nbsp;
span(ng-class='userAdminGlyphiconStyleFromLevel(message.contributor.level)')

View file

@ -143,6 +143,13 @@
h3=env.t('tavernTalk')
include ./chat-box
.alert.alert-info.alert-sm
!= ' ' + env.t('tavernAlert1') + ' <a href="https://github.com/HabitRPG/habitrpg/issues/2760" target="_blank">' + env.t('tavernAlert2') + '</a>.<br />' + env.t('moderatorIntro1') + env.mods + env.t('moderatorIntro2')
!= ' ' + env.t('tavernAlert1') + ' <a href="https://github.com/HabitRPG/habitrpg/issues/2760" target="_blank">' + env.t('tavernAlert2') + '</a>.<br />' + env.t('moderatorIntro1')
span(ng-repeat='mod in env.mods')
| &nbsp;
span(ng-if='mod.contributor.admin',popover=env.t('gamemaster'),popover-trigger='mouseenter',popover-placement='right')
a.label.label-default(ng-class='userLevelStyle(mod)', ng-click='clickMember(mod._id, true)')
{{mod.profile.name}}&nbsp;
span(ng-class='userAdminGlyphiconStyle(mod)')
ul.list-unstyled.tavern-chat
include ./chat-message