From 8a1f72b317372bda94878d3dda657a9aa8cb4327 Mon Sep 17 00:00:00 2001 From: Tobias Kunze Date: Fri, 28 Mar 2025 12:23:03 +0100 Subject: [PATCH] Add name, org and context to all crd forms --- src/servala/core/crd.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/servala/core/crd.py b/src/servala/core/crd.py index 6fc4219..b66fef8 100644 --- a/src/servala/core/crd.py +++ b/src/servala/core/crd.py @@ -1,10 +1,13 @@ import re +from django import forms from django.core.validators import MaxValueValidator, MinValueValidator, RegexValidator from django.db import models from django.forms.models import ModelForm, ModelFormMetaclass from django.utils.translation import gettext_lazy as _ +from servala.core.models import ServiceInstance + def generate_django_model(schema, group, version, kind): """ @@ -14,6 +17,8 @@ def generate_django_model(schema, group, version, kind): # defaults = {"apiVersion": f"{group}/{version}", "kind": kind} model_fields = {"__module__": "crd_models"} + for field in ("name", "organization", "context"): + model_fields[field] = ServiceInstance._meta.get_field(field) model_fields.update(build_object_fields(spec, "spec")) meta_class = type("Meta", (), {"app_label": "crd_models"}) @@ -110,6 +115,9 @@ def get_django_field( class CrdModelFormMixin: def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) + + for field in ("organization", "context"): + self.fields[field].widget = forms.HiddenInput() # self.fields["apiVersion"].disabled = True # self.fields["kind"].disabled = True