diff --git a/client/coral-admin/src/containers/ModerationQueue/components/Comment.js b/client/coral-admin/src/containers/ModerationQueue/components/Comment.js
index 0f9202a51..ae70b303a 100644
--- a/client/coral-admin/src/containers/ModerationQueue/components/Comment.js
+++ b/client/coral-admin/src/containers/ModerationQueue/components/Comment.js
@@ -7,14 +7,17 @@ import {Link} from 'react-router';
import styles from './styles.css';
import {Icon} from 'coral-ui';
import ActionButton from '../../../components/ActionButton';
+import FlagBox from './FlagBox';
+
const linkify = new Linkify();
-const lang = new I18n(translations);
import I18n from 'coral-framework/modules/i18n/i18n';
import translations from 'coral-admin/src/translations.json';
+const lang = new I18n(translations);
const Comment = ({actions = [], ...props}) => {
const links = linkify.getMatches(props.comment.body);
+ const actionSumaries = props.comment.action_summaries;
return (
@@ -24,7 +27,7 @@ const Comment = ({actions = [], ...props}) => {
{timeago().format(props.comment.created_at || (Date.now() - props.index * 60 * 1000), lang.getLocale().replace('-', '_'))}
- {props.flagged ? {lang.t('comment.flagged')}
: null}
+ {props.comment.action_summaries ? {lang.t('comment.flagged')}
: null}
{links ? Contains Link : null}
@@ -59,11 +62,11 @@ const Comment = ({actions = [], ...props}) => {
+ {actionSumaries && }
{/* */}
{/* View context*/}
{/* */}
-
);
};
diff --git a/client/coral-admin/src/containers/ModerationQueue/components/FlagBox.js b/client/coral-admin/src/containers/ModerationQueue/components/FlagBox.js
new file mode 100644
index 000000000..bf5a34f29
--- /dev/null
+++ b/client/coral-admin/src/containers/ModerationQueue/components/FlagBox.js
@@ -0,0 +1,19 @@
+import React, {PropTypes} from 'react';
+import styles from './styles.css';
+
+const FlagBox = props => (
+
+
Flags:
+
+ {props.actionSumaries.map((action, i) =>
+ - {!action.reason ? No reason provided : action.reason} ({action.count})
+ )}
+
+
+);
+
+FlagBox.propTypes = {
+ actionSumaries: PropTypes.array.isRequired
+};
+
+export default FlagBox;
diff --git a/client/coral-admin/src/containers/ModerationQueue/components/styles.css b/client/coral-admin/src/containers/ModerationQueue/components/styles.css
index 0be87efd7..658c9a059 100644
--- a/client/coral-admin/src/containers/ModerationQueue/components/styles.css
+++ b/client/coral-admin/src/containers/ModerationQueue/components/styles.css
@@ -317,4 +317,11 @@ span {
}
}
-
+.flagBox {
+ border-top: 1px solid rgba(66, 66, 66, 0.12);
+ h3 {
+ font-size: 14px;
+ margin: 0;
+ font-weight: 500;
+ }
+}
diff --git a/client/coral-admin/src/graphql/queries/modQueueQuery.graphql b/client/coral-admin/src/graphql/queries/modQueueQuery.graphql
index 38ce9af23..9eba7a971 100644
--- a/client/coral-admin/src/graphql/queries/modQueueQuery.graphql
+++ b/client/coral-admin/src/graphql/queries/modQueueQuery.graphql
@@ -18,6 +18,12 @@ query ModQueue ($asset_id: ID!) {
asset_id: $asset_id
}) {
...commentView
+ action_summaries {
+ count
+ ... on FlagActionSummary {
+ reason
+ }
+ }
}
rejected: comments(query: {
statuses: [REJECTED],
diff --git a/graph/resolvers/root_query.js b/graph/resolvers/root_query.js
index 8aa14d5c6..ec3ac5b08 100644
--- a/graph/resolvers/root_query.js
+++ b/graph/resolvers/root_query.js
@@ -29,12 +29,7 @@ const RootQuery = {
if (user != null && user.hasRoles('ADMIN') && action_type) {
return Actions.getByTypes({action_type, item_type: 'COMMENTS'})
- .then((actions) => {
-
- // Map the actions from the items referenced byt this query. The actions
- // returned by this query are explicitly going to be distinct by their
- // `item_id`'s.
- let ids = actions.map((action) => action.item_id);
+ .then((ids) => {
// Perform the query using the available resolver.
return Comments.getByQuery({ids, statuses, asset_id, parent_id, limit, cursor, sort});