From 493ba214f2f5d27b7181e2ec1ef4c8e98bed4e52 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 6 Aug 2018 14:57:28 -0400 Subject: [PATCH] Sort the manager methods of the checkouts app. Signed-off-by: Roberto Rosario --- mayan/apps/checkouts/managers.py | 78 ++++++++++++++++---------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/mayan/apps/checkouts/managers.py b/mayan/apps/checkouts/managers.py index a42fa7ba95..cdd4946fa4 100644 --- a/mayan/apps/checkouts/managers.py +++ b/mayan/apps/checkouts/managers.py @@ -19,37 +19,13 @@ logger = logging.getLogger(__name__) class DocumentCheckoutManager(models.Manager): - def checkout_document(self, document, expiration_datetime, user, block_new_version=True): - return self.create( - document=document, expiration_datetime=expiration_datetime, - user=user, block_new_version=block_new_version - ) - - def checked_out_documents(self): - return Document.objects.filter( - pk__in=self.model.objects.all().values_list( - 'document__pk', flat=True - ) - ) - - def expired_check_outs(self): - expired_list = Document.objects.filter( - pk__in=self.model.objects.filter( - expiration_datetime__lte=now() - ).values_list('document__pk', flat=True) - ) - logger.debug('expired_list: %s', expired_list) - return expired_list - - def check_in_expired_check_outs(self): - for document in self.expired_check_outs(): - document.check_in() - - def is_document_checked_out(self, document): - if self.model.objects.filter(document=document): + def are_document_new_versions_allowed(self, document, user=None): + try: + checkout_info = self.document_checkout_info(document) + except DocumentNotCheckedOut: return True else: - return False + return not checkout_info.block_new_version def check_in_document(self, document, user=None): try: @@ -69,6 +45,23 @@ class DocumentCheckoutManager(models.Manager): document_checkout.delete() + def check_in_expired_check_outs(self): + for document in self.expired_check_outs(): + document.check_in() + + def checkout_document(self, document, expiration_datetime, user, block_new_version=True): + return self.create( + document=document, expiration_datetime=expiration_datetime, + user=user, block_new_version=block_new_version + ) + + def checked_out_documents(self): + return Document.objects.filter( + pk__in=self.model.objects.all().values_list( + 'document__pk', flat=True + ) + ) + def document_checkout_info(self, document): try: return self.model.objects.get(document=document) @@ -81,13 +74,14 @@ class DocumentCheckoutManager(models.Manager): else: return STATE_CHECKED_IN - def are_document_new_versions_allowed(self, document, user=None): - try: - checkout_info = self.document_checkout_info(document) - except DocumentNotCheckedOut: - return True - else: - return not checkout_info.block_new_version + def expired_check_outs(self): + expired_list = Document.objects.filter( + pk__in=self.model.objects.filter( + expiration_datetime__lte=now() + ).values_list('document__pk', flat=True) + ) + logger.debug('expired_list: %s', expired_list) + return expired_list def get_by_natural_key(self, document_natural_key): Document = apps.get_model( @@ -100,14 +94,17 @@ class DocumentCheckoutManager(models.Manager): return self.get(document__pk=document.pk) + def is_document_checked_out(self, document): + if self.model.objects.filter(document=document): + return True + else: + return False + class NewVersionBlockManager(models.Manager): def block(self, document): self.get_or_create(document=document) - def unblock(self, document): - self.filter(document=document).delete() - def is_blocked(self, document): return self.filter(document=document).exists() @@ -121,3 +118,6 @@ class NewVersionBlockManager(models.Manager): raise self.model.DoesNotExist return self.get(document__pk=document.pk) + + def unblock(self, document): + self.filter(document=document).delete()