Fixes issue where an admin could not delete a root post in the RHS
Этот коммит содержится в:
@@ -38,7 +38,9 @@ export default class RhsRootPost extends React.Component {
|
|||||||
}
|
}
|
||||||
render() {
|
render() {
|
||||||
var post = this.props.post;
|
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 timestamp = UserStore.getProfile(post.user_id).update_at;
|
||||||
var channel = ChannelStore.get(post.channel_id);
|
var channel = ChannelStore.get(post.channel_id);
|
||||||
|
|
||||||
@@ -61,11 +63,54 @@ export default class RhsRootPost extends React.Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var ownerOptions;
|
var dropdownContents = [];
|
||||||
|
|
||||||
if (isOwner) {
|
if (isOwner) {
|
||||||
ownerOptions = (
|
dropdownContents.push(
|
||||||
<div>
|
<li
|
||||||
<a href='#'
|
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'
|
className='post__dropdown dropdown-toggle'
|
||||||
type='button'
|
type='button'
|
||||||
data-toggle='dropdown'
|
data-toggle='dropdown'
|
||||||
@@ -75,30 +120,7 @@ export default class RhsRootPost extends React.Component {
|
|||||||
className='dropdown-menu'
|
className='dropdown-menu'
|
||||||
role='menu'
|
role='menu'
|
||||||
>
|
>
|
||||||
<li role='presentation'>
|
{dropdownContents}
|
||||||
<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>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
@@ -166,7 +188,7 @@ export default class RhsRootPost extends React.Component {
|
|||||||
</li>
|
</li>
|
||||||
<li className='col col__reply'>
|
<li className='col col__reply'>
|
||||||
<div className='dropdown'>
|
<div className='dropdown'>
|
||||||
{ownerOptions}
|
{rootOptions}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user