Commit 2491f076136ff3c9b244b5c69e3afe02d91222a4

Authored by Gustavo
1 parent bc51a1f9

Made some updates in forms to include validations in fields

Showing 1 changed file with 28 additions and 0 deletions   Show diff stats
news/forms.py
... ... @@ -2,11 +2,39 @@ from django import forms
2 2 from django.utils.translation import ugettext_lazy as _
3 3  
4 4 from .models import News
  5 +from resubmit.widgets import ResubmitFileWidget
  6 +
5 7  
6 8 class NewsForm(forms.ModelForm):
  9 + MAX_UPLOAD_SIZE = 5*1024*1024
7 10 class Meta:
8 11 model = News
9 12 fields = ['title','image','content']
10 13 widgets = {
11 14 'content': forms.Textarea,
  15 + 'image': ResubmitFileWidget(attrs={'accept':'image/*'}),
  16 +
12 17 }
  18 +
  19 + def clean_title(self):
  20 + title = self.cleaned_data.get('title', '')
  21 + if same_name > 0:
  22 + self._errors['name'] = [_('This subject already has a pdf file with this name')]
  23 +
  24 + return ValueError
  25 +
  26 + return title
  27 + def clean_image(self):
  28 + image = self.cleaned_data.get('image', False)
  29 +
  30 + if image:
  31 + if hasattr(image, '_size'):
  32 + if image._size > self.MAX_UPLOAD_SIZE:
  33 + self._errors['image'] = [_("The image is too large. It should have less than 5MB.")]
  34 + return ValueError
  35 + else:
  36 + self._errors['image'] = [_("This field is required.")]
  37 +
  38 + return ValueError
  39 +
  40 + return image
... ...