mirror of
https://github.com/coder/coder.git
synced 2025-07-13 21:36:50 +00:00
fix: redirect users lacking create permissions to /workspaces (#16659)
Closes [this issue](https://github.com/coder/internal/issues/394). At the moment this behavior can be a bit confusing, but after [this issue is closed](https://github.com/coder/internal/issues/385#issuecomment-2667061358) it should be more obvious what's going on here.
This commit is contained in:
@ -1,5 +1,7 @@
|
||||
import { createOrganization } from "api/queries/organizations";
|
||||
import { displaySuccess } from "components/GlobalSnackbar/utils";
|
||||
import { useAuthenticated } from "contexts/auth/RequireAuth";
|
||||
import { RequirePermission } from "contexts/auth/RequirePermission";
|
||||
import { useFeatureVisibility } from "modules/dashboard/useFeatureVisibility";
|
||||
import type { FC } from "react";
|
||||
import { useMutation, useQueryClient } from "react-query";
|
||||
@ -9,6 +11,7 @@ import { CreateOrganizationPageView } from "./CreateOrganizationPageView";
|
||||
const CreateOrganizationPage: FC = () => {
|
||||
const navigate = useNavigate();
|
||||
const feats = useFeatureVisibility();
|
||||
const { permissions } = useAuthenticated();
|
||||
|
||||
const queryClient = useQueryClient();
|
||||
const createOrganizationMutation = useMutation(
|
||||
@ -19,15 +22,17 @@ const CreateOrganizationPage: FC = () => {
|
||||
|
||||
return (
|
||||
<main className="py-7">
|
||||
<CreateOrganizationPageView
|
||||
error={error}
|
||||
isEntitled={feats.multiple_organizations}
|
||||
onSubmit={async (values) => {
|
||||
await createOrganizationMutation.mutateAsync(values);
|
||||
displaySuccess("Organization created.");
|
||||
navigate(`/organizations/${values.name}`);
|
||||
}}
|
||||
/>
|
||||
<RequirePermission isFeatureVisible={permissions.createOrganization}>
|
||||
<CreateOrganizationPageView
|
||||
error={error}
|
||||
isEntitled={feats.multiple_organizations}
|
||||
onSubmit={async (values) => {
|
||||
await createOrganizationMutation.mutateAsync(values);
|
||||
displaySuccess("Organization created.");
|
||||
navigate(`/organizations/${values.name}`);
|
||||
}}
|
||||
/>
|
||||
</RequirePermission>
|
||||
</main>
|
||||
);
|
||||
};
|
||||
|
Reference in New Issue
Block a user