taskapp/forms/task.py
author nishanth
Tue, 02 Mar 2010 15:34:51 +0530
changeset 178 106909df0c17
parent 165 8ea5bcf3bd01
child 179 8d1fdb148c27
permissions -rw-r--r--
empty description for a task not allowed. white space around description trimmed.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18
a39549bd5b08 implemented create task view which needed task.py in events. added a method show_msg to views/user.py and used it in logoff view.
nishanth
parents: 12
diff changeset
     1
from django import forms
22
36d3173ab7f9 addded link to view claims in 'view task' page .
nishanth
parents: 21
diff changeset
     2
from pytask.taskapp.models import Task, Claim
18
a39549bd5b08 implemented create task view which needed task.py in events. added a method show_msg to views/user.py and used it in logoff view.
nishanth
parents: 12
diff changeset
     3
a39549bd5b08 implemented create task view which needed task.py in events. added a method show_msg to views/user.py and used it in logoff view.
nishanth
parents: 12
diff changeset
     4
class TaskCreateForm(forms.ModelForm):
a39549bd5b08 implemented create task view which needed task.py in events. added a method show_msg to views/user.py and used it in logoff view.
nishanth
parents: 12
diff changeset
     5
    class Meta:
a39549bd5b08 implemented create task view which needed task.py in events. added a method show_msg to views/user.py and used it in logoff view.
nishanth
parents: 12
diff changeset
     6
        model = Task
50
d40e86f958f7 made changes in addtaskform to suit tagging.
nishanth
parents: 25
diff changeset
     7
        fields = ['title', 'desc', 'tags_field', 'credits']
165
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
     8
    #publish = forms.BooleanField(required=False)
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
     9
178
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    10
    def clean_desc(self):
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    11
        data = self.cleaned_data['desc'].strip()
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    12
        if not data:
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    13
            raise forms.ValidationError("Enter some description for the task")
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    14
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    15
        return data
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    16
165
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    17
def EditTaskForm(task, instance=None):
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    18
    class myForm(forms.ModelForm):
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    19
        class Meta:
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    20
            model = Task
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    21
            fields = ['title', 'desc', 'tags_field', 'credits']
178
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    22
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    23
        def clean_desc(self):
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    24
            data = self.cleaned_data['desc'].strip()
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    25
            if not data:
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    26
                raise forms.ValidationError("Enter some description for the task")
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    27
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    28
            return data
106909df0c17 empty description for a task not allowed. white space around description trimmed.
nishanth
parents: 165
diff changeset
    29
165
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    30
    data = {
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    31
        'title': task.title,
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    32
        'desc': task.desc,
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    33
        'tags_field': task.tags_field,
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    34
        'credits': task.credits,
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    35
    }
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 151
diff changeset
    36
    return myForm(instance) if instance else myForm(data)
21
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
    37
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
    38
def AddMentorForm(choices,instance=None):
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
    39
    """ return a form object with appropriate choices """
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
    40
    
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
    41
    class myform(forms.Form):
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
    42
        mentor = forms.ChoiceField(choices=choices, required=True)
151
d0cb85ba462a no bogus post request can be made now in addmentor page.
nishanth
parents: 136
diff changeset
    43
    form = myform(instance) if instance else myform()
21
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
    44
    return form
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
    45
22
36d3173ab7f9 addded link to view claims in 'view task' page .
nishanth
parents: 21
diff changeset
    46
class ClaimTaskForm(forms.ModelForm):
21
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
    47
    class Meta:
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
    48
        model = Claim
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
    49
        fields = ['message']
25
c0e4fc8b8b5b added the functionality to assign a task to one of the claimed users.
nishanth
parents: 22
diff changeset
    50
151
d0cb85ba462a no bogus post request can be made now in addmentor page.
nishanth
parents: 136
diff changeset
    51
def ChoiceForm(choices, instance=None):
25
c0e4fc8b8b5b added the functionality to assign a task to one of the claimed users.
nishanth
parents: 22
diff changeset
    52
    """ return a form object with appropriate choices """
c0e4fc8b8b5b added the functionality to assign a task to one of the claimed users.
nishanth
parents: 22
diff changeset
    53
    
c0e4fc8b8b5b added the functionality to assign a task to one of the claimed users.
nishanth
parents: 22
diff changeset
    54
    class myform(forms.Form):
92
c99f09bebe56 added the capability to remove subtasks/dependencies .
nishanth
parents: 91
diff changeset
    55
        choice = forms.ChoiceField(choices=choices, required=True)
151
d0cb85ba462a no bogus post request can be made now in addmentor page.
nishanth
parents: 136
diff changeset
    56
    form = myform(instance) if instance else myform()
25
c0e4fc8b8b5b added the functionality to assign a task to one of the claimed users.
nishanth
parents: 22
diff changeset
    57
    return form
89
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    58
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    59
def AddTaskForm(task_choices, is_plain=False):
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    60
    """ if is_plain is true, it means the task has no subs/deps.
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    61
    so we also give a radio button to choose between subs and dependencies.
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    62
    else we only give choices.
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    63
    """
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    64
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    65
    class myForm(forms.Form):
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    66
        if is_plain:
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    67
            type_choices = [('S','Subtasks'),('D','Dependencies')]
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    68
            type = forms.ChoiceField(type_choices, widget=forms.RadioSelect)
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    69
90
b2426897ff18 our task model does not meet out needs. so modified it and added a model called map. made the changes in views accordingly.phew!!!. this one took the hell out of me :( .
nishanth
parents: 89
diff changeset
    70
        task = forms.ChoiceField(choices=task_choices)
89
1cc03941ed5d added the capability of adding subtasks/dependencies .
nishanth
parents: 50
diff changeset
    71
    return myForm()
93
1a1e712e60fd finished assign_credits view. hav to integrate it with requests now.
nishanth
parents: 92
diff changeset
    72
1a1e712e60fd finished assign_credits view. hav to integrate it with requests now.
nishanth
parents: 92
diff changeset
    73
def AssignCreditForm(choices, instance=None):
1a1e712e60fd finished assign_credits view. hav to integrate it with requests now.
nishanth
parents: 92
diff changeset
    74
    
1a1e712e60fd finished assign_credits view. hav to integrate it with requests now.
nishanth
parents: 92
diff changeset
    75
    class myForm(forms.Form):
1a1e712e60fd finished assign_credits view. hav to integrate it with requests now.
nishanth
parents: 92
diff changeset
    76
        user = forms.ChoiceField(choices=choices, required=True)
136
8632a44b743d deducing previous credits for a task using the request model. with a few changes, we can ditchax the credits model.
nishanth
parents: 94
diff changeset
    77
        pynts = forms.IntegerField(min_value=0, required=True, help_text="Choose wisely since it cannot be undone.")
93
1a1e712e60fd finished assign_credits view. hav to integrate it with requests now.
nishanth
parents: 92
diff changeset
    78
    return myForm(instance) if instance else myForm()
94
d1f59bbc2685 added capability to remove an assigned user.
nishanth
parents: 93
diff changeset
    79
d1f59bbc2685 added capability to remove an assigned user.
nishanth
parents: 93
diff changeset
    80
def RemoveUserForm(choices, instance=None):
d1f59bbc2685 added capability to remove an assigned user.
nishanth
parents: 93
diff changeset
    81
d1f59bbc2685 added capability to remove an assigned user.
nishanth
parents: 93
diff changeset
    82
    class myForm(forms.Form):
d1f59bbc2685 added capability to remove an assigned user.
nishanth
parents: 93
diff changeset
    83
        user = forms.ChoiceField(choices=choices, required=True)
d1f59bbc2685 added capability to remove an assigned user.
nishanth
parents: 93
diff changeset
    84
        reason = forms.CharField(min_length=1, required=True)
d1f59bbc2685 added capability to remove an assigned user.
nishanth
parents: 93
diff changeset
    85
    return myForm(instance) if instance else myForm()
d1f59bbc2685 added capability to remove an assigned user.
nishanth
parents: 93
diff changeset
    86