diff --git a/common/locales/en/groups.json b/common/locales/en/groups.json
index 4a9e35faef..9e2eca1615 100644
--- a/common/locales/en/groups.json
+++ b/common/locales/en/groups.json
@@ -38,6 +38,7 @@
"joinNewParty": "Join New Party",
"declineInvitation": "Decline Invitation",
"loadingNewParty": "Your party is loading. Please wait...",
+ "systemMessage": "System Message",
"newMsg": "New message in \"<%= name %>\"",
"chat": "Chat",
"sendChat": "Send Chat",
diff --git a/website/client/js/controllers/chatCtrl.js b/website/client/js/controllers/chatCtrl.js
index 891abed5f6..935c12a310 100644
--- a/website/client/js/controllers/chatCtrl.js
+++ b/website/client/js/controllers/chatCtrl.js
@@ -94,13 +94,22 @@ habitrpg.controller('ChatCtrl', ['$scope', 'Groups', 'Chat', 'User', '$http', 'A
} else {
$scope.abuseObject = message;
$scope.groupId = groupId;
- Members.selectMember(message.uuid)
- .then(function () {
+
+ $scope.isSystemMessage = message.uuid === 'system';
+ if (message.uuid === 'system') {
$rootScope.openModal('abuse-flag',{
controller:'MemberModalCtrl',
scope: $scope
});
- });
+ } else {
+ Members.selectMember(message.uuid)
+ .then(function () {
+ $rootScope.openModal('abuse-flag',{
+ controller:'MemberModalCtrl',
+ scope: $scope
+ });
+ });
+ }
}
};
diff --git a/website/server/controllers/api-v3/chat.js b/website/server/controllers/api-v3/chat.js
index 5d79475df5..248867e05e 100644
--- a/website/server/controllers/api-v3/chat.js
+++ b/website/server/controllers/api-v3/chat.js
@@ -217,7 +217,7 @@ api.flagChat = {
let reporterEmailContent = getUserInfo(user, ['email']).email;
- let authorEmailContent = getUserInfo(author, ['email']).email;
+ let authorEmailContent = author ? getUserInfo(author, ['email']).email : 'system';
let groupUrl = getGroupUrl(group);
diff --git a/website/views/options/social/chat-message.jade b/website/views/options/social/chat-message.jade
index 07447b483c..a8ad847d79 100644
--- a/website/views/options/social/chat-message.jade
+++ b/website/views/options/social/chat-message.jade
@@ -31,7 +31,7 @@ mixin chatMessages(inbox)
span(ng-if='#{inbox ? "true" : ":: user.contributor.admin || message.uuid == user.id"}')
a(ng-click='#{inbox? "User.deletePM({params:{id:message.$key}})" : "deleteChatMessage(group, message)"}')
span.glyphicon.glyphicon-trash(tooltip=env.t('delete'))
- span(ng-if=':: user.contributor.admin || (!message.sent && user.flags.communityGuidelinesAccepted && message.uuid != user.id && message.uuid != "system")')
+ span(ng-if=':: user.contributor.admin || (!message.sent && user.flags.communityGuidelinesAccepted && message.uuid != user.id)')
a(ng-click="flagChatMessage(group._id, message)")
span.glyphicon.glyphicon-flag(tooltip="{{message.flags[user._id] ? env.t('abuseAlreadyReported') : env.t('abuseFlag')}}" ng-class='message.flags[user._id] ? "text-danger" : ""')
span
diff --git a/website/views/shared/modals/members.jade b/website/views/shared/modals/members.jade
index c4741156f8..2de1f72d94 100644
--- a/website/views/shared/modals/members.jade
+++ b/website/views/shared/modals/members.jade
@@ -102,7 +102,7 @@ script(type='text/ng-template', id='modals/send-gift.html')
script(type='text/ng-template', id='modals/abuse-flag.html')
.modal-header
- h4!=env.t('abuseFlagModalHeading', {name: "{{profile.profile.name}}"})
+ h4!=env.t('abuseFlagModalHeading', {name: "{{isSystemMessage ? env.t('systemMessage') : profile.profile.name}}"})
.modal-body
blockquote
markdown(text="abuseObject.text")