# HG changeset patch
# User anoop
# Date 1267010523 -19800
# Node ID fd6b28204fb19998e49ffdf90fde14645fbe03e3
# Parent c5bcafccc13500791dfd8d6b965320a50e43f1d3# Parent 8f2906d1200a4212315bb4a5aa11947b8b3493f6
merged.
diff -r c5bcafccc135 -r fd6b28204fb1 taskapp/events/task.py
--- a/taskapp/events/task.py Wed Feb 24 16:49:30 2010 +0530
+++ b/taskapp/events/task.py Wed Feb 24 16:52:03 2010 +0530
@@ -120,7 +120,7 @@
try:
task.title = title
task.save()
- except IntegrityError:
+ except Task.IntegrityError:
return None
if desc:task.desc = desc
if credits:task.credits = credits
diff -r c5bcafccc135 -r fd6b28204fb1 taskapp/views/task.py
--- a/taskapp/views/task.py Wed Feb 24 16:49:30 2010 +0530
+++ b/taskapp/views/task.py Wed Feb 24 16:52:03 2010 +0530
@@ -128,12 +128,15 @@
if (not is_guest) and user in task.mentors.all():
## now iam going for a brute force method
- user_list = list(User.objects.all())
+ user_list = list(User.objects.filter(is_active=True))
for mentor in task.mentors.all():
user_list.remove(mentor)
for a_user in task.claimed_users.all():
user_list.remove(a_user)
+
+ for a_user in task.assigned_users.all():
+ user_list.remove(a_user)
non_mentors = ((_.id,_.username) for _ in user_list)
## code till must be made elegant and not brute force like above
@@ -193,18 +196,20 @@
user = request.user
task = getTask(tid)
claims = Claim.objects.filter(task=task)
+
+ mentors = task.mentors.all()
+ claimed_users = task.claimed_users.all()
+ assigned_users = task.assigned_users.all()
is_guest = True if not user.is_authenticated() else False
- if user in task.mentors.all():
- is_mentor = True
- else:
- is_mentor = False
+ is_mentor = True if user in mentors else False
- task_claimable = True if task.status in ["OP", "RE", "CL"] else False
- user_can_claim = True if task_claimable and not ( is_guest or is_mentor ) and ( user not in task.claimed_users.all() ) else False
- task_claimed = True if task.status == "CL" else False
+ task_claimable = True if task.status in ["OP", "WR"] else False
+ user_can_claim = True if task_claimable and not ( is_guest or is_mentor ) and ( user not in claimed_users ) and ( user not in assigned_users ) else False
+ task_claimed = True if claimed_users else False
- context = {'is_mentor':is_mentor,
+ context = {'user':user,
+ 'is_mentor':is_mentor,
'task':task,
'claims':claims,
'user_can_claim':user_can_claim,
@@ -240,11 +245,14 @@
is_guest = True if not user.is_authenticated() else False
is_mentor = True if user in task.mentors.all() else False
- task_claimed = True if task.status == "CL" else False
+ claimed_users = task.claimed_users.all()
+ assigned_users = task.assigned_users.all()
+
+ task_claimed = True if claimed_users else False
if (not is_guest) and is_mentor:
if task_claimed:
- user_list = ((user.id,user.username) for user in task.claimed_users.all())
+ user_list = ((user.id,user.username) for user in claimed_users)
form = AssignTaskForm(user_list)
if request.method == "POST":
@@ -254,12 +262,10 @@
return redirect(task_url)
else:
return render_to_response('task/assign.html',{'form':form})
- elif task.status == "AS":
- return show_msg('The task is already assigned', task_url, 'view the task')
- elif task.status == "OP":
- return show_msg('No one has still claimed the task', task_url, 'view the task')
+ elif assigned_users:
+ return show_msg('When the no of users you need for the task is more than the no of users willing to do the task, I\'d say please re consider the task :P',task_url, 'view the task')
else:
- return show_msg('The task status is %s. how can you assign it now'%task.status, task_url, 'view the task')
+ return show_msg('Wait for ppl to claim dude... slow and steady wins the race :)', task_url, 'view the task')
else:
return show_msg('You are not authorised to perform this action', task_url, 'view the task')
@@ -268,4 +274,4 @@
and then give the user fields accordingly.
"""
- return None
+ task = Task.objects.get(id=tid)
diff -r c5bcafccc135 -r fd6b28204fb1 templates/task/claim.html
--- a/templates/task/claim.html Wed Feb 24 16:49:30 2010 +0530
+++ b/templates/task/claim.html Wed Feb 24 16:52:03 2010 +0530
@@ -8,11 +8,15 @@
{{claim.message}}
{% endfor %}
{% else %}
- There are no claims for this task yet.
+ {% if task_claimable%}
+ There are no claims for this task yet.
+ {% else %}
+ This task cannot be claimed right now.
+ {% endif %}
Click here to return to the task.
{% endif %}
{% if task_claimed and is_mentor %}
- Assign task
+ Select a user to assign the work.
{% endif %}
{% if user_can_claim %}