diff --git a/modules/issue_tracker/jsx/IssueForm.js b/modules/issue_tracker/jsx/IssueForm.js index 82f48d9ce61..90b7a972617 100644 --- a/modules/issue_tracker/jsx/IssueForm.js +++ b/modules/issue_tracker/jsx/IssueForm.js @@ -153,6 +153,7 @@ class IssueForm extends Component { baseURL={this.props.baseURL} attachments={this.state.issueData['attachments']} userHasPermission={this.props.userHasPermission} + whoami={this.state.issueData.whoami} /> ); @@ -570,7 +571,6 @@ IssueForm.propTypes = { baseURL: PropTypes.string.isRequired, action: PropTypes.string.isRequired, issue: PropTypes.string.isRequired, - whoami: PropTypes.string.isRequired, }; export default IssueForm; diff --git a/modules/issue_tracker/jsx/attachments/attachmentsList.js b/modules/issue_tracker/jsx/attachments/attachmentsList.js index f33652b573f..3b350d3d414 100644 --- a/modules/issue_tracker/jsx/attachments/attachmentsList.js +++ b/modules/issue_tracker/jsx/attachments/attachmentsList.js @@ -100,7 +100,7 @@ class AttachmentsList extends Component { */ displayAttachmentOptions(deleteData, item) { if (this.props.userHasPermission - || this.state.attachments.whoami === item.user) { + || this.props.whoami === item.user) { return (
@@ -244,6 +244,7 @@ AttachmentsList.propTypes = { issue: PropTypes.string.isRequired, baseURL: PropTypes.string.isRequired, attachments: PropTypes.array, + whoami: PropTypes.string.isRequired, }; AttachmentsList.defaultProps = { attachments: [], diff --git a/modules/issue_tracker/php/edit.class.inc b/modules/issue_tracker/php/edit.class.inc index 533b6e3ab4a..448dac4997b 100644 --- a/modules/issue_tracker/php/edit.class.inc +++ b/modules/issue_tracker/php/edit.class.inc @@ -852,7 +852,8 @@ class Edit extends \NDB_Page implements ETagCalculator */ function _hasAccess(\User $user) : bool { - return $user->hasPermission('data_entry'); + return $user->hasPermission('issue_tracker_reporter') + || $user->hasPermission('issue_tracker_developer'); } /**