1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-21 22:39:41 +02:00

fix(namespace): create ns qa feedback [EE-2226] (#10474)

This commit is contained in:
Ali 2023-10-16 19:15:44 +01:00 committed by GitHub
parent bcb3f918d1
commit 07ec2ffe5e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 34 additions and 43 deletions

View file

@ -5,6 +5,7 @@ import { useEnvironmentId } from '@/react/hooks/useEnvironmentId';
import { notifySuccess } from '@/portainer/services/notifications';
import { useCurrentEnvironment } from '@/react/hooks/useCurrentEnvironment';
import { useEnvironmentRegistries } from '@/react/portainer/environments/queries/useEnvironmentRegistries';
import { useCurrentUser } from '@/react/hooks/useUser';
import { Widget, WidgetBody } from '@@/Widget';
@ -30,6 +31,7 @@ export function CreateNamespaceForm() {
const { data: registries } = useEnvironmentRegistries(environmentId, {
hideDefault: true,
});
const { user } = useCurrentUser();
// for namespace create, show ingress classes that are allowed in the current environment.
// the ingressClasses show the none option, so we don't need to add it here.
const { data: ingressClasses } = useIngressControllerClassMapQuery({
@ -65,7 +67,7 @@ export function CreateNamespaceForm() {
<Formik
enableReinitialize
initialValues={initialValues}
onSubmit={handleSubmit}
onSubmit={(values) => handleSubmit(values, user.Username)}
validateOnMount
validationSchema={getNamespaceValidationSchema(
memoryLimit,
@ -78,9 +80,9 @@ export function CreateNamespaceForm() {
</Widget>
);
function handleSubmit(values: CreateNamespaceFormValues) {
function handleSubmit(values: CreateNamespaceFormValues, userName: string) {
const createNamespacePayload: CreateNamespacePayload =
transformFormValuesToNamespacePayload(values);
transformFormValuesToNamespacePayload(values, userName);
const updateRegistriesPayload: UpdateRegistryPayload[] =
values.registries.flatMap((registryFormValues) => {
// find the matching registry from the cluster registries

View file

@ -15,6 +15,7 @@ export type CreateNamespaceFormValues = {
export type CreateNamespacePayload = {
Name: string;
Owner: string;
ResourceQuota: ResourceQuotaPayload;
};

View file

@ -1,12 +1,14 @@
import { CreateNamespaceFormValues, CreateNamespacePayload } from './types';
export function transformFormValuesToNamespacePayload(
createNamespaceFormValues: CreateNamespaceFormValues
createNamespaceFormValues: CreateNamespaceFormValues,
owner: string
): CreateNamespacePayload {
const memoryInBytes =
Number(createNamespaceFormValues.resourceQuota.memory) * 10 ** 6;
return {
Name: createNamespaceFormValues.name,
Owner: owner,
ResourceQuota: {
enabled: createNamespaceFormValues.resourceQuota.enabled,
cpu: createNamespaceFormValues.resourceQuota.cpu,