taskapp/views/task.py
changeset 90 b2426897ff18
parent 89 1cc03941ed5d
child 91 1b5ad4b7c40e
equal deleted inserted replaced
89:1cc03941ed5d 90:b2426897ff18
    31     
    31     
    32     user = request.user
    32     user = request.user
    33     task = getTask(tid)
    33     task = getTask(tid)
    34     comments = Comment.objects.filter(task=task)
    34     comments = Comment.objects.filter(task=task)
    35     mentors = task.mentors.all()
    35     mentors = task.mentors.all()
    36     subs = task.subs.all()
    36 
    37     deps = task.deps.all()
    37     deps, subs = task.deps, task.subs
       
    38     
    38     errors = []
    39     errors = []
    39     
    40     
    40     is_guest = True if not user.is_authenticated() else False
    41     is_guest = True if not user.is_authenticated() else False
    41     is_mentor = True if user in task.mentors.all() else False
    42     is_mentor = True if user in task.mentors.all() else False
    42     context = {'user':user,
    43     context = {'user':user,
    60     context['assigned_users'] = task.assigned_users.all()
    61     context['assigned_users'] = task.assigned_users.all()
    61    
    62    
    62     if request.method == 'POST':
    63     if request.method == 'POST':
    63         if not is_guest:
    64         if not is_guest:
    64             data = request.POST["data"]
    65             data = request.POST["data"]
    65             task = getTask(tid)
       
    66             new_comment = Comment(task=task, data=data, created_by=user, creation_datetime=datetime.now())
    66             new_comment = Comment(task=task, data=data, created_by=user, creation_datetime=datetime.now())
    67             new_comment.save()
    67             new_comment.save()
    68             return redirect(task_url)
    68             return redirect(task_url)
    69         else:
    69         else:
    70             errors.append("You must be logged in to post a comment")
    70             errors.append("You must be logged in to post a comment")
   160     task_url = "/task/view/tid=%s"%tid
   160     task_url = "/task/view/tid=%s"%tid
   161     
   161     
   162     user = request.user
   162     user = request.user
   163     task = getTask(tid)
   163     task = getTask(tid)
   164 
   164 
   165     deps = task.deps.all()
   165     deps, subs = task.deps, task.subs
   166     subs = task.subs.all()
       
   167 
       
   168     is_plain = False if deps or subs else True
   166     is_plain = False if deps or subs else True
   169 
   167 
   170     ## again a brute force method
   168     ## again a brute force method
   171     valid_tasks = []
   169     valid_tasks = []
   172     for a_task in Task.objects.all():
   170     for a_task in Task.objects.all():
   173         if not ( a_task.status in deps or a_task in subs or a_task.status=="CD" or a_task==task ):
   171         if not ( a_task in deps or a_task in subs or a_task.status=="CD" or a_task==task ):
   174             valid_tasks.append(a_task)
   172             valid_tasks.append(a_task)
   175 
   173 
   176     task_choices = [ (_.id,_.title) for _ in valid_tasks ]
   174     task_choices = [ (_.id,_.title) for _ in valid_tasks ]
   177     errors = []
   175     errors = []
   178     
   176     
   183             form = AddTaskForm(task_choices, is_plain)
   181             form = AddTaskForm(task_choices, is_plain)
   184             if request.method == "POST":
   182             if request.method == "POST":
   185                 ## first decide if adding subs and deps can be in same page
   183                 ## first decide if adding subs and deps can be in same page
   186                 ## only exclude tasks with status deleted
   184                 ## only exclude tasks with status deleted
   187                 data = request.POST
   185                 data = request.POST
   188                 print data
       
   189                 if is_plain and not data.get('type', None): errors.append('Please choose which type of task(s) do you want to add.')
   186                 if is_plain and not data.get('type', None): errors.append('Please choose which type of task(s) do you want to add.')
   190                 if not data.get('task', None): errors.append('Please choose a one task')
   187                 if not data.get('task', None): errors.append('Please choose a one task')
   191 
   188 
   192                 if not errors:
   189                 if not errors:
   193                     if is_plain:
   190                     if is_plain:
   200                         print "Screw you"
   197                         print "Screw you"
   201 
   198 
   202                     ## we might iterate over a task list later on
   199                     ## we might iterate over a task list later on
   203                     task_id = data['task']
   200                     task_id = data['task']
   204                     sub_or_dep = getTask(task_id)
   201                     sub_or_dep = getTask(task_id)
   205                     print task_id, sub_or_dep
       
   206                     update_method(task, sub_or_dep)
   202                     update_method(task, sub_or_dep)
   207 
   203 
   208                     return redirect(task_url)
   204                     return redirect(task_url)
   209                 else:
   205                 else:
   210                     return render_to_response('task/addtask.html', {'user':user, 'form':form, 'errors':errors})
   206                     return render_to_response('task/addtask.html', {'user':user, 'form':form, 'errors':errors})