diff options
Diffstat (limited to 'taskapp/forms/task.py')
-rw-r--r-- | taskapp/forms/task.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/taskapp/forms/task.py b/taskapp/forms/task.py index 2aa4169..e0cc050 100644 --- a/taskapp/forms/task.py +++ b/taskapp/forms/task.py @@ -7,6 +7,14 @@ class TaskCreateForm(forms.ModelForm): fields = ['title', 'desc', 'tags_field', 'credits'] #publish = forms.BooleanField(required=False) + def clean_title(self): + data = self.cleaned_data['title'].strip() + try: + Task.objects.exclude(status="DL").get(title__iexact=data) + raise forms.ValidationError("Another task with same title exists") + except Task.DoesNotExist: + return data + def clean_desc(self): data = self.cleaned_data['desc'].strip() if not data: @@ -27,6 +35,17 @@ def EditTaskForm(task, instance=None): return data + def clean_title(self): + data = self.cleaned_data['title'].strip() + try: + prev_task = Task.objects.exclude(status="DL").get(title__iexact=data) + if prev_task != task: + raise forms.ValidationError("Another task with same title exists") + else: + return data + except: + return data + data = { 'title': task.title, 'desc': task.desc, |