diff --git a/modules/core/client/app/trans-string-en.js b/modules/core/client/app/trans-string-en.js index 43812ff7..13783f1e 100644 --- a/modules/core/client/app/trans-string-en.js +++ b/modules/core/client/app/trans-string-en.js @@ -524,6 +524,16 @@ MESSAGE_TO_ICON_TITLE: 'Send a message to', + //traces + ADMIN_TRACES_LIST: 'Traces List', + TRACES_IS_EMPTY: 'Traces is empty!', + TRACES_FIELDS: { + USERNAME: 'Username', + CONTENT: 'Trace Content', + TYPE: 'Action Type', + CREATEDAT: 'CreatedAt' + }, + //chat view CHAT_USERS_LIST: 'Users List', CHAT_WELCOME: 'Welcome to join the chat room, please follow the chat rules, and have a good time!', diff --git a/modules/core/client/app/trans-string-zh.js b/modules/core/client/app/trans-string-zh.js index ea426e7e..9c46e8f0 100644 --- a/modules/core/client/app/trans-string-zh.js +++ b/modules/core/client/app/trans-string-zh.js @@ -524,6 +524,16 @@ MESSAGE_TO_ICON_TITLE: '发送站内消息', + //traces + ADMIN_TRACES_LIST: '系统日志', + TRACES_IS_EMPTY: '系统日志为空!', + TRACES_FIELDS: { + USERNAME: '操作用户', + CONTENT: '日志内容', + TYPE: '操作类型', + CREATEDAT: '操作时间' + }, + //chat view CHAT_USERS_LIST: '用户列表', CHAT_WELCOME: '欢迎进入聊天室,请注意自已的言行,共同维护良好的聊天环境!', diff --git a/modules/invitations/server/controllers/invitations.server.controller.js b/modules/invitations/server/controllers/invitations.server.controller.js index 2344a714..0539eff5 100644 --- a/modules/invitations/server/controllers/invitations.server.controller.js +++ b/modules/invitations/server/controllers/invitations.server.controller.js @@ -48,7 +48,7 @@ exports.create = function (req, res) { //create trace log traceLogCreate(req, traceConfig.action.userInvitationExchange, { - to: req.user._id, + user: req.user._id, token: invitation.token, score: config.meanTorrentConfig.invite.score_exchange }); diff --git a/modules/traces/client/controllers/traces.client.controller.js b/modules/traces/client/controllers/traces.client.controller.js index bab968ef..96794ef0 100644 --- a/modules/traces/client/controllers/traces.client.controller.js +++ b/modules/traces/client/controllers/traces.client.controller.js @@ -6,10 +6,10 @@ .controller('TracesController', TracesController); TracesController.$inject = ['$scope', '$state', '$translate', '$timeout', 'Authentication', '$filter', 'NotifycationService', '$stateParams', 'MessagesService', - 'MeanTorrentConfig', 'ModalConfirmService', 'marked', '$rootScope']; + 'MeanTorrentConfig', 'ModalConfirmService', 'marked', '$rootScope', 'TracesService']; function TracesController($scope, $state, $translate, $timeout, Authentication, $filter, NotifycationService, $stateParams, MessagesService, - MeanTorrentConfig, ModalConfirmService, marked, $rootScope) { + MeanTorrentConfig, ModalConfirmService, marked, $rootScope, TracesService) { var vm = this; /** @@ -19,5 +19,44 @@ $state.go('authentication.signin'); } + /** + * getTraces + */ + vm.getTraces = function () { + TracesService.query(function (data) { + vm.traces = data; + vm.buildPager(); + }); + }; + + /** + * buildPager + */ + vm.buildPager = function () { + vm.pagedItems = []; + vm.itemsPerPage = 10; + vm.currentPage = 1; + vm.figureOutItemsToDisplay(); + }; + + /** + * figureOutItemsToDisplay + */ + vm.figureOutItemsToDisplay = function () { + vm.filteredItems = $filter('filter')(vm.traces, { + $: vm.search + }); + vm.filterLength = vm.filteredItems.length; + var begin = ((vm.currentPage - 1) * vm.itemsPerPage); + var end = begin + vm.itemsPerPage; + vm.pagedItems = vm.filteredItems.slice(begin, end); + }; + + /** + * pageChanged + */ + vm.pageChanged = function () { + vm.figureOutItemsToDisplay(); + }; } }()); diff --git a/modules/traces/client/less/traces.less b/modules/traces/client/less/traces.less index 97c8da04..6ffea6d5 100644 --- a/modules/traces/client/less/traces.less +++ b/modules/traces/client/less/traces.less @@ -1,2 +1,17 @@ @import (reference) "../../../core/client/less/mt-var.less"; +json-tree { + json-node.expandable { + &::before { + content: '\25b6'; + position: absolute; + left: 0px; + top: 2px; + font-size: 10px; + transition: transform .1s ease; + } + } + .branch-preview { + max-width: 80%; + } +} \ No newline at end of file diff --git a/modules/traces/client/views/admin/list.client.view.html b/modules/traces/client/views/admin/list.client.view.html index 8581f866..8f0534f9 100644 --- a/modules/traces/client/views/admin/list.client.view.html +++ b/modules/traces/client/views/admin/list.client.view.html @@ -1,5 +1,65 @@ -
-
-

Traces List

+
+
+
+ +
+
+

{{'ADMIN_TRACES_LIST' | translate}}

+
+
+ +
+
+ +
+
+
+
    +
+
+
+
+ +
+

{{ 'MESSAGES_IS_EMPTY' | translate }}

+
+
+ + + + + + + + + + + + + + + + + + + + +
{{ 'TRACES_FIELDS.USERNAME' | translate}}{{ 'TRACES_FIELDS.CONTENT' | translate}}{{ 'TRACES_FIELDS.TYPE' | translate}}{{ 'TRACES_FIELDS.CREATEDAT' | translate}}
{{m.user.displayName}}{{m.content.action}}{{m.createdat | date:'yyyy-MM-dd HH:mm:ss'}}
+
+ +
+
    +
+
+
diff --git a/modules/traces/server/controllers/traces.server.controller.js b/modules/traces/server/controllers/traces.server.controller.js index c79d4ccf..9af0bda4 100644 --- a/modules/traces/server/controllers/traces.server.controller.js +++ b/modules/traces/server/controllers/traces.server.controller.js @@ -19,7 +19,12 @@ var path = require('path'), exports.list = function (req, res) { Trace.find({}) .sort('-createdat') - .populate('user', 'displayName profileImageURL uploaded downloaded') + .populate('user', 'username displayName') + .populate({ + path: 'content.user', + select: 'username displayName', + model: 'User' + }) .exec(function (err, traces) { if (err) { return res.status(422).send({ diff --git a/modules/users/server/controllers/admin.server.controller.js b/modules/users/server/controllers/admin.server.controller.js index cd875c1b..bb59e317 100644 --- a/modules/users/server/controllers/admin.server.controller.js +++ b/modules/users/server/controllers/admin.server.controller.js @@ -41,7 +41,7 @@ exports.update = function (req, res) { //create trace log traceLogCreate(req, traceConfig.action.AdminUserEdit, { - to: user._id, + user: user._id, firstName: req.body.firstName, lastName: req.body.lastName, roles: req.body.roles @@ -66,7 +66,7 @@ exports.delete = function (req, res) { //create trace log traceLogCreate(req, traceConfig.action.AdminUserDelete, { - to: user._id + user: user._id }); }); }; @@ -107,7 +107,7 @@ exports.updateUserRole = function (req, res) { //create trace log traceLogCreate(req, traceConfig.action.AdminUpdateUserRole, { - to: user._id, + user: user._id, role: req.body.userRole }); } @@ -135,7 +135,7 @@ exports.updateUserStatus = function (req, res) { //create trace log traceLogCreate(req, traceConfig.action.AdminUpdateUserStatus, { - to: user._id, + user: user._id, status: req.body.userStatus }); } @@ -165,7 +165,7 @@ exports.updateUserScore = function (req, res) { //create trace log traceLogCreate(req, traceConfig.action.AdminUpdateUserScore, { - to: user._id, + user: user._id, score: req.body.userScore }); }); @@ -194,7 +194,7 @@ exports.updateUserUploaded = function (req, res) { //create trace log traceLogCreate(req, traceConfig.action.AdminUpdateUserUploaded, { - to: user._id, + user: user._id, uploaded: req.body.userUploaded }); }); @@ -223,7 +223,7 @@ exports.updateUserDownloaded = function (req, res) { //create trace log traceLogCreate(req, traceConfig.action.AdminUpdateUserDownloaded, { - to: user._id, + user: user._id, downloaded: req.body.userDownloaded }); }); diff --git a/modules/users/server/controllers/users/users.authentication.server.controller.js b/modules/users/server/controllers/users/users.authentication.server.controller.js index 790accc3..2bbe97cd 100644 --- a/modules/users/server/controllers/users/users.authentication.server.controller.js +++ b/modules/users/server/controllers/users/users.authentication.server.controller.js @@ -59,7 +59,7 @@ exports.signup = function (req, res) { //create trace log traceLogCreate(req, traceConfig.action.userSignUp, { - to: user._id, + user: user._id, inviteToken: req.body.inviteToken || null, ip: req.headers['x-forwarded-for'] || req.connection.remoteAddress }); diff --git a/modules/users/server/controllers/users/users.password.server.controller.js b/modules/users/server/controllers/users/users.password.server.controller.js index 8a6cd7f1..b51589ff 100644 --- a/modules/users/server/controllers/users/users.password.server.controller.js +++ b/modules/users/server/controllers/users/users.password.server.controller.js @@ -180,7 +180,7 @@ exports.reset = function (req, res, next) { //create trace log traceLogCreate(req, traceConfig.action.userPasswordReset, { - to: user._id, + user: user._id, newPassword: passwordDetails.newPassword });