diff --git a/ami/ml/views.py b/ami/ml/views.py index a47cc25b..2a6745d7 100644 --- a/ami/ml/views.py +++ b/ami/ml/views.py @@ -1,5 +1,7 @@ import logging +from django.utils.text import slugify +from rest_framework import status from rest_framework.decorators import action from rest_framework.request import Request from rest_framework.response import Response @@ -72,6 +74,14 @@ class ProcessingServiceViewSet(DefaultViewSet): filterset_fields = ["projects"] ordering_fields = ["id", "created_at", "updated_at"] + def create(self, request, *args, **kwargs): + data = request.data.copy() + data["slug"] = slugify(data["name"]) + serializer = self.get_serializer(data=data) + serializer.is_valid(raise_exception=True) + self.perform_create(serializer) + return Response(serializer.data, status=status.HTTP_201_CREATED) + @action(detail=True, methods=["get"]) def status(self, request: Request, pk=None) -> Response: """ diff --git a/ui/src/pages/overview/entities/details-form/processing-service-details-form.tsx b/ui/src/pages/overview/entities/details-form/processing-service-details-form.tsx index 3252a669..d8968635 100644 --- a/ui/src/pages/overview/entities/details-form/processing-service-details-form.tsx +++ b/ui/src/pages/overview/entities/details-form/processing-service-details-form.tsx @@ -16,7 +16,6 @@ import { useFormError } from 'utils/useFormError' import { DetailsFormProps, FormValues } from './types' type ProcessingServiceFormValues = FormValues & { - slug: string endpoint_url: string } @@ -28,13 +27,6 @@ const config: FormConfig = { required: true, }, }, - slug: { - label: translate(STRING.FIELD_LABEL_SLUG), - description: 'A unique identifier for internal reference.', - rules: { - required: true, - }, - }, endpoint_url: { label: 'Endpoint URL', description: 'Processing service endpoint.', @@ -61,9 +53,8 @@ export const ProcessingServiceDetailsForm = ({ setError: setFieldError, } = useForm({ defaultValues: { - name: processingService?.name ?? '', - slug: processingService?.slug ?? '', - endpoint_url: processingService?.endpointUrl ?? '', + name: processingService?.name, + endpoint_url: processingService?.endpointUrl, description: processingService?.description ?? '', }, mode: 'onChange', @@ -78,7 +69,6 @@ export const ProcessingServiceDetailsForm = ({ name: values.name, description: values.description, customFields: { - slug: values.slug, endpoint_url: values.endpoint_url, }, }) @@ -100,19 +90,13 @@ export const ProcessingServiceDetailsForm = ({ control={control} /> -