diff --git a/apps/documents/managers.py b/apps/documents/managers.py index 83555b9568..c69a007254 100644 --- a/apps/documents/managers.py +++ b/apps/documents/managers.py @@ -1,29 +1,9 @@ from __future__ import absolute_import from ast import literal_eval -from datetime import datetime from django.db import models -from .conf.settings import RECENT_COUNT - - -class RecentDocumentManager(models.Manager): - def add_document_for_user(self, user, document): - if user.is_authenticated(): - self.model.objects.filter(user=user, document=document).delete() - new_recent = self.model(user=user, document=document, datetime_accessed=datetime.now()) - new_recent.save() - to_delete = self.model.objects.filter(user=user)[RECENT_COUNT:] - for recent_to_delete in to_delete: - recent_to_delete.delete() - - def get_for_user(self, user): - if user.is_authenticated(): - return [recent_document.document for recent_document in self.model.objects.filter(user=user)] - else: - return [] - class DocumentPageTransformationManager(models.Manager): def get_for_document_page(self, document_page): diff --git a/apps/documents/models.py b/apps/documents/models.py index 135e2e3825..4d7136659a 100644 --- a/apps/documents/models.py +++ b/apps/documents/models.py @@ -29,11 +29,11 @@ from mimetype.api import (get_mimetype, get_icon_file_path, from converter.literals import (DEFAULT_ZOOM_LEVEL, DEFAULT_ROTATION, DEFAULT_PAGE_NUMBER) +from .conf.settings import RECENT_COUNT from .conf.settings import (CHECKSUM_FUNCTION, UUID_FUNCTION, STORAGE_BACKEND, DISPLAY_SIZE, CACHE_PATH, ZOOM_MAX_LEVEL, ZOOM_MIN_LEVEL) -from .managers import (RecentDocumentManager, - DocumentPageTransformationManager) +from .managers import DocumentPageTransformationManager from .utils import document_save_to_temp_dir from .literals import (RELEASE_LEVEL_FINAL, RELEASE_LEVEL_CHOICES, VERSION_UPDATE_MAJOR, VERSION_UPDATE_MINOR, VERSION_UPDATE_MICRO) @@ -616,6 +616,23 @@ class DocumentPageTransformation(models.Model): verbose_name_plural = _(u'document page transformations') +class RecentDocumentManager(models.Manager): + def add_document_for_user(self, user, document): + if user.is_authenticated(): + self.model.objects.filter(user=user, document=document).delete() + new_recent = self.model(user=user, document=document, datetime_accessed=datetime.datetime.now()) + new_recent.save() + to_delete = self.model.objects.filter(user=user)[RECENT_COUNT:] + for recent_to_delete in to_delete: + recent_to_delete.delete() + + def get_for_user(self, user): + if user.is_authenticated(): + return Document.objects.filter(recentdocument__user=user) + else: + return [] + + class RecentDocument(models.Model): """ Keeps a list of the n most recent accessed or created document for