Commit 556908535b47d6cc928c041532529e552f1d53b3

Authored by Gustavo
1 parent d1823e72

Adjusting validation for subject name in forms.py

Showing 1 changed file with 6 additions and 6 deletions   Show diff stats
subjects/forms.py
@@ -58,11 +58,11 @@ class CreateSubjectForm(forms.ModelForm): @@ -58,11 +58,11 @@ class CreateSubjectForm(forms.ModelForm):
58 58
59 def clean_name(self): 59 def clean_name(self):
60 name = self.cleaned_data.get('name') 60 name = self.cleaned_data.get('name')
  61 + categoria = self.instance.category
61 if self.instance.id: 62 if self.instance.id:
62 - same_name = Subject.objects.filter(name__unaccent__iexact = name).exclude(id = self.instance.id) 63 + same_name = Subject.objects.filter(name__unaccent__iexact = name, category = categoria).exclude(id = self.instance.id)
63 else: 64 else:
64 - same_name = Subject.objects.filter(name__unaccent__iexact = name)  
65 - 65 + same_name = Subject.objects.filter(name__unaccent__iexact = name, category = categoria)
66 if same_name.count() > 0: 66 if same_name.count() > 0:
67 self._errors['name'] = [_('There is another subject with this name, try another one.')] 67 self._errors['name'] = [_('There is another subject with this name, try another one.')]
68 68
@@ -161,11 +161,11 @@ class UpdateSubjectForm(forms.ModelForm): @@ -161,11 +161,11 @@ class UpdateSubjectForm(forms.ModelForm):
161 161
162 def clean_name(self): 162 def clean_name(self):
163 name = self.cleaned_data.get('name') 163 name = self.cleaned_data.get('name')
  164 + categoria = self.instance.category
164 if self.instance.id: 165 if self.instance.id:
165 - same_name = Subject.objects.filter(name__unaccent__iexact = name).exclude(id = self.instance.id) 166 + same_name = Subject.objects.filter(name__unaccent__iexact = name , category = categoria).exclude(id = self.instance.id)
166 else: 167 else:
167 - same_name = Subject.objects.filter(name__unaccent__iexact = name)  
168 - 168 + same_name = Subject.objects.filter(name__unaccent__iexact = name).exclude(category = categoria)
169 if same_name.count() > 0: 169 if same_name.count() > 0:
170 self._errors['name'] = [_('There is another subject with this name, try another one.')] 170 self._errors['name'] = [_('There is another subject with this name, try another one.')]
171 171