You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug A — canTagObject hardcoded to false for otherTaxonomies (ContentTagsDrawerHelper.jsx). The can_tag_object field from object_tags was available but unused.
Bug B — The merge useEffect in ContentTagsDrawerHelper.jsx only merged staged tags into fetchedTaxonomies entries. When a taxonomy was in otherTaxonomies (taxonomy list empty), staged tags were discarded and never reached appliedContentTagsTree → "Add" appeared to work but nothing appeared on screen.
Bug C — The tag selector <Select> in ContentTagsCollapsible.jsx was gated only on isEditMode, not on canTagObject. This showed an interactive selector for taxonomies where the user has no permission.
src/content-tags-drawer/ContentTagsDrawerHelper.jsx — use canTagObject from API instead of hardcoding false, and extend the staged-tag merge to cover otherTaxonomies:
// Bug A fix — line ~113: use actual value from object_tags responseotherTaxonomiesList.push({canTagObject: contentTaxonomyTags.canTagObject,// was: false
...
});// Bug B fix — line ~334: add else-if branch so staged tags are merged for otherTaxonomies tooObject.keys(globalStagedContentTags).forEach((taxonomyId)=>{if(mergedTags[taxonomyId]){// existing logic (unchanged)}elseif(mergedOtherTaxonomies[taxonomyId]){conststagedLineages=globalStagedContentTags[taxonomyId].map((t)=>t.lineage.slice(0,-1)).flat();constfetchedTags=mergedOtherTaxonomies[taxonomyId].contentTags.filter((t)=>!stagedLineages.includes(t.value));mergedOtherTaxonomies[taxonomyId].contentTags=[
...fetchedTags,
...globalStagedContentTags[taxonomyId],];}});
src/content-tags-drawer/ContentTagsCollapsible.jsx — Bug C fix: gate the tag selector on canTagObject:
@MaferMazu, thanks a lot for taking a look at this!
I'll ignore the Taxonomy things, and the tags related bugs are just additional notes to take into account as part of the refinement, no questions there 😅
@BryanttV@mariajgrimaldi I was working on this and as Course Auditor I can see the course outline however when I enter a unit the backend return 403, is that the expected behavior? Base on the Figma the Course Auditor should be able to navigate.
Activity
MaferMazu commentedon Jun 3, 2026
When refining this card, take into account: openedx/frontend-app-authoring#3036
bra-i-am commentedon Jun 3, 2026
@MaferMazu, I have a question. These are blocked:
Becasue:
Hide "Manage Tags" actions for Course Auditor
Permission used:
courses.manage_tags(backend action string, course-scoped).Pattern:
useCourseUserPermissions(courseId, permissions)Frontend bugs (see UI location 4)
Bug A —
canTagObjecthardcoded tofalseforotherTaxonomies(ContentTagsDrawerHelper.jsx). Thecan_tag_objectfield fromobject_tagswas available but unused.Bug B — The merge
useEffectinContentTagsDrawerHelper.jsxonly merged staged tags intofetchedTaxonomiesentries. When a taxonomy was inotherTaxonomies(taxonomy list empty), staged tags were discarded and never reachedappliedContentTagsTree→ "Add" appeared to work but nothing appeared on screen.Bug C — The tag selector
<Select>inContentTagsCollapsible.jsxwas gated only onisEditMode, not oncanTagObject. This showed an interactive selector for taxonomies where the user has no permission.Files to change
1.
src/authz/constants.ts2.
src/authz/permissionHelpers.tsUI location 1 — Course Outline info sidebar (3-dot menu on Taxonomy Alignments section)
File:
src/course-outline/outline-sidebar/info-sidebar/CourseInfoSidebar.tsxResolve permission in
DetailsTaband make theactionsarray conditional:UI location 2 — Course Outline Align sidebar ("Manage tags" button when unit selected)
Files:
OutlineAlignSidebar.tsx→AlignSidebar.tsxThe "Manage tags" button is inside
ContentTagsComponentVariantFooter, already gated on!readOnly. Only prop-threading is needed.src/course-outline/outline-sidebar/OutlineAlignSidebar.tsx— resolve and pass down:src/generic/sidebar/AlignSidebar.tsx— add and forwardreadOnly:UI location 3 — Course Unit legacy sidebar ("Manage tags" button in Unit tags section)
Files:
LegacySidebar→TagsSidebarControls→TagsSidebarBodysrc/course-unit/legacy-sidebar/index.tsx— resolve and pass down:src/content-tags-drawer/tags-sidebar-controls/index.tsx— forward prop:src/content-tags-drawer/tags-sidebar-controls/TagsSidebarBody.tsx— hide button:UI location 4 — Content Tags Drawer: fix Add button for authz users (Bugs A, B, C)
Files:
content-tags-drawer/ContentTagsDrawerHelper.jsx→content-tags-drawer/ContentTagsCollapsible.jsxsrc/content-tags-drawer/ContentTagsDrawerHelper.jsx— usecanTagObjectfrom API instead of hardcodingfalse, and extend the staged-tag merge to coverotherTaxonomies:src/content-tags-drawer/ContentTagsCollapsible.jsx— Bug C fix: gate the tag selector oncanTagObject:MaferMazu commentedon Jun 5, 2026
@bra-i-am thanks for sharing the info. But I didn't understand the question.
Regarding the taxonomy permission, we can ignore it because it is not implemented. For more info: openedx/openedx-platform#38222 and #309
Regarding tagging the specific object (in this case, a course). Do we have issues here? Is there something you need that isn't implemented?
bra-i-am commentedon Jun 5, 2026
@MaferMazu, thanks a lot for taking a look at this!
I'll ignore the Taxonomy things, and the tags related bugs are just additional notes to take into account as part of the refinement, no questions there 😅
dcoa commentedon Aug 10, 2026
@BryanttV @mariajgrimaldi I was working on this and as Course Auditor I can see the course outline however when I enter a unit the backend return 403, is that the expected behavior? Base on the Figma the Course Auditor should be able to navigate.
BryanttV commentedon Aug 11, 2026
Hi @dcoa, yes, we need to fix this on the backend. I've created this issue to work on it: #384. Thanks for the report!