diff --git a/mayan/apps/acls/models.py b/mayan/apps/acls/models.py index daea547249..a17612a95c 100644 --- a/mayan/apps/acls/models.py +++ b/mayan/apps/acls/models.py @@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals import logging -from django.contrib.contenttypes import generic +from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.models import ContentType from django.db import models from django.utils.encoding import python_2_unicode_compatible @@ -26,7 +26,7 @@ class AccessControlList(models.Model): related_name='object_content_type' ) object_id = models.PositiveIntegerField() - content_object = generic.GenericForeignKey( + content_object = GenericForeignKey( ct_field='content_type', fk_field='object_id', ) diff --git a/mayan/apps/common/urls.py b/mayan/apps/common/urls.py index 7440753df3..ae32b7d82f 100644 --- a/mayan/apps/common/urls.py +++ b/mayan/apps/common/urls.py @@ -57,6 +57,8 @@ urlpatterns += patterns( ), ( r'^favicon\.ico$', - RedirectView.as_view(url=static('appearance/images/favicon.ico')) + RedirectView.as_view( + permanent=True, url=static('appearance/images/favicon.ico') + ) ), ) diff --git a/mayan/apps/converter/models.py b/mayan/apps/converter/models.py index 3f27dab0ad..817ee605ee 100644 --- a/mayan/apps/converter/models.py +++ b/mayan/apps/converter/models.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals import logging -from django.contrib.contenttypes import generic +from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.models import ContentType from django.db import models from django.db.models import Max @@ -25,7 +25,7 @@ class Transformation(models.Model): content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() - content_object = generic.GenericForeignKey('content_type', 'object_id') + content_object = GenericForeignKey('content_type', 'object_id') order = models.PositiveIntegerField( blank=True, db_index=True, default=0, help_text=_( diff --git a/mayan/apps/document_states/handlers.py b/mayan/apps/document_states/handlers.py index 35675647dc..e97fdcfed4 100644 --- a/mayan/apps/document_states/handlers.py +++ b/mayan/apps/document_states/handlers.py @@ -1,8 +1,10 @@ from __future__ import unicode_literals +from django.db.models import get_model + def launch_workflow(sender, instance, created, **kwargs): - Workflow = sender.get_model('Workflow') + Workflow = get_model('document_states', 'Workflow') if created: Workflow.objects.launch_for(instance) diff --git a/mayan/apps/documents/handlers.py b/mayan/apps/documents/handlers.py index 393cc9ec78..ec185e87d6 100644 --- a/mayan/apps/documents/handlers.py +++ b/mayan/apps/documents/handlers.py @@ -1,10 +1,11 @@ from __future__ import unicode_literals +from django.db.models import get_model from django.utils.translation import ugettext_lazy as _ def create_default_document_type(sender, **kwargs): - DocumentType = sender.get_model('DocumentType') + DocumentType = get_model('documents', 'DocumentType') if not DocumentType.objects.count(): DocumentType.objects.create(label=_('Default')) diff --git a/mayan/apps/metadata/handlers.py b/mayan/apps/metadata/handlers.py index dc27e86bf0..d65e7a8c13 100644 --- a/mayan/apps/metadata/handlers.py +++ b/mayan/apps/metadata/handlers.py @@ -2,6 +2,8 @@ from __future__ import unicode_literals import logging +from django.db.models import get_model + from .tasks import task_add_required_metadata_type, task_remove_metadata_type logger = logging.getLogger(__name__) @@ -36,7 +38,7 @@ def post_post_document_type_change_metadata(sender, instance, **kwargs): for metadata in instance.metadata.all(): metadata.delete(enforce_required=False) - DocumentMetadata = sender.get_model('DocumentMetadata') + DocumentMetadata = get_model('metadata', 'DocumentMetadata') # Add new document type metadata types to document for document_type_metadata_type in instance.document_type.metadata.filter(required=True): diff --git a/mayan/apps/ocr/handlers.py b/mayan/apps/ocr/handlers.py index 959398e10b..5e41ae6074 100644 --- a/mayan/apps/ocr/handlers.py +++ b/mayan/apps/ocr/handlers.py @@ -2,10 +2,12 @@ from __future__ import unicode_literals import logging -logger = logging.getLogger(__name__) +from django.db.models import get_model from .settings import setting_auto_ocr +logger = logging.getLogger(__name__) + def post_version_upload_ocr(sender, instance, **kwargs): logger.debug('received post_version_upload') @@ -15,7 +17,7 @@ def post_version_upload_ocr(sender, instance, **kwargs): def initialize_new_ocr_settings(sender, instance, **kwargs): - DocumentTypeSettings = sender.get_model('DocumentTypeSettings') + DocumentTypeSettings = get_model('ocr', 'DocumentTypeSettings') if kwargs['created']: DocumentTypeSettings.objects.create( diff --git a/mayan/apps/sources/handlers.py b/mayan/apps/sources/handlers.py index 0af79e626b..7204cab63e 100644 --- a/mayan/apps/sources/handlers.py +++ b/mayan/apps/sources/handlers.py @@ -1,14 +1,13 @@ from __future__ import unicode_literals +from django.db.models import get_model from django.utils.translation import ugettext_lazy as _ -from converter.models import Transformation - from .literals import SOURCE_UNCOMPRESS_CHOICE_ASK def create_default_document_source(sender, **kwargs): - WebFormSource = sender.get_model('WebFormSource') + WebFormSource = get_model('sources', 'WebFormSource') if not WebFormSource.objects.count(): WebFormSource.objects.create( @@ -17,7 +16,7 @@ def create_default_document_source(sender, **kwargs): def copy_transformations_to_version(sender, **kwargs): - Transformation = sender.get_model('Transformation') + Transformation = get_model('converter', 'Transformation') instance = kwargs['instance'] @@ -29,9 +28,9 @@ def copy_transformations_to_version(sender, **kwargs): def initialize_periodic_tasks(sender, **kwargs): - POP3Email = sender.get_model('POP3Email') - IMAPEmail = sender.get_model('IMAPEmail') - WatchFolderSource = sender.get_model('WatchFolderSource') + POP3Email = get_model('sources', 'POP3Email') + IMAPEmail = get_model('sources', 'IMAPEmail') + WatchFolderSource = get_model('sources', 'WatchFolderSource') for source in POP3Email.objects.filter(enabled=True): source.save()