Enable Mark Done from task_detail

This commit is contained in:
Scot Hacker 2018-03-24 16:30:43 -07:00
parent 0992c43d8b
commit c03bc3579c
2 changed files with 10 additions and 4 deletions

View file

@ -8,8 +8,7 @@ from django.core.mail import send_mail
from django.http import HttpResponse from django.http import HttpResponse
from django.template.loader import render_to_string from django.template.loader import render_to_string
from todo.models import Item, Comment
from todo.models import Item, TaskList, Comment
def check_user_allowed(user: User) -> HttpResponse: def check_user_allowed(user: User) -> HttpResponse:
@ -25,7 +24,10 @@ def check_user_allowed(user: User) -> HttpResponse:
def toggle_done(request, items): def toggle_done(request, items):
# Check for items in the mark_done POST array. If present, change status to complete. """Check for items in the mark_done POST array. If present, change status to complete.
Takes a list of task IDs. No return value.
"""
for item in items: for item in items:
i = Item.objects.get(id=item) i = Item.objects.get(id=item)
old_state = "completed" if i.completed else "incomplete" old_state = "completed" if i.completed else "incomplete"

View file

@ -194,11 +194,15 @@ def task_detail(request, task_id: int) -> HttpResponse:
if form.is_valid(): if form.is_valid():
form.save() form.save()
messages.success(request, "The task has been edited.") messages.success(request, "The task has been edited.")
return redirect('todo:list_detail', list_id=task.task_list.id, list_slug=task.task_list.slug) return redirect('todo:list_detail', list_id=task.task_list.id, list_slug=task.task_list.slug)
else: else:
form = AddEditItemForm(request.user, instance=task, initial={'task_list': task.task_list}) form = AddEditItemForm(request.user, instance=task, initial={'task_list': task.task_list})
# Mark complete
if request.POST.get('toggle_done'):
toggle_done(request, [task.id, ])
return redirect('todo:task_detail', task_id=task.id,)
if task.due_date: if task.due_date:
thedate = task.due_date thedate = task.due_date
else: else: