Code style
All checks were successful
Tests / test (push) Successful in 26s

This commit is contained in:
Tobias Kunze 2025-11-05 10:37:11 +01:00
parent 5cc582b638
commit a5d46b696f
3 changed files with 22 additions and 11 deletions

View file

@ -6,7 +6,7 @@ from django.db import models
from django.forms.models import ModelForm, ModelFormMetaclass from django.forms.models import ModelForm, ModelFormMetaclass
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from servala.core.models import ServiceInstance, ControlPlaneCRD from servala.core.models import ControlPlaneCRD, ServiceInstance
from servala.frontend.forms.widgets import DynamicArrayField, DynamicArrayWidget from servala.frontend.forms.widgets import DynamicArrayField, DynamicArrayWidget

View file

@ -8,7 +8,6 @@ from servala.core.models import Organization, OrganizationInvitation, Organizati
from servala.core.odoo import get_invoice_addresses, get_odoo_countries from servala.core.odoo import get_invoice_addresses, get_odoo_countries
from servala.frontend.forms.mixins import HtmxMixin from servala.frontend.forms.mixins import HtmxMixin
ORG_NAME_PATTERN = r"[\w\s\-.,&'()+]+" ORG_NAME_PATTERN = r"[\w\s\-.,&'()+]+"

View file

@ -123,7 +123,9 @@ class ServiceOfferingDetailView(OrganizationViewMixin, HtmxViewMixin, DetailView
def context_object(self): def context_object(self):
if self.request.method == "POST": if self.request.method == "POST":
return ControlPlaneCRD.objects.filter( return ControlPlaneCRD.objects.filter(
pk=self.request.POST.get("expert-context", self.request.POST.get("custom-context")), pk=self.request.POST.get(
"expert-context", self.request.POST.get("custom-context")
),
# Make sure we dont use a malicious ID # Make sure we dont use a malicious ID
control_plane__in=self.planes, control_plane__in=self.planes,
).first() ).first()
@ -131,19 +133,27 @@ class ServiceOfferingDetailView(OrganizationViewMixin, HtmxViewMixin, DetailView
control_plane=self.selected_plane, service_offering=self.object control_plane=self.selected_plane, service_offering=self.object
).first() ).first()
def get_instance_form_kwargs(self, ignore_data=False): def get_instance_form_kwargs(self, ignore_data=False):
return {"initial": { return {
"organization": self.request.organization, "initial": {
"context": self.context_object, "organization": self.request.organization,
}, "prefix": "expert", "data": self.request.POST if (self.request.method == "POST" and not ignore_data) else None "context": self.context_object,
} },
"prefix": "expert",
"data": (
self.request.POST
if (self.request.method == "POST" and not ignore_data)
else None
),
}
def get_instance_form(self, ignore_data=False): def get_instance_form(self, ignore_data=False):
if not self.context_object or not self.context_object.model_form_class: if not self.context_object or not self.context_object.model_form_class:
return return
return self.context_object.model_form_class(**self.get_instance_form_kwargs(ignore_data=ignore_data)) return self.context_object.model_form_class(
**self.get_instance_form_kwargs(ignore_data=ignore_data)
)
def get_custom_instance_form(self, ignore_data=False): def get_custom_instance_form(self, ignore_data=False):
if not self.context_object or not self.context_object.custom_model_form_class: if not self.context_object or not self.context_object.custom_model_form_class:
@ -169,7 +179,9 @@ class ServiceOfferingDetailView(OrganizationViewMixin, HtmxViewMixin, DetailView
context["custom_service_form"] = self.get_custom_instance_form() context["custom_service_form"] = self.get_custom_instance_form()
else: else:
context["service_form"] = self.get_instance_form() context["service_form"] = self.get_instance_form()
context["custom_service_form"] = self.get_custom_instance_form(ignore_data=True) context["custom_service_form"] = self.get_custom_instance_form(
ignore_data=True
)
else: else:
context["service_form"] = self.get_instance_form() context["service_form"] = self.get_instance_form()
context["custom_service_form"] = self.get_custom_instance_form() context["custom_service_form"] = self.get_custom_instance_form()