@@ -238,36 +238,34 @@ export class CollectionHeader extends React.Component<IProps, IState> {
238
238
return < Navigate to = { redirect } /> ;
239
239
}
240
240
241
- const canSign = canSignNamespace ( this . context , this . state . namespace ) ;
242
241
const { hasPermission } = this . context ;
243
242
const hasObjectPermission = ( permission , namespace ) =>
244
243
namespace ?. related_fields ?. my_permissions ?. includes ?.( permission ) ;
245
244
246
- const canDeleteCommunityCollection =
247
- IS_COMMUNITY &&
248
- hasObjectPermission ( 'galaxy.change_namespace' , this . state . namespace ) ;
245
+ const canDeleteCollection =
246
+ hasPermission ( 'ansible.delete_collection' ) ||
247
+ ( IS_COMMUNITY &&
248
+ hasObjectPermission ( 'galaxy.change_namespace' , this . state . namespace ) ) ;
249
+ const canSign = canSignNamespace ( this . context , this . state . namespace ) ;
250
+ const canUpload = hasPermission ( 'galaxy.upload_to_namespace' ) ;
251
+ const canDeprecate = canUpload ;
249
252
250
253
const dropdownItems = [
251
254
DeleteCollectionUtils . deleteMenuOption ( {
252
- canDeleteCollection :
253
- hasPermission ( 'ansible.delete_collection' ) ||
254
- canDeleteCommunityCollection ,
255
+ canDeleteCollection,
255
256
noDependencies,
256
257
onClick : ( ) => this . openDeleteModalWithConfirm ( null , true ) ,
257
258
deleteAll : true ,
258
259
display_repositories : display_repositories ,
259
260
} ) ,
260
261
DeleteCollectionUtils . deleteMenuOption ( {
261
- canDeleteCollection :
262
- hasPermission ( 'ansible.delete_collection' ) ||
263
- canDeleteCommunityCollection ,
262
+ canDeleteCollection,
264
263
noDependencies,
265
264
onClick : ( ) => this . openDeleteModalWithConfirm ( null , false ) ,
266
265
deleteAll : false ,
267
266
display_repositories : display_repositories ,
268
267
} ) ,
269
- ( hasPermission ( 'ansible.delete_collection' ) ||
270
- canDeleteCommunityCollection ) && (
268
+ canDeleteCollection && (
271
269
< DropdownItem
272
270
data-cy = 'delete-collection-version'
273
271
key = 'delete-collection-version'
@@ -276,17 +274,15 @@ export class CollectionHeader extends React.Component<IProps, IState> {
276
274
{ t `Delete version ${ version } from system` }
277
275
</ DropdownItem >
278
276
) ,
279
- ( hasPermission ( 'ansible.delete_collection' ) ||
280
- canDeleteCommunityCollection ) &&
281
- display_repositories && (
282
- < DropdownItem
283
- data-cy = 'remove-collection-version'
284
- key = 'remove-collection-version'
285
- onClick = { ( ) => this . openDeleteModalWithConfirm ( version , false ) }
286
- >
287
- { t `Delete version ${ version } from repository` }
288
- </ DropdownItem >
289
- ) ,
277
+ canDeleteCollection && display_repositories && (
278
+ < DropdownItem
279
+ data-cy = 'remove-collection-version'
280
+ key = 'remove-collection-version'
281
+ onClick = { ( ) => this . openDeleteModalWithConfirm ( version , false ) }
282
+ >
283
+ { t `Delete version ${ version } from repository` }
284
+ </ DropdownItem >
285
+ ) ,
290
286
canSign && ! can_upload_signatures && (
291
287
< DropdownItem
292
288
key = 'sign-all'
@@ -314,21 +310,23 @@ export class CollectionHeader extends React.Component<IProps, IState> {
314
310
{ t `Sign version ${ version } ` }
315
311
</ DropdownItem >
316
312
) ,
317
- hasPermission ( 'galaxy.upload_to_namespace' ) && (
313
+ canDeprecate && (
318
314
< DropdownItem
319
315
onClick = { ( ) => this . deprecate ( collection ) }
320
316
key = 'deprecate'
321
317
>
322
318
{ collection . is_deprecated ? t `Undeprecate` : t `Deprecate` }
323
319
</ DropdownItem >
324
320
) ,
325
- < DropdownItem
326
- key = 'upload-collection-version'
327
- onClick = { ( ) => this . checkUploadPrivilleges ( collection ) }
328
- data-cy = 'upload-collection-version-dropdown'
329
- >
330
- { t `Upload new version` }
331
- </ DropdownItem > ,
321
+ canUpload && (
322
+ < DropdownItem
323
+ key = 'upload-collection-version'
324
+ onClick = { ( ) => this . checkUploadPrivilleges ( collection ) }
325
+ data-cy = 'upload-collection-version-dropdown'
326
+ >
327
+ { t `Upload new version` }
328
+ </ DropdownItem >
329
+ ) ,
332
330
display_repositories && (
333
331
< DropdownItem
334
332
key = 'copy-collection-version-to-repository-dropdown'
0 commit comments