36 lines
902 B
Python
36 lines
902 B
Python
|
"""Outpost forms"""
|
||
|
|
||
|
from django import forms
|
||
|
from django.utils.translation import gettext_lazy as _
|
||
|
|
||
|
from passbook.admin.fields import CodeMirrorWidget, YAMLField
|
||
|
from passbook.core.models import Provider
|
||
|
from passbook.outposts.models import Outpost
|
||
|
|
||
|
|
||
|
class OutpostForm(forms.ModelForm):
|
||
|
"""Outpost Form"""
|
||
|
|
||
|
def __init__(self, *args, **kwargs):
|
||
|
super().__init__(*args, **kwargs)
|
||
|
self.fields["providers"].queryset = Provider.objects.all().select_subclasses()
|
||
|
|
||
|
class Meta:
|
||
|
|
||
|
model = Outpost
|
||
|
fields = [
|
||
|
"name",
|
||
|
"type",
|
||
|
"deployment_type",
|
||
|
"providers",
|
||
|
"_config",
|
||
|
]
|
||
|
widgets = {
|
||
|
"name": forms.TextInput(),
|
||
|
"_config": CodeMirrorWidget,
|
||
|
}
|
||
|
field_classes = {
|
||
|
"_config": YAMLField,
|
||
|
}
|
||
|
labels = {"_config": _("Configuration")}
|