diff --git a/client/coral-admin/src/actions/community.js b/client/coral-admin/src/actions/community.js index 7a4112f8b..057a3bde0 100644 --- a/client/coral-admin/src/actions/community.js +++ b/client/coral-admin/src/actions/community.js @@ -6,13 +6,15 @@ import { FETCH_COMMENTERS_FAILURE, SORT_UPDATE, COMMENTERS_NEW_PAGE, - SET_ROLE + SET_ROLE, + SET_STATUS } from '../constants/community'; import {base, getInit, handleResp} from '../helpers/response'; export const fetchCommenters = (query = {}) => dispatch => { dispatch(requestFetchCommenters()); + console.log('DEBUG ', query); fetch(`${base}/user?${qs.stringify(query)}`, getInit('GET')) .then(handleResp) .then(({result, page, count, limit, totalPages}) => @@ -47,3 +49,10 @@ export const setRole = (id, role) => dispatch => { return dispatch({type: SET_ROLE, id, role}); }); }; + +export const setStatus = (id, status) => dispatch => { + return fetch(`${base}/user/${id}/status`, getInit('POST', {status})) + .then(() => { + return dispatch({type: SET_STATUS, id, status}); + }); +}; diff --git a/client/coral-admin/src/actions/users.js b/client/coral-admin/src/actions/users.js new file mode 100644 index 000000000..dfac32bbb --- /dev/null +++ b/client/coral-admin/src/actions/users.js @@ -0,0 +1,8 @@ +/** + * Action disptacher related to users + */ + +export const updateUserStatus = (status, id) => (dispatch, getState) => { + dispatch({type: 'USER_STATUS_UPDATE', id, status}); + dispatch({type: 'USER_UPDATE', user: getState().comments.get('byId').get(id)}); +}; diff --git a/client/coral-admin/src/components/CommentList.js b/client/coral-admin/src/components/CommentList.js index 819de62b0..e965dc38b 100644 --- a/client/coral-admin/src/components/CommentList.js +++ b/client/coral-admin/src/components/CommentList.js @@ -9,7 +9,8 @@ import Comment from 'components/Comment'; const actions = { 'reject': {status: 'rejected', icon: 'close', key: 'r'}, 'approve': {status: 'accepted', icon: 'done', key: 't'}, - 'flag': {status: 'flagged', icon: 'flag', filter: 'Untouched'} + 'flag': {status: 'flagged', icon: 'flag', filter: 'Untouched'}, + 'ban': {status: 'banned', icon: ''} }; // Renders a comment list and allow performing actions diff --git a/client/coral-admin/src/constants/community.js b/client/coral-admin/src/constants/community.js index 2ea77ea77..f1a547fc5 100644 --- a/client/coral-admin/src/constants/community.js +++ b/client/coral-admin/src/constants/community.js @@ -4,3 +4,4 @@ export const FETCH_COMMENTERS_FAILURE = 'FETCH_COMMENTERS_FAILURE'; export const SORT_UPDATE = 'SORT_UPDATE'; export const COMMENTERS_NEW_PAGE = 'COMMENTERS_NEW_PAGE'; export const SET_ROLE = 'SET_ROLE'; +export const SET_STATUS = 'SET_STATUS'; diff --git a/client/coral-admin/src/containers/Community/Community.css b/client/coral-admin/src/containers/Community/Community.css index 63148da7e..6543cbf51 100644 --- a/client/coral-admin/src/containers/Community/Community.css +++ b/client/coral-admin/src/containers/Community/Community.css @@ -15,8 +15,13 @@ .searchBox { /*border: 1px solid rgba(0,0,0,.12);*/ background: white; + width: 100px; +} + +.statusBox { + width: 100px; } .email { display: block; -} \ No newline at end of file +} diff --git a/client/coral-admin/src/containers/Community/Community.js b/client/coral-admin/src/containers/Community/Community.js index d88a0a4a0..0a15721aa 100644 --- a/client/coral-admin/src/containers/Community/Community.js +++ b/client/coral-admin/src/containers/Community/Community.js @@ -31,10 +31,11 @@ const tableHeaders = [ ]; const Community = ({isFetching, commenters, ...props}) => { + console.log(commenters); const hasResults = !isFetching && !!commenters.length; return ( - +