from __future__ import unicode_literals from django.utils.translation import ugettext class DocumentCheckoutError(Exception): """ Base checkout exception """ pass class DocumentCheckoutWarning(Warning): """ Base checkout warning """ pass class DocumentNotCheckedOut(DocumentCheckoutError): """ Raised when trying to checkin a document that is not checkedout """ pass class DocumentAlreadyCheckedOut(DocumentCheckoutError): """ Raised when trying to checkout an already checkedout document """ def __unicode__(self): return ugettext('Document already checked out.') class NewDocumentVersionNotAllowed(DocumentCheckoutWarning): """ Uploading new versions for this document is not allowed Current reasons: Document is in checked out state """ pass