diff --git a/mayan/apps/checkouts/apps.py b/mayan/apps/checkouts/apps.py index 9c37c65dc7..5d86957907 100644 --- a/mayan/apps/checkouts/apps.py +++ b/mayan/apps/checkouts/apps.py @@ -22,6 +22,7 @@ from .events import ( event_document_check_out, event_document_forceful_check_in ) from .handlers import handler_check_new_version_creation +from .hooks import hook_is_new_version_allowed from .links import ( link_document_check_in, link_document_checkout, link_document_checkout_info, link_document_checkout_list, link_document_multiple_check_in, @@ -70,6 +71,10 @@ class CheckoutsApp(MayanAppConfig): name='is_checked_out', value=method_is_checked_out ) + DocumentVersion.register_pre_save_hook( + func=hook_is_new_version_allowed + ) + ModelEventType.register( model=Document, event_types=( event_document_auto_check_in, event_document_check_in, diff --git a/mayan/apps/checkouts/hooks.py b/mayan/apps/checkouts/hooks.py index b36a9ccded..8a8e3f03bb 100644 --- a/mayan/apps/checkouts/hooks.py +++ b/mayan/apps/checkouts/hooks.py @@ -9,5 +9,5 @@ def hook_is_new_version_allowed(document_version): ) NewVersionBlock.objects.new_versions_allowed( - document_version=document_version.document + document=document_version.document ) diff --git a/mayan/apps/checkouts/managers.py b/mayan/apps/checkouts/managers.py index 4fb9ba091d..1eca803a63 100644 --- a/mayan/apps/checkouts/managers.py +++ b/mayan/apps/checkouts/managers.py @@ -118,7 +118,7 @@ class NewVersionBlockManager(models.Manager): return self.filter(document=document).exists() def new_versions_allowed(self, document): - if self.filter(document=document).exist(): + if self.filter(document=document).exists(): raise NewDocumentVersionNotAllowed def unblock(self, document):