Skip to content

Commit da8649a

Browse files
authored
Merge pull request #3926 from rashmi73/issue_3858
issue #3858 fix
2 parents 5df03aa + 090f66d commit da8649a

File tree

5 files changed

+32
-6
lines changed

5 files changed

+32
-6
lines changed

docs/permissions.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,17 @@ <h2>Project Plan</h2>
4848
<span class="badge badge-success" title="Allowed Topcoder Role">Connect Admin</span>
4949
</div>
5050
</div>
51+
<div class="row border-top">
52+
<div class="col py-2">
53+
Manage asset libraries files and links
54+
<div><small><code>MANAGE_NOT_OWN_ATTACHEMENT</code></small></div>
55+
<div class="text-black-50 small-text"></div>
56+
</div>
57+
<div class="col-9 py-2">
58+
<span class="badge badge-success" title="Allowed Topcoder Role">administrator</span>
59+
<span class="badge badge-success" title="Allowed Topcoder Role">Connect Admin</span>
60+
</div>
61+
</div>
5162
<div class="row border-top">
5263
<div class="col py-2">
5364
Manage completed phases

src/components/AssetsLibrary/FilesGridView.jsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ import {
2424
PROJECT_ASSETS_SHARED_WITH_TOPCODER_MEMBERS,
2525
PROJECT_FEED_TYPE_MESSAGES
2626
} from '../../config/constants'
27+
import { hasPermission } from '../../helpers/permissions'
28+
import PERMISSIONS from '../../config/permissions'
2729

2830
let selectedLink
2931
let clearing = false
@@ -251,7 +253,7 @@ const FilesGridView = ({
251253
}
252254
const onEditCancel = () => onEditIntent(-1)
253255
const handleEditClick = () => onEditIntent(idx)
254-
const canEdit = `${link.createdBy}` === `${loggedInUser.userId}`
256+
const canEdit = `${link.createdBy}` === `${loggedInUser.userId}` || (hasPermission(PERMISSIONS.MANAGE_NOT_OWN_ATTACHEMENT))
255257

256258
const changeSubFolder = () => {
257259
onChangeSubFolder(link)

src/components/AssetsLibrary/LinksGridView.jsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ import {
2121
PROJECT_FEED_TYPE_MESSAGES
2222
} from '../../config/constants'
2323
import FilterColHeader from './FilterColHeader'
24+
import { hasPermission } from '../../helpers/permissions'
25+
import PERMISSIONS from '../../config/permissions'
2426

2527
let selectedLink
2628
let clearing = false
2729

2830
const LinksGridView = ({
29-
canDelete,
30-
canEdit,
3131
links,
3232
linkToDelete,
3333
linkToEdit,
@@ -38,6 +38,7 @@ const LinksGridView = ({
3838
onEdit,
3939
onEditIntent,
4040
title,
41+
loggedInUser,
4142
formatModifyDate,
4243
formatFolderTitle,
4344
assetsMembers,
@@ -201,7 +202,7 @@ const LinksGridView = ({
201202
selectedLink = link
202203
}
203204
const owner = _.find(assetsMembers, m => m.userId === _.parseInt(link.createdBy))
204-
205+
const canEdit = `${link.createdBy}` === `${loggedInUser.userId}` || (hasPermission(PERMISSIONS.MANAGE_NOT_OWN_ATTACHEMENT))
205206
if (Array.isArray(link.children) && link.children.length > 0) {
206207
return (
207208
<li styleName="assets-gridview-row" onClick={changeSubFolder} key={'assets-gridview-folder-' + idx}>
@@ -275,10 +276,10 @@ const LinksGridView = ({
275276
</div>
276277
<div styleName="flex-item item-modified">{formatModifyDate(link)}</div>
277278
<div styleName="flex-item item-action">
278-
{(canEdit || canDelete) && (
279+
{(canEdit) && (
279280
<ItemOperations
280281
canEdit={canEdit}
281-
canDelete={canDelete}
282+
canDelete={canEdit}
282283
handleEditClick={handleEditClick}
283284
handleDeleteClick={handleDeleteClick}
284285
/>)}
@@ -299,6 +300,7 @@ LinksGridView.propTypes = {
299300
onChangeSubFolder: PropTypes.func,
300301
onDelete: PropTypes.func,
301302
title: PropTypes.string,
303+
loggedInUser: PropTypes.object.isRequired,
302304
formatModifyDate: PropTypes.func.isRequired,
303305
formatFolderTitle: PropTypes.func.isRequired,
304306
setFilter: PropTypes.func.isRequired,

src/config/permissions.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,16 @@ export default {
160160
],
161161
},
162162

163+
MANAGE_NOT_OWN_ATTACHEMENT: {
164+
_meta: {
165+
group: 'Project Plan',
166+
title: 'Manage asset libraries files and links',
167+
},
168+
topcoderRoles: [
169+
...TOPCODER_ADMINS,
170+
]
171+
},
172+
163173
MANAGE_COMPLETED_PHASE: {
164174
_meta: {
165175
group: 'Project Plan',

src/projects/detail/containers/AssetsInfoContainer.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -896,6 +896,7 @@ class AssetsInfoContainer extends React.Component {
896896
canEdit={canManageLinks}
897897
onDelete={this.removeAttachment}
898898
onEdit={this.onEditLink}
899+
loggedInUser={loggedInUser}
899900
formatModifyDate={formatModifyDate}
900901
formatFolderTitle={formatFolderTitle}
901902
setFilter={this.setFilter}

0 commit comments

Comments
 (0)