Example #1
0
def edit_task(request, id):
    """edit and existing task"""
    mm = MessageManager(request)
    t = get_object_or_404(Task, pk=id)
    if request.user.is_authenticated() and request.user.username == t.user.username:
        if request.POST:
    #        receive sent form
            form = NewTaskForm(request.POST)
            if form.is_valid():
                mm.set_success("task updated")
                t.due_date = form.cleaned_data['due_date']
                t.description = form.cleaned_data['description']
                notify = form.cleaned_data['notify']
                if notify is False:
                    t.notify = False
                else:
                    t.notify = True
                t.save()
                return redirect(t.get_absolute_url())
            else:
                mm.set_error("error")
    #            error
                pass
        else:
    #        setup new form
            form = NewTaskForm(initial={'due_date':t.due_date, 'description':t.description, 'notify':t.notify})
        return render(request, 'tasks/edit.html', {'form':form, 'task':t}, mm.messages())
    else:
        mm.set_notice("you are not authorized to edit that task.")
        return redirect(request.META.get('HTTP_REFERER','/'))
Example #2
0
def add_task(request):
    """add a new task"""
    mm = MessageManager(request)
    if request.POST:
#        receive sent form
        form = NewTaskForm(request.POST)
        if form.is_valid():
            mm.set_success("task created")
            dd = form.cleaned_data['due_date']
            desc = form.cleaned_data['description']
            note = form.cleaned_data['notify']
            task = Task(due_date=dd, description=desc, notify=note, author=request.user, status=0)
            task.set_object(request.user)
            task.save()
            return redirect(request.user.get_absolute_url())
        else:
            mm.set_error("error")
#            error
            pass
    else:
#        setup new form
        form = NewTaskForm()
    return render(request, 'tasks/new.html', {'form':form}, mm.messages())