Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3017dd0

Browse files
brettkolodnyaslilac
authored andcommitted
fix: redirect users lacking create permissions to /workspaces (#16659)
Closes [this issue](coder/internal#394). At the moment this behavior can be a bit confusing, but after [this issue is closed](coder/internal#385 (comment)) it should be more obvious what's going on here.
1 parent 2533032 commit 3017dd0

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

site/src/pages/OrganizationSettingsPage/CreateOrganizationPage.tsx

+14-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import { createOrganization } from "api/queries/organizations";
22
import { displaySuccess } from "components/GlobalSnackbar/utils";
3+
import { useAuthenticated } from "contexts/auth/RequireAuth";
4+
import { RequirePermission } from "contexts/auth/RequirePermission";
35
import { useFeatureVisibility } from "modules/dashboard/useFeatureVisibility";
46
import type { FC } from "react";
57
import { useMutation, useQueryClient } from "react-query";
@@ -9,6 +11,7 @@ import { CreateOrganizationPageView } from "./CreateOrganizationPageView";
911
const CreateOrganizationPage: FC = () => {
1012
const navigate = useNavigate();
1113
const feats = useFeatureVisibility();
14+
const { permissions } = useAuthenticated();
1215

1316
const queryClient = useQueryClient();
1417
const createOrganizationMutation = useMutation(
@@ -19,15 +22,17 @@ const CreateOrganizationPage: FC = () => {
1922

2023
return (
2124
<main className="py-7">
22-
<CreateOrganizationPageView
23-
error={error}
24-
isEntitled={feats.multiple_organizations}
25-
onSubmit={async (values) => {
26-
await createOrganizationMutation.mutateAsync(values);
27-
displaySuccess("Organization created.");
28-
navigate(`/organizations/${values.name}`);
29-
}}
30-
/>
25+
<RequirePermission isFeatureVisible={permissions.createOrganization}>
26+
<CreateOrganizationPageView
27+
error={error}
28+
isEntitled={feats.multiple_organizations}
29+
onSubmit={async (values) => {
30+
await createOrganizationMutation.mutateAsync(values);
31+
displaySuccess("Organization created.");
32+
navigate(`/organizations/${values.name}`);
33+
}}
34+
/>
35+
</RequirePermission>
3136
</main>
3237
);
3338
};

0 commit comments

Comments
 (0)