Dashboard links to list of admins and moderators; Move a bunch of ember routes into one file: admin_users_list_routes.js

This commit is contained in:
Neil Lalonde 2013-04-23 12:07:58 -04:00
parent fe7de44275
commit 06e5083950
9 changed files with 92 additions and 55 deletions

View File

@ -33,6 +33,8 @@ Discourse.Route.buildRoutes(function() {
this.route('active', { path: '/active' });
this.route('new', { path: '/new' });
this.route('pending', { path: '/pending' });
this.route('admins', { path: '/admins' });
this.route('moderators', { path: '/moderators' });
// Trust Levels:
this.route('newuser', { path: '/newuser' });
this.route('basic', { path: '/basic' });

View File

@ -1,13 +0,0 @@
/**
Handles the route that lists active users.
@class AdminUsersListActiveRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminUsersListActiveRoute = Discourse.Route.extend({
setupController: function() {
return this.controllerFor('adminUsersList').show('active');
}
});

View File

@ -1,13 +0,0 @@
/**
Handles the route that lists new users.
@class AdminUsersListNewRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminUsersListNewRoute = Discourse.Route.extend({
setupController: function() {
return this.controllerFor('adminUsersList').show('new');
}
});

View File

@ -1,13 +0,0 @@
/**
Handles the route that lists pending users.
@class AdminUsersListNewRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminUsersListPendingRoute = Discourse.Route.extend({
setupController: function() {
return this.controllerFor('adminUsersList').show('pending');
}
});

View File

@ -1,13 +0,0 @@
/**
Handles the route that deals with listing users
@class AdminUsersListRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminUsersListRoute = Discourse.Route.extend({
renderTemplate: function() {
this.render('admin/templates/users_list', {into: 'admin/templates/admin'});
}
});

View File

@ -0,0 +1,83 @@
/**
Handles the route that deals with listing users
@class AdminUsersListRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminUsersListRoute = Discourse.Route.extend({
renderTemplate: function() {
this.render('admin/templates/users_list', {into: 'admin/templates/admin'});
}
});
/**
Handles the route that lists active users.
@class AdminUsersListActiveRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminUsersListActiveRoute = Discourse.Route.extend({
setupController: function() {
return this.controllerFor('adminUsersList').show('active');
}
});
/**
Handles the route that lists new users.
@class AdminUsersListNewRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminUsersListNewRoute = Discourse.Route.extend({
setupController: function() {
return this.controllerFor('adminUsersList').show('new');
}
});
/**
Handles the route that lists pending users.
@class AdminUsersListNewRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminUsersListPendingRoute = Discourse.Route.extend({
setupController: function() {
return this.controllerFor('adminUsersList').show('pending');
}
});
/**
Handles the route that lists admin users.
@class AdminUsersListAdminsRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminUsersListAdminsRoute = Discourse.Route.extend({
setupController: function() {
return this.controllerFor('adminUsersList').show('admins');
}
});
/**
Handles the route that lists moderators.
@class AdminUsersListModeratorsRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.AdminUsersListModeratorsRoute = Discourse.Route.extend({
setupController: function() {
return this.controllerFor('adminUsersList').show('moderators');
}
});

View File

@ -98,9 +98,9 @@
<div class="dashboard-stats totals">
<span class="title"><i class='icon icon-trophy'></i> {{i18n admin.dashboard.admins}}</span>
<span class="value">{{admins}}</span>
<span class="value">{{#linkTo 'adminUsersList.admins'}}{{admins}}{{/linkTo}}</span>
<span class="title"><i class='icon icon-magic'></i> {{i18n admin.dashboard.moderators}}</span>
<span class="value">{{moderators}}</span>
<span class="value">{{#linkTo 'adminUsersList.moderators'}}{{moderators}}{{/linkTo}}</span>
</div>
<div class="dashboard-stats">

View File

@ -14,7 +14,9 @@ class Admin::UsersController < Admin::AdminController
@users = @users.where('trust_level = ?', TrustLevel.levels[params[:query].to_sym])
end
@users = @users.where('approved = false') if params[:query] == 'pending'
@users = @users.where('admin = ?', true) if params[:query] == 'admins'
@users = @users.where('moderator = ?', true) if params[:query] == 'moderators'
@users = @users.where('approved = false') if params[:query] == 'pending'
@users = @users.where('username_lower like :filter or email like :filter', filter: "%#{params[:filter]}%") if params[:filter].present?
@users = @users.take(100)
render_serialized(@users, AdminUserSerializer)

View File

@ -922,6 +922,8 @@ en:
regular: 'Users at Trust Level 2 (Regular User)'
leader: 'Users at Trust Level 3 (Leader)'
elder: 'Users at Trust Level 4 (Elder)'
admins: 'Admin Users'
moderators: 'Moderators'
user:
ban_failed: "Something went wrong banning this user {{error}}"