diff --git a/client/coral-admin/src/containers/Community/Community.css b/client/coral-admin/src/containers/Community/Community.css
index 57a6a3c60..958e41ccb 100644
--- a/client/coral-admin/src/containers/Community/Community.css
+++ b/client/coral-admin/src/containers/Community/Community.css
@@ -320,3 +320,7 @@
.flaggedByLabel {
font-weight: bold;
}
+
+.flaggedReasons {
+ padding-top: 15px;
+}
diff --git a/client/coral-admin/src/containers/Community/components/User.js b/client/coral-admin/src/containers/Community/components/User.js
index 87a786099..4cbbe8596 100644
--- a/client/coral-admin/src/containers/Community/components/User.js
+++ b/client/coral-admin/src/containers/Community/components/User.js
@@ -45,15 +45,28 @@ const User = props => {
)}
- {user.actions.map(
- (action, i) => {
- return
- {action.id}
- {action.reason}
- {action.user && action.user.username}
- ;
- }
- )}
+ { user.action_summaries.map(
+ (action_sum, i ) => {
+ return
+
+ {lang.t(`community.${action_sum.reason}`)} ({action_sum.count})
+
+ {user.actions.map(
+
+ // find the action by action_sum.reason
+ (action, j) => {
+ if (action.reason === action_sum.reason) {
+ return
+ {action.user && action.user.username}: {action.message ? action.message : 'n/a'}
+
;
+ }
+ return null;
+ }
+ )}
+
;
+ }
+ )}
+
diff --git a/client/coral-admin/src/graphql/queries/modUserFlaggedQuery.graphql b/client/coral-admin/src/graphql/queries/modUserFlaggedQuery.graphql
index 1e6a6e53b..98f2191eb 100644
--- a/client/coral-admin/src/graphql/queries/modUserFlaggedQuery.graphql
+++ b/client/coral-admin/src/graphql/queries/modUserFlaggedQuery.graphql
@@ -9,14 +9,18 @@ query Users ($n: ACTION_TYPE) {
created_at
... on FlagAction {
reason
- }
- user {
- username
+ message
+ user {
+ id
+ username
+ }
}
}
action_summaries {
count
- reason
+ ... on FlagActionSummary {
+ reason
+ }
}
}
}
diff --git a/graph/resolvers/flag_action.js b/graph/resolvers/flag_action.js
index 44cf7a410..80d1583ad 100644
--- a/graph/resolvers/flag_action.js
+++ b/graph/resolvers/flag_action.js
@@ -1,9 +1,15 @@
const FlagAction = {
// Stored in the metadata, extract and return.
- reason({metadata: {reason}}) {
- return reason;
- }
+ message({metadata: {message}}) {
+ return message;
+ },
+ reason({group_id}) {
+ return group_id;
+ },
+ user({user_id}, _, {loaders: {Users}}) {
+ return Users.getByID.load(user_id);
+ },
};
module.exports = FlagAction;
diff --git a/graph/typeDefs.graphql b/graph/typeDefs.graphql
index 306a6f22a..bfb88c779 100644
--- a/graph/typeDefs.graphql
+++ b/graph/typeDefs.graphql
@@ -31,7 +31,7 @@ type User {
username: String!
# Action summaries against the user.
- action_summaries: [FlagActionSummary]
+ action_summaries: [ActionSummary]
# Actions completed on the parent.
actions: [Action]