fix: allow users who can create orgs to see the full list of orgs when creating a course [FC-0076] (#1689)

The fixes for https://github.com/openedx/frontend-app-authoring/issues/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.
This commit is contained in:
Jillian
2025-02-26 12:37:43 +10:30
committed by GitHub
parent 11a7e78b73
commit e5360dc1f1
2 changed files with 4 additions and 4 deletions

View File

@@ -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({
@@ -78,7 +78,7 @@ const useCreateOrRerunCourse = (initialValues) => {
});
useEffect(() => {
if (allowToCreateNewOrg) {
if (canCreateOrganizations) {
dispatch(fetchOrganizationsQuery());
}
}, []);

View File

@@ -26,7 +26,7 @@ module.exports = {
cmsLink: '//localhost:18010/courses/course-v1:Design+123+e.g.2025',
},
],
canCreateOrganizations: true,
canCreateOrganizations: false,
courseCreatorStatus: 'granted',
courses: [
{