Catch a DocumentNotCheckedOut exception if user tries to view checkout info on a non checked out document
This commit is contained in:
@@ -101,9 +101,13 @@ def checkin_document(request, document_pk):
|
||||
document = get_object_or_404(Document, pk=document_pk)
|
||||
post_action_redirect = reverse('checkout_info', args=[document.pk])
|
||||
|
||||
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/')))
|
||||
next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/')))
|
||||
|
||||
# If the user trying to check in the document is the same as the check out
|
||||
# user just check for the normal permission otherwise check for the forceful
|
||||
# checkin permission
|
||||
try:
|
||||
if document.checkout_info().user_object == request.user:
|
||||
try:
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_CHECKIN])
|
||||
@@ -114,9 +118,9 @@ def checkin_document(request, document_pk):
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_CHECKIN_OVERRIDE])
|
||||
except PermissionDenied:
|
||||
AccessEntry.objects.check_access(PERMISSION_DOCUMENT_CHECKIN_OVERRIDE, request.user, document)
|
||||
|
||||
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/')))
|
||||
next = request.POST.get('next', request.GET.get('next', post_action_redirect if post_action_redirect else request.META.get('HTTP_REFERER', '/')))
|
||||
except DocumentNotCheckedOut:
|
||||
messages.error(request, _(u'Document has not been checked out.'))
|
||||
return HttpResponseRedirect(previous)
|
||||
|
||||
if request.method == 'POST':
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user