19 lines
580 B
Python
19 lines
580 B
Python
from __future__ import unicode_literals
|
|
|
|
from django.apps import apps
|
|
|
|
from .exceptions import NewDocumentVersionNotAllowed
|
|
|
|
|
|
def check_new_version_creation(sender, instance, **kwargs):
|
|
"""
|
|
Make sure that new version creation is allowed for this document
|
|
"""
|
|
NewVersionBlock = apps.get_model(
|
|
app_label='checkouts', model_name='NewVersionBlock'
|
|
)
|
|
|
|
if NewVersionBlock.objects.is_blocked(instance.document) and not instance.pk:
|
|
# Block only new versions (no pk), not existing version being updated.
|
|
raise NewDocumentVersionNotAllowed
|