{
"next": null,
"previous": null,
"count": 8,
"num_pages": 1,
"current_page": 1,
"start": 0,
"results": [
{
"id": 2,
"name": "ESDC Skills and Competencies",
"description": "Employment and Social Development Canada - Skills and Competencies Taxonomy (EN) 2023 Version 1.0. Licence: Open Government Licence - Canada",
"enabled": true,
"allow_multiple": true,
"allow_free_text": false,
"system_defined": false,
"visible_to_authors": true,
"tags_count": 423,
"orgs": [],
"all_orgs": true,
"user_permissions": {
"oel_tagging.add_taxonomy": true,
"oel_tagging.view_taxonomy": true,
"oel_tagging.change_taxonomy": true,
"oel_tagging.delete_taxonomy": true,
},
},
{
"id": 6,
"name": "FlatTaxonomy",
"description": "A simple, flat taxonomy used by SampleTaxonomyOrg1",
"enabled": true,
"allow_multiple": true,
"allow_free_text": false,
"system_defined": false,
"visible_to_authors": true,
"tags_count": 5000,
"orgs": ["SampleTaxonomyOrg1"],
"all_orgs": false,
},
"user_permissions": {
"oel_tagging.add_taxonomy": true,
"oel_tagging.view_taxonomy": true,
"oel_tagging.change_taxonomy": false,
"oel_tagging.delete_taxonomy": false,
},
...
],
}
"As a content author, I want the UI to show me when I can add/update/delete a taxonomy or tag and when I cannot, rather than waiting for a backend error, so that I can easily manage my taxonomies and tags."
Acceptance Criteria
Update the taxonomy, tag, and object tag REST APIs to return a consistent
user_permissionsrecord with each object returned by the API, e.g.Update the frontend-app-course-authoring UI to use these
user_permissionsto determine whether to show/enable the "Import", "Re-import" and "Delete" menu actions for a given taxonomy.(if done after [Tagging] Rename an individual tag #131 / [Tagging] Add tags to a taxonomy #132) Update the frontend-app-course-authoring UI to use these
user_permissionsto determine whether to show/enable the "Add", "Rename" and "Delete" menu actions for a given tag.Developer notes
oel_tagging.add_taxonomypermission. So in this case, go ahead and show the "Import" button and allow the user to try the import, and let the backend enforce the rule.