Disregard hidden fields in fieldset generation

This commit is contained in:
Tobias Kunze 2025-06-23 11:59:04 +02:00
parent 4b5da3f5a8
commit d9eba91122

View file

@ -229,9 +229,14 @@ class CrdModelFormMixin:
# Process spec fields # Process spec fields
others = [] others = []
nested_fieldsets = {} nested_fieldsets = {}
hidden_spec_fields = []
for field_name in self.fields: for field_name in self.fields:
if field_name.startswith("spec."): if field_name.startswith("spec."):
if isinstance(self.fields[field_name].widget, forms.HiddenInput):
hidden_spec_fields.append(field_name)
continue
parts = field_name.split(".") parts = field_name.split(".")
if len(parts) == 2: # Top-level spec field if len(parts) == 2: # Top-level spec field
others.append(field_name) others.append(field_name)
@ -279,6 +284,16 @@ class CrdModelFormMixin:
if others: if others:
fieldsets.append({"title": "Others", "fields": others, "fieldsets": []}) fieldsets.append({"title": "Others", "fields": others, "fieldsets": []})
if hidden_spec_fields:
fieldsets.append(
{
"title": "Advanced",
"fields": hidden_spec_fields,
"fieldsets": [],
"hidden": True,
}
)
return fieldsets return fieldsets
def get_nested_data(self): def get_nested_data(self):