Add support for selectively blocking new document version uploads when checking out documents

This commit is contained in:
Roberto Rosario
2012-06-15 19:30:08 -04:00
parent cd89bbd488
commit 4322ac0a02
5 changed files with 30 additions and 4 deletions

View File

@@ -15,6 +15,7 @@ from documents.permissions import (PERMISSION_DOCUMENT_CREATE,
PERMISSION_DOCUMENT_NEW_VERSION)
from documents.models import DocumentType, Document
from documents.conf.settings import THUMBNAIL_SIZE
from documents.exceptions import NewDocumentVersionNotAllowed
from metadata.api import decode_metadata_from_url, metadata_repr_as_list
from permissions.models import Permission
from common.utils import encapsulate
@@ -174,6 +175,11 @@ def upload_interactive(request, source_type=None, source_id=None, document_pk=No
messages.warning(request, _(u'File was not a compressed file, uploaded as it was.'))
return HttpResponseRedirect(request.get_full_path())
except NewDocumentVersionNotAllowed:
if not document.is_new_versions_allowed():
messages.error(request, _(u'The check out options for document currently don\'t allow new version uploads.'))
else:
messages.error(request, _(u'This document currently don\'t allow new version uploads.'))
except Exception, e:
if settings.DEBUG:
raise
@@ -253,6 +259,11 @@ def upload_interactive(request, source_type=None, source_id=None, document_pk=No
return HttpResponseRedirect(reverse('document_view_simple', args=[document.pk]))
else:
return HttpResponseRedirect(request.get_full_path())
except NewDocumentVersionNotAllowed:
if not document.is_new_versions_allowed:
messages.error(request, _(u'The check out options for document currently don\'t allow new version uploads.'))
else:
messages.error(request, _(u'This document currently don\'t allow new version uploads.'))
except Exception, e:
if settings.DEBUG:
raise