mirror of
https://github.com/retspen/webvirtcloud
synced 2026-03-23 11:04:49 +00:00
Add validation of the field gstfsd_key.
gstfsd_key must be a valid json object with "k" and "kty" fields
This commit is contained in:
parent
6dc7473ab0
commit
064bd18796
1 changed files with 71 additions and 0 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import re
|
||||
import json
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from computes.models import Compute
|
||||
|
|
@ -43,6 +44,20 @@ class ComputeAddTcpForm(forms.Form):
|
|||
return hostname
|
||||
raise forms.ValidationError(_('This host is already connected'))
|
||||
|
||||
def clean_gstfsd_key(self):
|
||||
gstfsd_key = self.cleaned_data['gstfsd_key']
|
||||
try:
|
||||
data = json.loads(gstfsd_key)
|
||||
if not isinstance(data, dict):
|
||||
raise forms.ValidationError(_('Gstfsd key must be a json object'))
|
||||
if not 'k' in data:
|
||||
raise forms.ValidationError(_('Gstfsd key must have a "k" field'))
|
||||
if not 'kty' in data:
|
||||
raise forms.ValidationError(_('Gstfsd key must have a "kty" field'))
|
||||
except ValueError:
|
||||
raise forms.ValidationError(_('Gstfsd key must be a valid json'))
|
||||
return gstfsd_key
|
||||
|
||||
|
||||
class ComputeAddSshForm(forms.Form):
|
||||
name = forms.CharField(error_messages={'required': _('No hostname has been entered')},
|
||||
|
|
@ -81,6 +96,20 @@ class ComputeAddSshForm(forms.Form):
|
|||
return hostname
|
||||
raise forms.ValidationError(_('This host is already connected'))
|
||||
|
||||
def clean_gstfsd_key(self):
|
||||
gstfsd_key = self.cleaned_data['gstfsd_key']
|
||||
try:
|
||||
data = json.loads(gstfsd_key)
|
||||
if not isinstance(data, dict):
|
||||
raise forms.ValidationError(_('Gstfsd key must be a json object'))
|
||||
if not 'k' in data:
|
||||
raise forms.ValidationError(_('Gstfsd key must have a "k" field'))
|
||||
if not 'kty' in data:
|
||||
raise forms.ValidationError(_('Gstfsd key must have a "kty" field'))
|
||||
except ValueError:
|
||||
raise forms.ValidationError(_('Gstfsd key must be a valid json'))
|
||||
return gstfsd_key
|
||||
|
||||
|
||||
class ComputeAddTlsForm(forms.Form):
|
||||
name = forms.CharField(error_messages={'required': _('No hostname has been entered')},
|
||||
|
|
@ -121,6 +150,20 @@ class ComputeAddTlsForm(forms.Form):
|
|||
return hostname
|
||||
raise forms.ValidationError(_('This host is already connected'))
|
||||
|
||||
def clean_gstfsd_key(self):
|
||||
gstfsd_key = self.cleaned_data['gstfsd_key']
|
||||
try:
|
||||
data = json.loads(gstfsd_key)
|
||||
if not isinstance(data, dict):
|
||||
raise forms.ValidationError(_('Gstfsd key must be a json object'))
|
||||
if not 'k' in data:
|
||||
raise forms.ValidationError(_('Gstfsd key must have a "k" field'))
|
||||
if not 'kty' in data:
|
||||
raise forms.ValidationError(_('Gstfsd key must have a "kty" field'))
|
||||
except ValueError:
|
||||
raise forms.ValidationError(_('Gstfsd key must be a valid json'))
|
||||
return gstfsd_key
|
||||
|
||||
|
||||
class ComputeEditHostForm(forms.Form):
|
||||
host_id = forms.CharField()
|
||||
|
|
@ -153,6 +196,20 @@ class ComputeEditHostForm(forms.Form):
|
|||
raise forms.ValidationError(_('Wrong IP address'))
|
||||
return hostname
|
||||
|
||||
def clean_gstfsd_key(self):
|
||||
gstfsd_key = self.cleaned_data['gstfsd_key']
|
||||
try:
|
||||
data = json.loads(gstfsd_key)
|
||||
if not isinstance(data, dict):
|
||||
raise forms.ValidationError(_('Gstfsd key must be a json object'))
|
||||
if not 'k' in data:
|
||||
raise forms.ValidationError(_('Gstfsd key must have a "k" field'))
|
||||
if not 'kty' in data:
|
||||
raise forms.ValidationError(_('Gstfsd key must have a "kty" field'))
|
||||
except ValueError:
|
||||
raise forms.ValidationError(_('Gstfsd key must be a valid json'))
|
||||
return gstfsd_key
|
||||
|
||||
|
||||
class ComputeAddSocketForm(forms.Form):
|
||||
name = forms.CharField(error_messages={'required': _('No hostname has been entered')},
|
||||
|
|
@ -173,3 +230,17 @@ class ComputeAddSocketForm(forms.Form):
|
|||
except Compute.DoesNotExist:
|
||||
return name
|
||||
raise forms.ValidationError(_('This host is already connected'))
|
||||
|
||||
def clean_gstfsd_key(self):
|
||||
gstfsd_key = self.cleaned_data['gstfsd_key']
|
||||
try:
|
||||
data = json.loads(gstfsd_key)
|
||||
if not isinstance(data, dict):
|
||||
raise forms.ValidationError(_('Gstfsd key must be a json object'))
|
||||
if not 'k' in data:
|
||||
raise forms.ValidationError(_('Gstfsd key must have a "k" field'))
|
||||
if not 'kty' in data:
|
||||
raise forms.ValidationError(_('Gstfsd key must have a "kty" field'))
|
||||
except ValueError:
|
||||
raise forms.ValidationError(_('Gstfsd key must be a valid json'))
|
||||
return gstfsd_key
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue