summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornishanth2010-03-04 19:08:47 +0530
committernishanth2010-03-04 19:08:47 +0530
commit41ba7417291d681d76621ceecfc9e5191c46c009 (patch)
tree169beb2dd5c750e0d5cd766e1d39040c922b345e
parentf1d2f36818c7033aaff55767a9413d654f68a4c8 (diff)
downloadpytask-41ba7417291d681d76621ceecfc9e5191c46c009.tar.gz
pytask-41ba7417291d681d76621ceecfc9e5191c46c009.tar.bz2
pytask-41ba7417291d681d76621ceecfc9e5191c46c009.zip
ditchaxed the claims model.
-rw-r--r--taskapp/admin.py3
-rw-r--r--taskapp/events/task.py8
-rw-r--r--taskapp/forms/task.py15
-rw-r--r--taskapp/models.py7
-rw-r--r--taskapp/views/task.py15
-rw-r--r--templates/task/claim.html11
6 files changed, 31 insertions, 28 deletions
diff --git a/taskapp/admin.py b/taskapp/admin.py
index 719c87e..d7d10d2 100644
--- a/taskapp/admin.py
+++ b/taskapp/admin.py
@@ -1,10 +1,9 @@
from django.contrib import admin
-from pytask.taskapp.models import Profile, Task, Comment, Claim, Notification, Request
+from pytask.taskapp.models import Profile, Task, Comment, Notification, Request
admin.site.register(Profile)
admin.site.register(Task)
admin.site.register(Comment)
-admin.site.register(Claim)
admin.site.register(Notification)
admin.site.register(Request)
diff --git a/taskapp/events/task.py b/taskapp/events/task.py
index 5fb896c..ff5556f 100644
--- a/taskapp/events/task.py
+++ b/taskapp/events/task.py
@@ -1,5 +1,5 @@
from datetime import datetime
-from pytask.taskapp.models import Profile, Task, Comment, Claim, Map
+from pytask.taskapp.models import Profile, Task, Comment, Map
from pytask.taskapp.utilities.task import getTask
from pytask.taskapp.utilities.request import create_request
from pytask.taskapp.utilities.helper import get_key
@@ -141,12 +141,6 @@ def addClaim(task, message, user):
task.claimed_users.add(user)
task.save()
- claim = Claim()
- claim.message = message
- claim.task = task
- claim.user = user
- claim.creation_datetime = datetime.now()
- claim.save()
pending_reqs = user.request_sent_to.filter(is_replied=False, is_valid=True, role="MT", task=task).all()
for req in pending_reqs:
diff --git a/taskapp/forms/task.py b/taskapp/forms/task.py
index 5ed21e5..fe949aa 100644
--- a/taskapp/forms/task.py
+++ b/taskapp/forms/task.py
@@ -1,5 +1,5 @@
from django import forms
-from pytask.taskapp.models import Task, Claim
+from pytask.taskapp.models import Task
class TaskCreateForm(forms.ModelForm):
class Meta:
@@ -53,10 +53,15 @@ def AddMentorForm(choices,instance=None):
form = myform(instance) if instance else myform()
return form
-class ClaimTaskForm(forms.ModelForm):
- class Meta:
- model = Claim
- fields = ['message']
+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 """
diff --git a/taskapp/models.py b/taskapp/models.py
index e4607c8..d5ad48e 100644
--- a/taskapp/models.py
+++ b/taskapp/models.py
@@ -127,13 +127,6 @@ class Comment(models.Model):
def __unicode__(self):
return unicode(self.task.title)
-class Claim(models.Model):
-
- task = models.ForeignKey('Task')
- user = models.ForeignKey(User)
- message = models.TextField()
- creation_datetime = models.DateTimeField()
-
class Request(models.Model):
sent_to = models.ManyToManyField(User, related_name = "%(class)s_sent_to", blank = False)
diff --git a/taskapp/views/task.py b/taskapp/views/task.py
index 4f8b6c4..8a0c1cc 100644
--- a/taskapp/views/task.py
+++ b/taskapp/views/task.py
@@ -3,9 +3,9 @@ from datetime import datetime
from django.http import HttpResponse, Http404
from django.shortcuts import render_to_response, redirect
-from pytask.taskapp.models import User, Task, Comment, Claim, Request, Notification
+from pytask.taskapp.models import User, Task, Comment, Request, Notification
from pytask.taskapp.utilities.task import getTask
-from pytask.taskapp.forms.task import TaskCreateForm, AddMentorForm, AddTaskForm, ChoiceForm, AssignCreditForm, RemoveUserForm, EditTaskForm
+from pytask.taskapp.forms.task import TaskCreateForm, AddMentorForm, AddTaskForm, ChoiceForm, AssignCreditForm, RemoveUserForm, EditTaskForm, ClaimTaskForm
from pytask.taskapp.events.task import createTask, reqMentor, publishTask, addSubTask, addDep, addClaim, assignTask, updateTask, removeTask, removeUser, assignCredits, completeTask, closeTask, addMentor, deleteTask
from pytask.taskapp.views.user import show_msg
from pytask.taskapp.utilities.user import get_user
@@ -342,7 +342,7 @@ def claim_task(request, tid):
user = get_user(request.user) if request.user.is_authenticated() else request.user
task = getTask(tid)
- #claims = Claim.objects.filter(task=task)
+
#claims = task.notifications_task.filter(role="CL",sent_to=task.created_by)
# this is what the next line should be when i re sync the db
claims = Notification.objects.filter(task=task, sent_to=task.created_by, role="CL")
@@ -368,13 +368,16 @@ def claim_task(request, tid):
'errors':errors}
if not is_guest:
+ form = ClaimTaskForm()
+ context['form'] = form
if request.method == "POST":
- claim_proposal = request.POST['message']
- if claim_proposal:
+ form = ClaimTaskForm(request.POST)
+ context['form'] = form
+ if form.is_valid():
+ claim_proposal = form.cleaned_data['message']
addClaim(task, claim_proposal, user)
return redirect(claim_url)
else:
- errors.append('Please fill up proposal in the field below')
return render_to_response('task/claim.html', context)
else:
return render_to_response('task/claim.html', context)
diff --git a/templates/task/claim.html b/templates/task/claim.html
index d069bb6..d4858d4 100644
--- a/templates/task/claim.html
+++ b/templates/task/claim.html
@@ -26,6 +26,7 @@
<a href="/task/assign/tid={{task.id}}">Select a user to assign the work.</a><sup><a href="/about/assigntask/" target="_blank">learn more</a></sup>
{% endif %}
{% if user_can_claim %}
+ <!--
{% if errors %}
{% for error in errors %}
{{error}}<br />
@@ -37,7 +38,15 @@
<form action="" method="post">
<textarea name="message"></textarea><br />
<input type="submit" value="Submit Claim"><br />
- Please note that you can claim only once and so write your proposal carefully.<br />
+
</form>
+ -->
+ <hr />
+ <form action="" method="post">
+ {{form.as_p}}
+ <input type="submit" value="Submit Claim"><br />
+ Please note that you can claim only once and so write your proposal carefully.<br />
+ </form>
{% endif %}
+
{% endblock %}