| 30 | |
| 31 | |
| 32 | class NewVMForm(forms.Form): |
| 33 | name = forms.CharField(error_messages={'required': _('No Virtual Machine name has been entered')}, |
| 34 | max_length=20) |
| 35 | vcpu = forms.IntegerField(error_messages={'required': _('No VCPU has been entered')}) |
| 36 | host_model = forms.BooleanField(required=False) |
| 37 | disk = forms.IntegerField(required=False) |
| 38 | memory = forms.IntegerField(error_messages={'required': _('No RAM size has been entered')}) |
| 39 | networks = forms.CharField(error_messages={'required': _('No Network pool has been choice')}) |
| 40 | storage = forms.CharField(max_length=20, required=False) |
| 41 | template = forms.CharField(required=False) |
| 42 | images = forms.CharField(required=False) |
| 43 | hdd_size = forms.IntegerField(required=False) |
| 44 | meta_prealloc = forms.BooleanField(required=False) |
| 45 | virtio = forms.BooleanField(required=False) |
| 46 | mac = forms.CharField(required=False) |
| 47 | |
| 48 | def clean_name(self): |
| 49 | name = self.cleaned_data['name'] |
| 50 | have_symbol = re.match('^[a-zA-Z0-9._-]+$', name) |
| 51 | if not have_symbol: |
| 52 | raise forms.ValidationError(_('The name of the virtual machine must not contain any special characters')) |
| 53 | elif len(name) > 20: |
| 54 | raise forms.ValidationError(_('The name of the virtual machine must not exceed 20 characters')) |
| 55 | return name |