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
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