Skip to content

Commit

Permalink
fix: allow users who can create orgs to see the full list of orgs whe…
Browse files Browse the repository at this point in the history
…n creating a course [FC-0076] (#1689)

The fixes for #1577 caused issues with edx.org's Global Staff users not being able to create courses. edx.org/2U Global Staff are seeing an empty Organization drop-down list.

This issue arose due to misuse of two similarly-named flags returned by the contentstore's home API

* `can_create_organizations`: granted to Global Staff or everyone if `FEATURES[ENABLE_CREATOR_GROUP] == True`, 
* `allow_to_create_new_org`: which is actually about auto-creating organizations, so both `can_create_organizations` + `settings.ORGANIZATIONS_AUTOCREATE` must be True

In this change, we use `canCreateOrganizations` to decide whether the user can see the full list of organizations when creating courses. We preserve the use of `allowToCreateNewOrg`  when deciding whether to allow users to "typeahead" to create a new organization not in the drop-down list.
  • Loading branch information
pomegranited authored Feb 26, 2025
1 parent 11a7e78 commit e5360dc
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
6 changes: 3 additions & 3 deletions src/generic/create-or-rerun-course/hooks.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ const useCreateOrRerunCourse = (initialValues) => {
const allOrganizations = useSelector(getOrganizations);
const postErrors = useSelector(getPostErrors);
const {
allowToCreateNewOrg,
canCreateOrganizations,
allowedOrganizations,
} = useSelector(getStudioHomeData);
const [isFormFilled, setFormFilled] = useState(false);
const [showErrorBanner, setShowErrorBanner] = useState(false);
const organizations = allowToCreateNewOrg ? allOrganizations : allowedOrganizations;
const organizations = canCreateOrganizations ? allOrganizations : allowedOrganizations;

const { specialCharsRule, noSpaceRule } = REGEX_RULES;
const validationSchema = Yup.object().shape({
Expand Down Expand Up @@ -78,7 +78,7 @@ const useCreateOrRerunCourse = (initialValues) => {
});

useEffect(() => {
if (allowToCreateNewOrg) {
if (canCreateOrganizations) {
dispatch(fetchOrganizationsQuery());
}
}, []);
Expand Down
2 changes: 1 addition & 1 deletion src/studio-home/__mocks__/studioHomeMock.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module.exports = {
cmsLink: '//localhost:18010/courses/course-v1:Design+123+e.g.2025',
},
],
canCreateOrganizations: true,
canCreateOrganizations: false,
courseCreatorStatus: 'granted',
courses: [
{
Expand Down

0 comments on commit e5360dc

Please sign in to comment.