From 0ae2919defd68226a056f4c2378b58981d80dbdf Mon Sep 17 00:00:00 2001 From: Belen Curcio Date: Wed, 13 Sep 2017 13:42:32 -0300 Subject: [PATCH] Perms and excludeIf --- perms/mutationReducer.js | 3 +++ .../client/containers/BanUserAction.js | 5 +++-- .../client/containers/ModerationActions.js | 8 ++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/perms/mutationReducer.js b/perms/mutationReducer.js index 2e8718ed1..6b0bd0dde 100644 --- a/perms/mutationReducer.js +++ b/perms/mutationReducer.js @@ -10,13 +10,16 @@ module.exports = (user, perm) => { case types.EDIT_COMMENT: return true; case types.ADD_COMMENT_TAG: + return check(user, ['ADMIN', 'MODERATOR', 'STAFF']); case types.REMOVE_COMMENT_TAG: return check(user, ['ADMIN', 'MODERATOR', 'STAFF']); case types.UPDATE_USER_ROLES: case types.REJECT_USERNAME: case types.SET_USER_STATUS: + return check(user, ['ADMIN', 'MODERATOR']); case types.SUSPEND_USER: case types.SET_COMMENT_STATUS: + return check(user, ['ADMIN', 'MODERATOR']); case types.UPDATE_CONFIG: case types.UPDATE_SETTINGS: case types.UPDATE_WORDLIST: diff --git a/plugins/talk-plugin-moderation-actions/client/containers/BanUserAction.js b/plugins/talk-plugin-moderation-actions/client/containers/BanUserAction.js index c6f543bf6..ab1b9359a 100644 --- a/plugins/talk-plugin-moderation-actions/client/containers/BanUserAction.js +++ b/plugins/talk-plugin-moderation-actions/client/containers/BanUserAction.js @@ -4,7 +4,7 @@ import {bindActionCreators} from 'redux'; import {getErrorMessages} from 'plugin-api/beta/client/utils'; import {notify} from 'plugin-api/beta/client/actions/notification'; import BanUserAction from '../components/BanUserAction'; -import {connect, withSetCommentStatus, withSetUserStatus} from 'plugin-api/beta/client/hocs'; +import {connect, withSetCommentStatus, withSetUserStatus, excludeIf} from 'plugin-api/beta/client/hocs'; class BanUserActionContainer extends React.Component { @@ -53,7 +53,8 @@ const mapDispatchToProps = (dispatch) => const enhance = compose( connect(null, mapDispatchToProps), withSetCommentStatus, - withSetUserStatus + withSetUserStatus, + excludeIf(({root: {me}, comment}) => !me || me.id === comment.user.id), ); export default enhance(BanUserActionContainer); diff --git a/plugins/talk-plugin-moderation-actions/client/containers/ModerationActions.js b/plugins/talk-plugin-moderation-actions/client/containers/ModerationActions.js index 1489135c0..7a089463f 100644 --- a/plugins/talk-plugin-moderation-actions/client/containers/ModerationActions.js +++ b/plugins/talk-plugin-moderation-actions/client/containers/ModerationActions.js @@ -42,6 +42,7 @@ class ModerationActionsContainer extends React.Component { } render() { + console.log(this.props.root, this.props.comment) return const enhance = compose( connect(mapStateToProps, mapDispatchToProps), withFragments({ + root: gql` + fragment TalkModerationActions_root on RootQuery { + me { + id + } + }` + , asset: gql` fragment TalkModerationActions_asset on Asset { id