diff options
Diffstat (limited to 'taskapp/forms')
-rw-r--r-- | taskapp/forms/__init__.py | 0 | ||||
-rw-r--r-- | taskapp/forms/task.py | 107 | ||||
-rw-r--r-- | taskapp/forms/user.py | 65 |
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() |