Refactor do/undo ops into single toggle function
This commit is contained in:
parent
0c8d31b6af
commit
03c125ca50
1 changed files with 7 additions and 14 deletions
|
@ -8,26 +8,19 @@ from django.template.loader import render_to_string
|
|||
from todo.models import Item
|
||||
|
||||
|
||||
def mark_done(request, done_items):
|
||||
def toggle_done(request, items):
|
||||
# Check for items in the mark_done POST array. If present, change status to complete.
|
||||
for item in done_items:
|
||||
for item in items:
|
||||
i = Item.objects.get(id=item)
|
||||
i.completed = True
|
||||
old_state = "completed" if i.completed else "incomplete"
|
||||
i.completed = not i.completed # Invert the done state, either way
|
||||
new_state = "completed" if i.completed else "incomplete"
|
||||
i.completed_date = datetime.datetime.now()
|
||||
i.save()
|
||||
messages.success(request, "Item \"{i}\" marked complete.".format(i=i.title))
|
||||
messages.success(request, "Item \"{i}\" changed from {o} to {n}.".format(i=i.title, o=old_state, n=new_state))
|
||||
|
||||
|
||||
def undo_completed_task(request, undone_items):
|
||||
# Undo: Set completed items back to incomplete
|
||||
for item in undone_items:
|
||||
i = Item.objects.get(id=item)
|
||||
i.completed = False
|
||||
i.save()
|
||||
messages.success(request, "Previously completed task \"{i}\" marked incomplete.".format(i=i.title))
|
||||
|
||||
|
||||
def del_tasks(request, deleted_items):
|
||||
def toggle_deleted(request, deleted_items):
|
||||
# Delete selected items
|
||||
for item_id in deleted_items:
|
||||
i = Item.objects.get(id=item_id)
|
||||
|
|
Loading…
Reference in a new issue