From d4035d33ac7a4aa43bcbe2280f878cdfe73cc20e Mon Sep 17 00:00:00 2001 From: Keerthi Humsika Kattamudi Date: Tue, 12 May 2026 15:32:26 -0700 Subject: [PATCH] [BI-2860-v1.3] BI-2860 - Updated the code to limit access to experimental collaborator. --- src/config/AppAbility.ts | 2 +- src/config/ability.ts | 1 + src/views/experiments-and-observations/ExperimentDetails.vue | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/config/AppAbility.ts b/src/config/AppAbility.ts index 590f043a..966824c4 100644 --- a/src/config/AppAbility.ts +++ b/src/config/AppAbility.ts @@ -20,7 +20,7 @@ import {Ability, AbilityClass} from '@casl/ability'; type Actions = 'manage' | 'create' | 'read' | 'update' | 'delete' | 'archive' | 'access' | 'submit'; type Subjects = 'ProgramUser' | 'Location' | 'User' | 'AdminSection' | 'Trait' | 'Import' | 'ProgramConfiguration' | 'Submission' | 'Experiment' | 'Germplasm' | 'Ontology' | 'SampleManagement' | 'ProgramAdministration' | 'JobManagement' | 'Collaborator' | 'BrAPI' - | 'List'; + | 'SubEntityDataset' | 'List'; export type AppAbility = Ability<[Actions, Subjects]>; export const AppAbility = Ability as AbilityClass; \ No newline at end of file diff --git a/src/config/ability.ts b/src/config/ability.ts index 1e08aa26..8a805925 100644 --- a/src/config/ability.ts +++ b/src/config/ability.ts @@ -48,6 +48,7 @@ const rolePermissions: Record = { can('update', 'Trait'); can('archive', 'Trait'); can('create', 'Import'); + can('create', 'SubEntityDataset'); can('delete', 'Experiment'); can('access', 'ProgramConfiguration'); can('create', 'ProgramConfiguration'); diff --git a/src/views/experiments-and-observations/ExperimentDetails.vue b/src/views/experiments-and-observations/ExperimentDetails.vue index b65a8f37..177ddf64 100644 --- a/src/views/experiments-and-observations/ExperimentDetails.vue +++ b/src/views/experiments-and-observations/ExperimentDetails.vue @@ -225,7 +225,7 @@ export default class ExperimentDetails extends ProgramsBase { new ActionMenuItem('experiment-import-file', 'import-file', 'Import file', this.$ability.can('create', 'Import')), new ActionMenuItem('experiment-download-file', 'download-file', 'Download file'), new ActionMenuItem('experiment-add-collaborator', 'add-collaborator', 'Add Collaborator', this.$ability.can('manage', 'Collaborator')), - new ActionMenuItem('experiment-create-sub-entity-dataset', 'create-sub-entity-dataset', 'Create Sub-Entity Dataset'), + new ActionMenuItem('experiment-create-sub-entity-dataset', 'create-sub-entity-dataset', 'Create Sub-Entity Dataset', this.$ability.can('create', 'SubEntityDataset')), new ActionMenuItem('experiment-delete', 'delete-experiment', 'Delete experiment', this.$ability.can('delete', 'Experiment')) ];