Hide a hard-coded list for fields from user forms

This commit is contained in:
Tobias Kunze 2025-06-23 11:56:19 +02:00
parent 778c1fb801
commit 4b5da3f5a8

View file

@ -166,6 +166,25 @@ def unnest_data(data):
class CrdModelFormMixin:
HIDDEN_FIELDS = [
"spec.compositeDeletePolicy",
"spec.compositionRef",
"spec.compositionRevisionRef",
"spec.compositionRevisionSelector",
"spec.compositionSelector",
"spec.compositionUpdatePolicy",
"spec.parameters.network.serviceType",
"spec.parameters.scheduling",
"spec.parameters.security",
"spec.parameters.size.cpu",
"spec.parameters.size.memory",
"spec.parameters.size.requests.cpu",
"spec.parameters.size.requests.memory",
"spec.publishConnectionDetailsTo",
"spec.resourceRef",
"spec.writeConnectionSecretToRef",
]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.schema = self._meta.model.SCHEMA
@ -173,6 +192,10 @@ class CrdModelFormMixin:
for field in ("organization", "context"):
self.fields[field].widget = forms.HiddenInput()
for field_name in self.HIDDEN_FIELDS:
if field_name in self.fields:
self.fields[field_name].widget = forms.HiddenInput()
if self.instance and self.instance.pk:
self.fields["name"].disabled = True
self.fields["name"].help_text = _("Name cannot be changed after creation.")