| 52 | |
| 53 | |
| 54 | class AddImage(forms.Form): |
| 55 | name = forms.CharField(max_length=20) |
| 56 | format = forms.ChoiceField(required=True, choices=(('qcow2', 'qcow2 (recommended)'), |
| 57 | ('qcow', 'qcow'), |
| 58 | ('raw', 'raw'))) |
| 59 | size = forms.IntegerField() |
| 60 | meta_prealloc = forms.BooleanField(required=False) |
| 61 | |
| 62 | def clean_name(self): |
| 63 | name = self.cleaned_data['name'] |
| 64 | have_symbol = re.match('^[a-zA-Z0-9._-]+$', name) |
| 65 | if not have_symbol: |
| 66 | raise forms.ValidationError(_('The image name must not contain any special characters')) |
| 67 | elif len(name) > 20: |
| 68 | raise forms.ValidationError(_('The image name must not exceed 20 characters')) |
| 69 | return name |
| 70 | |
| 71 | |
| 72 | class CloneImage(forms.Form): |