diff --git a/config/env/torrents.js b/config/env/torrents.js index 25a8c0a4..a3221ca3 100644 --- a/config/env/torrents.js +++ b/config/env/torrents.js @@ -259,10 +259,11 @@ module.exports = { type: { name: 'TYPE', value: [ - {name: 'USER', value: 'user'}, - {name: 'SYSTEM', value: 'system'}, - {name: 'ADVERT', value: 'advert'}, - {name: 'NOTICE', value: 'notice'} + {name: 'USER', value: 'user', role: 'user'}, + {name: 'SERVER', value: 'server', role: 'server'}, + {name: 'SYSTEM', value: 'system', role: 'admin'}, + {name: 'ADVERT', value: 'advert', role: 'admin'}, + {name: 'NOTICE', value: 'notice', role: 'admin'} ] }, checkUnreadInterval: 60 * 1000 * 2 diff --git a/modules/core/client/app/trans-string-en.js b/modules/core/client/app/trans-string-en.js index 4a16e68a..dd211a14 100644 --- a/modules/core/client/app/trans-string-en.js +++ b/modules/core/client/app/trans-string-en.js @@ -854,6 +854,7 @@ MESSAGE_TYPE_SYSTEM: 'System message', MESSAGE_TYPE_ADVERT: 'Advert message', MESSAGE_TYPE_NOTICE: 'Notice message', + MESSAGE_TYPE_SERVER: 'Server message', MESSAGE_SEND_SUCCESSFULLY: 'Message send successfully', MESSAGE_SEND_FAILED: 'Message send failed', MESSAGE_DELETED_SUCCESSFULLY: 'Message deleted successfully', diff --git a/modules/core/client/app/trans-string-zh.js b/modules/core/client/app/trans-string-zh.js index 7f2958cc..919cd5a8 100644 --- a/modules/core/client/app/trans-string-zh.js +++ b/modules/core/client/app/trans-string-zh.js @@ -854,6 +854,7 @@ MESSAGE_TYPE_SYSTEM: '系统消息', MESSAGE_TYPE_ADVERT: '广告推送', MESSAGE_TYPE_NOTICE: '系统通知', + MESSAGE_TYPE_SERVER: '服务器通知', MESSAGE_SEND_SUCCESSFULLY: '消息发送成功', MESSAGE_SEND_FAILED: '消息发送失败', MESSAGE_DELETED_SUCCESSFULLY: '消息删除成功', diff --git a/modules/core/client/controllers/header.client.controller.js b/modules/core/client/controllers/header.client.controller.js index e8ae9c98..bc8791d5 100644 --- a/modules/core/client/controllers/header.client.controller.js +++ b/modules/core/client/controllers/header.client.controller.js @@ -117,7 +117,7 @@ vm.getCountUnread = function () { if (Authentication.user) { MessagesService.countUnread(function (data) { - vm.unreadCount = data.countFrom + data.countTo + data.countAdmin; + vm.unreadCount = data.countAll; }); } }; diff --git a/modules/messages/client/controllers/messages.client.controller.js b/modules/messages/client/controllers/messages.client.controller.js index 079c3ca1..938c0dc7 100644 --- a/modules/messages/client/controllers/messages.client.controller.js +++ b/modules/messages/client/controllers/messages.client.controller.js @@ -6,16 +6,21 @@ .controller('MessageController', MessageController); MessageController.$inject = ['$scope', '$state', '$translate', '$timeout', 'Authentication', '$filter', 'NotifycationService', '$stateParams', 'MessagesService', - 'MeanTorrentConfig', 'ModalConfirmService', 'marked', '$rootScope', 'AdminMessagesService', 'SideOverlay', '$interval']; + 'MeanTorrentConfig', 'ModalConfirmService', 'marked', '$rootScope', 'AdminMessagesService', 'SideOverlay', '$interval', 'uibButtonConfig', + 'DebugConsoleService']; function MessageController($scope, $state, $translate, $timeout, Authentication, $filter, NotifycationService, $stateParams, MessagesService, - MeanTorrentConfig, ModalConfirmService, marked, $rootScope, AdminMessagesService, SideOverlay, $interval) { + MeanTorrentConfig, ModalConfirmService, marked, $rootScope, AdminMessagesService, SideOverlay, $interval, uibButtonConfig, + mtDebug) { var vm = this; vm.messageConfig = MeanTorrentConfig.meanTorrentConfig.messages; vm.inputLengthConfig = MeanTorrentConfig.meanTorrentConfig.inputLength; vm.user = Authentication.user; vm.messageFields = {}; vm.deleteList = []; + vm.messageType = 'user'; + + uibButtonConfig.activeClass = 'btn-success'; /** * user-unread-count-changed @@ -105,6 +110,7 @@ */ vm.figureOutItemsToDisplay = function () { vm.filteredItems = $filter('filter')(vm.messages, { + type: vm.messageType, $: vm.search }); vm.filteredItems = $filter('orderBy')(vm.filteredItems, ['-updatedat']); @@ -278,11 +284,38 @@ vm.getCountUnread = function () { if (Authentication.user) { MessagesService.countUnread(function (data) { - vm.unreadCount = data.countFrom + data.countTo + data.countAdmin; + mtDebug.info(data); + vm.unreadCountData = data; }); } }; + /** + * hasNewMessage + * @param t + */ + vm.getNewMessageCount = function (t) { + if (vm.unreadCountData) { + switch (t) { + case 'user': + return (vm.unreadCountData.countFrom + vm.unreadCountData.countTo); + break; + case 'server': + return vm.unreadCountData.countServer; + break; + case 'system': + return vm.unreadCountData.countSystem; + break; + case 'advert': + return vm.unreadCountData.countAdvert; + break; + case 'notice': + return vm.unreadCountData.countNotice; + break; + } + } + }; + /** * isUnread * @param m diff --git a/modules/messages/client/less/message.less b/modules/messages/client/less/message.less index 2f01444b..58e34b77 100644 --- a/modules/messages/client/less/message.less +++ b/modules/messages/client/less/message.less @@ -7,6 +7,26 @@ .pagination-div-top { border-bottom: 2px solid lighten(@gray-base, 85%) } + .message-type-group { + position: relative; + .btn { + text-shadow: none !important; + } + .message-dot { + color: #fff; + font-size: 10px; + font-family: serif; + padding: 0 5px; + border: solid 1px #fff; + border-radius: 3px; + } + .btn-default .message-dot { + background-color: #5bc0de; + } + .btn-success .message-dot { + background-color: transparent !important; + } + } } .message-textarea { diff --git a/modules/messages/client/views/admin-send.client.view.html b/modules/messages/client/views/admin-send.client.view.html index 49c00ea7..b6f6d522 100644 --- a/modules/messages/client/views/admin-send.client.view.html +++ b/modules/messages/client/views/admin-send.client.view.html @@ -14,7 +14,7 @@