def transition(request, document_id): document = Document.objects.get(pk=document_id) if request.method != 'POST': return HttpResponseRedirect(reverse('todo_detail', args=[document_id])) form = PartialDocumentForm(request.POST) if not form.is_valid(): versionForm = PartialVersionForm() attachmentForm = PartialAttachmentForm() documentForm = form return render(request, 'documents/todo_detail.html', locals()) document.transitionTo(form.cleaned_data['state']) return HttpResponseRedirect(reverse('todo_index'))