forked from uncloud/uncloud
31 lines
1.5 KiB
Python
31 lines
1.5 KiB
Python
from django import forms
|
|
from django.utils.translation import get_language, ugettext_lazy as _
|
|
from django.core.exceptions import ValidationError
|
|
from .models import VMInstance
|
|
from uncloud.forms import MainForm, MainModelForm, DomainNameField
|
|
|
|
|
|
class InitialRequestForm(MainForm):
|
|
cores = forms.IntegerField(label='CPU', min_value=1, max_value=48, initial=1)
|
|
memory = forms.IntegerField(label='RAM', min_value=2, max_value=200, initial=2)
|
|
storage = forms.IntegerField(label='Storage', min_value=100, max_value=10000, initial=100)
|
|
pricing_name = forms.CharField(required=True)
|
|
|
|
class RequestDomainsNamesForm(MainForm):
|
|
homeserver_name = forms.CharField(required=True, widget=forms.TextInput(attrs={'placeholder': 'Homeserver Name *'}))
|
|
webclient_name = forms.CharField(required=True, widget=forms.TextInput(attrs={'placeholder': 'Webclient Name *'}))
|
|
is_open_registration = forms.BooleanField(required=False, initial=False)
|
|
|
|
def clean_homeserver_name(self):
|
|
homeserver_name = self.cleaned_data['homeserver_name']
|
|
if VMInstance.objects.filter(homeserver_domain=f"{homeserver_name}.matrix.ungleich.cloud").exists():
|
|
raise ValidationError("homeserver name already exists")
|
|
return homeserver_name
|
|
|
|
def clean_webclient_name(self):
|
|
webclient_name = self.cleaned_data['webclient_name']
|
|
if VMInstance.objects.filter(webclient_domain=f"{webclient_name}.matrix.0co2.cloud").exists():
|
|
raise ValidationError("webclient name already exists")
|
|
return webclient_name
|
|
|
|
|