summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNishanth Amuluru2011-01-08 22:20:41 +0530
committerNishanth Amuluru2011-01-08 22:20:41 +0530
commit5cc7c5fafb86877b0fb7a6864429e8ed93c3024b (patch)
tree726de94379abcf088a8913322f115504291f0180
parent0dc9f0eb9cd3c6d0860fe63a49a550ec0d2cca6b (diff)
downloadpytask-5cc7c5fafb86877b0fb7a6864429e8ed93c3024b.tar.gz
pytask-5cc7c5fafb86877b0fb7a6864429e8ed93c3024b.tar.bz2
pytask-5cc7c5fafb86877b0fb7a6864429e8ed93c3024b.zip
Added forms for creating and editing a task
-rw-r--r--pytask/taskapp/forms.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/pytask/taskapp/forms.py b/pytask/taskapp/forms.py
new file mode 100644
index 0000000..3804d2a
--- /dev/null
+++ b/pytask/taskapp/forms.py
@@ -0,0 +1,53 @@
+from django import forms
+from pytask.taskapp.models import Task, WorkReport
+
+class TaskCreateForm(forms.ModelForm):
+ class Meta:
+ model = Task
+ fields = ['title', 'desc', 'tags_field', 'pynts']
+
+ def clean_title(self):
+
+ data = self.cleaned_data['title'].strip()
+
+ if not data:
+ raise forms.ValidationError("This field is required")
+
+ 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:
+ raise forms.ValidationError("This field is required")
+
+ return data
+
+class EditTaskForm(forms.ModelForm):
+ class Meta:
+ model = Task
+ fields = ['title', 'desc', 'tags_field', 'pynts']
+
+ def clean_desc(self):
+ data = self.cleaned_data['desc'].strip()
+ if not data:
+ raise forms.ValidationError("Enter some description for the task")
+
+ 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.id != self.instance.id:
+ raise forms.ValidationError("Another task with same title exists")
+ else:
+ return data
+ except Task.DoesNotExist:
+ return data
+