summaryrefslogtreecommitdiff
path: root/taskapp/forms
diff options
context:
space:
mode:
Diffstat (limited to 'taskapp/forms')
-rw-r--r--taskapp/forms/__init__.py0
-rw-r--r--taskapp/forms/task.py107
-rw-r--r--taskapp/forms/user.py65
3 files changed, 0 insertions, 172 deletions
diff --git a/taskapp/forms/__init__.py b/taskapp/forms/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/taskapp/forms/__init__.py
+++ /dev/null
diff --git a/taskapp/forms/task.py b/taskapp/forms/task.py
deleted file mode 100644
index ef294a2..0000000
--- a/taskapp/forms/task.py
+++ /dev/null
@@ -1,107 +0,0 @@
-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']
- #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:
- raise forms.ValidationError("Enter some description for the task")
-
- 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
-
-def AddReviewerForm(choices,instance=None):
- """ return a form object with appropriate choices """
-
- class myform(forms.Form):
- reviewer = forms.ChoiceField(choices=choices, required=True)
- form = myform(instance) if instance else myform()
- return form
-
-class ClaimTaskForm(forms.Form):
- message = forms.CharField(label="Proposal")
-
- def clean_message(self):
- data = self.cleaned_data['message'].strip()
- if not data:
- raise forms.ValidationError('Enter something as a proposal')
- return data
-
-
-def ChoiceForm(choices, instance=None):
- """ return a form object with appropriate choices """
-
- class myform(forms.Form):
- choice = forms.ChoiceField(choices=choices, required=True)
- form = myform(instance) if instance else myform()
- return form
-
-def AddTaskForm(task_choices, is_plain=False):
- """ if is_plain is true, it means the task has no subs/deps.
- so we also give a radio button to choose between subs and dependencies.
- else we only give choices.
- """
-
- class myForm(forms.Form):
- if is_plain:
- type_choices = [('S','Subtasks'),('D','Dependencies')]
- type = forms.ChoiceField(type_choices, widget=forms.RadioSelect)
-
- task = forms.ChoiceField(choices=task_choices)
- return myForm()
-
-def AssignPyntForm(choices, instance=None):
-
- class myForm(forms.Form):
- user = forms.ChoiceField(choices=choices, required=True)
- pynts = forms.IntegerField(min_value=0, required=True, help_text="Choose wisely since it cannot be undone.")
- return myForm(instance) if instance else myForm()
-
-def RemoveUserForm(choices, instance=None):
-
- class myForm(forms.Form):
- user = forms.ChoiceField(choices=choices, required=True)
- reason = forms.CharField(min_length=1, required=True)
- return myForm(instance) if instance else myForm()
-
-class WorkReportForm(forms.ModelForm):
-
- class Meta:
- model = WorkReport
- fields = ['remarks', 'attachment']
-
diff --git a/taskapp/forms/user.py b/taskapp/forms/user.py
deleted file mode 100644
index 4cde155..0000000
--- a/taskapp/forms/user.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/python2.5
-
-import os
-import PIL
-
-from pytask.taskapp.utilities.helper import get_key
-
-from django import forms
-from pytask.taskapp.models import GENDER_CHOICES, Profile
-from registration.forms import RegistrationFormUniqueEmail
-from registration.models import RegistrationProfile
-from pytask.taskapp.utilities.notification import create_notification
-
-class UserProfileEditForm(forms.ModelForm):
- """Form used to edit the profile of a user"""
-
- class Meta:
- model = Profile
- exclude = ('user','rights','dob','pynts')
-
- def clean_photo(self):
- uploaded_photo = self.data.get('photo', None)
- prev_photo = self.instance.photo
- if uploaded_photo:
- if uploaded_photo.size > 1048576:
- raise forms.ValidationError('Images only smaller than 1MB allowed')
- tmp_im_path = '/tmp/'+get_key()
- tmp_file = open(tmp_im_path, 'w')
- tmp_file.write(uploaded_photo.read())
- tmp_file.close()
- try:
- PIL.Image.open(tmp_im_path)
- except IOError:
- raise forms.ValidationError('Image format unknown')
- os.remove(tmp_im_path)
-
- if prev_photo: os.remove(prev_photo.path)
- return uploaded_photo
- else:
- return prev_photo
-
-
-class RegistrationFormCustom(RegistrationFormUniqueEmail):
- """Used instead of RegistrationForm used by default django-registration backend, this adds date of birth and gender to the default django-registration RegistrationForm"""
-
- dob = forms.DateField(help_text = "YYYY-MM-DD", required=True, label=u'date of birth')
- gender = forms.ChoiceField(choices = GENDER_CHOICES, required=True, label=u'gender')
-
- def save(self,profile_callback=None):
- new_user = RegistrationProfile.objects.create_inactive_user(username=self.cleaned_data['username'],password=self.cleaned_data['password1'],email=self.cleaned_data['email'])
-
- new_profile = Profile(user=new_user,dob=self.cleaned_data['dob'],gender=self.cleaned_data['gender'])
- new_profile.save()
-
- create_notification('NU',new_user)
-
- return new_user
-
-def UserChoiceForm(choices, instance=None):
- """ take a list of users and return a choice form.
- """
-
- class myForm(forms.Form):
- user = forms.ChoiceField(choices, required=True)
- return myForm(instance) if instance else myForm()