Service instantiation #31

Merged
rixx merged 37 commits from 24-service-instantiation into main 2025-04-04 10:57:29 +00:00
Showing only changes of commit 8a1f72b317 - Show all commits

View file

@ -1,10 +1,13 @@
import re import re
from django import forms
from django.core.validators import MaxValueValidator, MinValueValidator, RegexValidator from django.core.validators import MaxValueValidator, MinValueValidator, RegexValidator
from django.db import models 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
def generate_django_model(schema, group, version, kind): 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} # defaults = {"apiVersion": f"{group}/{version}", "kind": kind}
model_fields = {"__module__": "crd_models"} 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")) model_fields.update(build_object_fields(spec, "spec"))
meta_class = type("Meta", (), {"app_label": "crd_models"}) meta_class = type("Meta", (), {"app_label": "crd_models"})
@ -110,6 +115,9 @@ def get_django_field(
class CrdModelFormMixin: class CrdModelFormMixin:
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
for field in ("organization", "context"):
self.fields[field].widget = forms.HiddenInput()
# self.fields["apiVersion"].disabled = True # self.fields["apiVersion"].disabled = True
# self.fields["kind"].disabled = True # self.fields["kind"].disabled = True