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')) ];