diff options
author | Christopher Speller <crspeller@gmail.com> | 2015-11-24 08:59:02 -0500 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2015-11-24 08:59:02 -0500 |
commit | 4020c37b53c1a1035cec1124a91235bd3e481081 (patch) | |
tree | e6cbb7dafe55f7036f06bf826a2f8371ae5f58d1 | |
parent | 9c6c421ced509c98013f1458492eda74492634f7 (diff) | |
parent | 4246d627c23e708b64a4b7f28384c1e93f35ea73 (diff) | |
download | chat-4020c37b53c1a1035cec1124a91235bd3e481081.tar.gz chat-4020c37b53c1a1035cec1124a91235bd3e481081.tar.bz2 chat-4020c37b53c1a1035cec1124a91235bd3e481081.zip |
Merge pull request #1467 from rgarmsen2295/plt-1088
PLT-1088 Fixes issue where an admin could not delete a root post in the RHS
-rw-r--r-- | web/react/components/rhs_root_post.jsx | 82 |
1 files changed, 52 insertions, 30 deletions
diff --git a/web/react/components/rhs_root_post.jsx b/web/react/components/rhs_root_post.jsx index 8142888ba..3d3d9e13f 100644 --- a/web/react/components/rhs_root_post.jsx +++ b/web/react/components/rhs_root_post.jsx @@ -38,7 +38,9 @@ export default class RhsRootPost extends React.Component { } render() { var post = this.props.post; - var isOwner = UserStore.getCurrentId() === post.user_id; + var currentUser = UserStore.getCurrentUser(); + var isOwner = currentUser.id === post.user_id; + var isAdmin = utils.isAdmin(currentUser.roles); var timestamp = UserStore.getProfile(post.user_id).update_at; var channel = ChannelStore.get(post.channel_id); @@ -61,11 +63,54 @@ export default class RhsRootPost extends React.Component { } } - var ownerOptions; + var dropdownContents = []; + if (isOwner) { - ownerOptions = ( - <div> - <a href='#' + dropdownContents.push( + <li + key='rhs-root-edit' + role='presentation' + > + <a + href='#' + role='menuitem' + data-toggle='modal' + data-target='#edit_post' + data-refocusid='#reply_textbox' + data-title={type} + data-message={post.message} + data-postid={post.id} + data-channelid={post.channel_id} + > + {'Edit'} + </a> + </li> + ); + } + + if (isOwner || isAdmin) { + dropdownContents.push( + <li + key='rhs-root-delete' + role='presentation' + > + <a + href='#' + role='menuitem' + onClick={() => EventHelpers.showDeletePostModal(post, this.props.commentCount)} + > + {'Delete'} + </a> + </li> + ); + } + + var rootOptions = ''; + if (dropdownContents.length > 0) { + rootOptions = ( + <div className='dropdown'> + <a + href='#' className='post__dropdown dropdown-toggle' type='button' data-toggle='dropdown' @@ -75,30 +120,7 @@ export default class RhsRootPost extends React.Component { className='dropdown-menu' role='menu' > - <li role='presentation'> - <a - href='#' - role='menuitem' - data-toggle='modal' - data-target='#edit_post' - data-refocusid='#reply_textbox' - data-title={type} - data-message={post.message} - data-postid={post.id} - data-channelid={post.channel_id} - > - {'Edit'} - </a> - </li> - <li role='presentation'> - <a - href='#' - role='menuitem' - onClick={() => EventHelpers.showDeletePostModal(post, this.props.commentCount)} - > - {'Delete'} - </a> - </li> + {dropdownContents} </ul> </div> ); @@ -166,7 +188,7 @@ export default class RhsRootPost extends React.Component { </li> <li className='col col__reply'> <div className='dropdown'> - {ownerOptions} + {rootOptions} </div> </li> </ul> |