diff --git a/mayan/apps/document_indexing/admin.py b/mayan/apps/document_indexing/admin.py index 1b9c833754..dd9f239d45 100644 --- a/mayan/apps/document_indexing/admin.py +++ b/mayan/apps/document_indexing/admin.py @@ -4,8 +4,8 @@ from django.contrib import admin from mptt.admin import MPTTModelAdmin -from .models import (Index, IndexTemplateNode, IndexInstanceNode, - DocumentRenameCount) +from .models import (DocumentRenameCount, Index, IndexInstanceNode, + IndexTemplateNode) class IndexTemplateNodeAdmin(MPTTModelAdmin): @@ -17,7 +17,7 @@ class IndexInstanceNodeAdmin(MPTTModelAdmin): list_display = ('value',) +admin.site.register(DocumentRenameCount) admin.site.register(Index) admin.site.register(IndexTemplateNode, IndexTemplateNodeAdmin) admin.site.register(IndexInstanceNode, IndexInstanceNodeAdmin) -admin.site.register(DocumentRenameCount) diff --git a/mayan/apps/document_indexing/links.py b/mayan/apps/document_indexing/links.py index 5aff8114d7..214709ca33 100644 --- a/mayan/apps/document_indexing/links.py +++ b/mayan/apps/document_indexing/links.py @@ -4,22 +4,22 @@ from django.utils.translation import ugettext_lazy as _ from documents.permissions import PERMISSION_DOCUMENT_VIEW -from .permissions import (PERMISSION_DOCUMENT_INDEXING_VIEW, - PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES, - PERMISSION_DOCUMENT_INDEXING_SETUP, - PERMISSION_DOCUMENT_INDEXING_CREATE, - PERMISSION_DOCUMENT_INDEXING_EDIT, - PERMISSION_DOCUMENT_INDEXING_DELETE) - - -def is_not_root_node(context): - return not context['node'].is_root_node() +from .permissions import (PERMISSION_DOCUMENT_INDEXING_CREATE, + PERMISSION_DOCUMENT_INDEXING_EDIT, + PERMISSION_DOCUMENT_INDEXING_DELETE, + PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES, + PERMISSION_DOCUMENT_INDEXING_SETUP, + PERMISSION_DOCUMENT_INDEXING_VIEW) def is_not_instance_root_node(context): return not context['object'].is_root_node() +def is_not_root_node(context): + return not context['node'].is_root_node() + + index_setup = {'text': _(u'Indexes'), 'view': 'indexing:index_setup_list', 'icon': 'tab.png', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP], 'children_view_regex': [r'^index_setup', r'^template_node']} index_setup_list = {'text': _(u'Index list'), 'view': 'indexing:index_setup_list', 'famfam': 'tab', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]} index_setup_create = {'text': _(u'Create index'), 'view': 'indexing:index_setup_create', 'famfam': 'tab_add', 'permissions': [PERMISSION_DOCUMENT_INDEXING_CREATE]} diff --git a/mayan/apps/document_indexing/utils.py b/mayan/apps/document_indexing/utils.py index cf9af08c22..465cca6763 100644 --- a/mayan/apps/document_indexing/utils.py +++ b/mayan/apps/document_indexing/utils.py @@ -1,6 +1,8 @@ +from __future__ import absolute_import + from django.utils.translation import ugettext_lazy as _ -from document_indexing.api import get_breadcrumbs +from .api import get_breadcrumbs def get_document_indexing_subtemplate(document): @@ -14,10 +16,10 @@ def get_document_indexing_subtemplate(document): object_list.append(get_breadcrumbs(index_instance, single_link=True, include_count=True)) return { - 'name': 'main/generic_list_subtemplate.html', - 'context': { - 'title': _(u'document indexes'), - 'object_list': object_list, - 'hide_link': True - } + 'name': 'main/generic_list_subtemplate.html', + 'context': { + 'title': _(u'document indexes'), + 'object_list': object_list, + 'hide_link': True } + } diff --git a/mayan/apps/document_indexing/views.py b/mayan/apps/document_indexing/views.py index e38af610fb..63b5a7dba6 100644 --- a/mayan/apps/document_indexing/views.py +++ b/mayan/apps/document_indexing/views.py @@ -5,7 +5,7 @@ from django.contrib import messages from django.core.exceptions import PermissionDenied from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect -from django.shortcuts import render_to_response, get_object_or_404 +from django.shortcuts import get_object_or_404, render_to_response from django.template import RequestContext from django.utils.html import mark_safe from django.utils.translation import ugettext_lazy as _ @@ -15,19 +15,19 @@ from acls.utils import apply_default_acls from common.utils import encapsulate, generate_choices_w_labels from common.views import assign_remove from common.widgets import two_state_template -from documents.permissions import PERMISSION_DOCUMENT_VIEW from documents.models import Document +from documents.permissions import PERMISSION_DOCUMENT_VIEW from documents.views import document_list from permissions.models import Permission from .forms import IndexForm, IndexTemplateNodeForm -from .models import Index, IndexTemplateNode, IndexInstanceNode -from .permissions import (PERMISSION_DOCUMENT_INDEXING_VIEW, +from .models import Index, IndexInstanceNode, IndexTemplateNode +from .permissions import (PERMISSION_DOCUMENT_INDEXING_CREATE, + PERMISSION_DOCUMENT_INDEXING_DELETE, + PERMISSION_DOCUMENT_INDEXING_EDIT, PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES, PERMISSION_DOCUMENT_INDEXING_SETUP, - PERMISSION_DOCUMENT_INDEXING_CREATE, - PERMISSION_DOCUMENT_INDEXING_EDIT, - PERMISSION_DOCUMENT_INDEXING_DELETE) + PERMISSION_DOCUMENT_INDEXING_VIEW) from .tools import do_rebuild_all_indexes from .widgets import index_instance_item_link, get_breadcrumbs, node_level @@ -57,7 +57,7 @@ def index_setup_list(request): context['object_list'] = queryset return render_to_response('main/generic_list.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def index_setup_create(request): @@ -140,7 +140,7 @@ def index_setup_delete(request, index_pk): } return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def index_setup_view(request, index_pk): @@ -169,7 +169,7 @@ def index_setup_view(request, index_pk): } return render_to_response('main/generic_list.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def index_setup_document_types(request, index_pk): @@ -293,7 +293,7 @@ def template_node_delete(request, node_pk): } return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) # User views @@ -320,7 +320,7 @@ def index_list(request): context['object_list'] = queryset return render_to_response('main/generic_list.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def index_instance_node_view(request, index_instance_node_pk): diff --git a/mayan/apps/documents/__init__.py b/mayan/apps/documents/__init__.py index 63d510a228..7ca6e8e57b 100644 --- a/mayan/apps/documents/__init__.py +++ b/mayan/apps/documents/__init__.py @@ -11,7 +11,7 @@ from history.api import register_history_type from history.permissions import PERMISSION_HISTORY_VIEW from main.api import register_diagnostic, register_maintenance_links from navigation.api import (register_links, register_model_list_columns, - register_multi_item_links,register_top_menu) + register_multi_item_links, register_top_menu) from project_setup.api import register_setup from rest_api.classes import APIEndPoint from statistics.classes import StatisticNamespace @@ -70,7 +70,6 @@ register_history_type(HISTORY_DOCUMENT_DELETED) # Register document type links register_links(DocumentType, [document_type_edit, document_type_delete, document_type_filename_list]) register_links(DocumentTypeFilename, [document_type_filename_edit, document_type_filename_delete]) - register_links(['documents:setup_document_type_metadata', 'documents:document_type_filename_delete', 'documents:document_type_create', 'documents:document_type_filename_create', 'documents:document_type_filename_edit', 'documents:document_type_filename_list', 'documents:document_type_list', 'documents:document_type_edit', 'documents:document_type_delete'], [document_type_list, document_type_create], menu_name='secondary_menu') register_links([DocumentTypeFilename, 'documents:document_type_filename_list', 'documents:document_type_filename_create'], [document_type_filename_create], menu_name='sidebar') @@ -80,9 +79,7 @@ register_multi_item_links(['documents:document_find_duplicates', 'folders:folder # Document Version links register_links(DocumentVersion, [document_version_revert, document_version_download]) - secondary_menu_links = [document_list_recent, document_list] - register_links(['documents:document_list_recent', 'documents:document_list', 'sources:document_create', 'sources:document_create_multiple', 'sources:upload_interactive', 'sources:staging_file_delete'], secondary_menu_links, menu_name='secondary_menu') register_links(Document, secondary_menu_links, menu_name='secondary_menu') @@ -99,16 +96,13 @@ register_links(DocumentPage, [ ], menu_name='related') register_links(['documents:document_page_view'], [document_page_rotate_left, document_page_rotate_right, document_page_zoom_in, document_page_zoom_out, document_page_view_reset], menu_name='form_header') - register_links(DocumentPageTransformation, [document_page_transformation_edit, document_page_transformation_delete]) register_links('documents:document_page_transformation_list', [document_page_transformation_create], menu_name='sidebar') register_links('documents:document_page_transformation_create', [document_page_transformation_create], menu_name='sidebar') register_links(['documents:document_page_transformation_edit', 'documents:document_page_transformation_delete'], [document_page_transformation_create], menu_name='sidebar') register_diagnostic('documents', _(u'Documents'), document_missing_list) - register_maintenance_links([document_find_all_duplicates, document_update_page_count, document_clear_image_cache], namespace='documents', title=_(u'documents')) - register_model_list_columns(Document, [ { 'name': _(u'Thumbnail'), 'attribute': @@ -137,17 +131,15 @@ if (not validate_path(document_settings.CACHE_PATH)) or (not document_settings.C register_setup(document_type_setup) -class_permissions(Document, [ - PERMISSION_DOCUMENT_PROPERTIES_EDIT, - PERMISSION_DOCUMENT_EDIT, - PERMISSION_DOCUMENT_VIEW, - PERMISSION_DOCUMENT_DELETE, - PERMISSION_DOCUMENT_DOWNLOAD, - PERMISSION_DOCUMENT_TRANSFORM, - PERMISSION_DOCUMENT_NEW_VERSION, - PERMISSION_DOCUMENT_VERSION_REVERT, - PERMISSION_HISTORY_VIEW -]) +class_permissions(Document, [PERMISSION_DOCUMENT_DELETE, + PERMISSION_DOCUMENT_DOWNLOAD, + PERMISSION_DOCUMENT_EDIT, + PERMISSION_DOCUMENT_NEW_VERSION, + PERMISSION_DOCUMENT_PROPERTIES_EDIT, + PERMISSION_DOCUMENT_TRANSFORM, + PERMISSION_DOCUMENT_VERSION_REVERT, + PERMISSION_DOCUMENT_VIEW, + PERMISSION_HISTORY_VIEW]) document_search = SearchModel('documents', 'Document') document_search.add_model_field('document_type__name', label=_(u'Document type')) diff --git a/mayan/apps/documents/admin.py b/mayan/apps/documents/admin.py index e7af74a959..c709b9a3de 100644 --- a/mayan/apps/documents/admin.py +++ b/mayan/apps/documents/admin.py @@ -2,10 +2,9 @@ from __future__ import absolute_import from django.contrib import admin -from .models import (DocumentType, Document, - DocumentTypeFilename, DocumentPage, - DocumentPageTransformation, RecentDocument, - DocumentVersion) +from .models import (Document, DocumentPage, DocumentPageTransformation, + DocumentType, DocumentTypeFilename, DocumentVersion, + RecentDocument) class DocumentPageInline(admin.StackedInline): @@ -54,8 +53,8 @@ class RecentDocumentAdmin(admin.ModelAdmin): date_hierarchy = 'datetime_accessed' -admin.site.register(DocumentType, DocumentTypeAdmin) admin.site.register(Document, DocumentAdmin) admin.site.register(DocumentPageTransformation, - DocumentPageTransformationAdmin) + DocumentPageTransformationAdmin) +admin.site.register(DocumentType, DocumentTypeAdmin) admin.site.register(RecentDocument, RecentDocumentAdmin) diff --git a/mayan/apps/documents/api_views.py b/mayan/apps/documents/api_views.py index da2f945a85..40f2d6a284 100644 --- a/mayan/apps/documents/api_views.py +++ b/mayan/apps/documents/api_views.py @@ -152,9 +152,6 @@ class APIDocumentImageView(generics.GenericAPIView): version = int(request.GET.get('version', document.latest_version.pk)) - if request.GET.get('as_base64', False): - base64_version = True - if zoom < ZOOM_MIN_LEVEL: zoom = ZOOM_MIN_LEVEL diff --git a/mayan/apps/documents/migrations/0002_filename_extension_merge.py b/mayan/apps/documents/migrations/0002_filename_extension_merge.py index 0d0c82586a..13ca9dedbd 100644 --- a/mayan/apps/documents/migrations/0002_filename_extension_merge.py +++ b/mayan/apps/documents/migrations/0002_filename_extension_merge.py @@ -1,6 +1,5 @@ # encoding: utf-8 import os -from south.db import db from south.v2 import DataMigration from django.db import models diff --git a/mayan/apps/documents/statistics.py b/mayan/apps/documents/statistics.py index 4590390c7d..afc8693f4d 100644 --- a/mayan/apps/documents/statistics.py +++ b/mayan/apps/documents/statistics.py @@ -68,7 +68,7 @@ class DocumentUsageStatistics(Statistic): try: total_storage_documents, storage_used_space = storage_count() results.append(_(u'Documents in storage: %d') % - total_storage_documents) + total_storage_documents) results.append(_(u'Space used in storage: %(base_2)s (base 2), %(base_10)s (base 10), %(bytes)d bytes') % { 'base_2': pretty_size(storage_used_space), 'base_10': pretty_size_10(storage_used_space), diff --git a/mayan/apps/documents/views.py b/mayan/apps/documents/views.py index f49140f379..f6b7be104a 100644 --- a/mayan/apps/documents/views.py +++ b/mayan/apps/documents/views.py @@ -93,7 +93,7 @@ def document_list(request, object_list=None, title=None, extra_context=None): context.update(extra_context) return render_to_response('main/generic_list.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def document_view(request, document_id, advanced=False): @@ -218,7 +218,7 @@ def document_delete(request, document_id=None, document_id_list=None): context['title'] = _(u'Are you sure you wish to delete the documents: %s?') % ', '.join([unicode(d) for d in documents]) return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def document_multiple_delete(request): @@ -533,7 +533,7 @@ def document_clear_transformations(request, document_id=None, document_id_list=N context['title'] = _(u'Are you sure you wish to clear all the page transformations for documents: %s?') % ', '.join([unicode(d) for d in documents]) return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def document_multiple_clear_transformations(request): @@ -817,7 +817,6 @@ def document_print(request, document_id): new_url.append(urlquote(hard_copy_arguments)) new_window_url = u'?'.join(new_url) - new_window_url_name = u'document_hard_copy' else: form = PrintForm() @@ -882,7 +881,7 @@ def document_type_list(request): } return render_to_response('main/generic_list.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def document_type_edit(request, document_type_id): @@ -910,8 +909,7 @@ def document_type_edit(request, document_type_id): 'navigation_object_name': 'document_type', 'document_type': document_type, 'next': next - }, - context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def document_type_delete(request, document_type_id): @@ -947,7 +945,7 @@ def document_type_delete(request, document_type_id): } return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def document_type_create(request): @@ -969,8 +967,7 @@ def document_type_create(request): return render_to_response('main/generic_form.html', { 'title': _(u'Create document type'), 'form': form, - }, - context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def document_type_filename_list(request, document_type_id): @@ -994,7 +991,7 @@ def document_type_filename_list(request, document_type_id): } return render_to_response('main/generic_list.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def document_type_filename_edit(request, document_type_filename_id): @@ -1029,8 +1026,7 @@ def document_type_filename_edit(request, document_type_filename_id): {'object': 'document_type', 'name': _(u'Document type')}, {'object': 'filename', 'name': _(u'Document type filename')} ], - }, - context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def document_type_filename_delete(request, document_type_filename_id): @@ -1070,7 +1066,7 @@ def document_type_filename_delete(request, document_type_filename_id): } return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def document_type_filename_create(request, document_type_id): @@ -1103,8 +1099,7 @@ def document_type_filename_create(request, document_type_id): 'navigation_object_list': [ {'object': 'document_type', 'name': _(u'Document type')}, ], - }, - context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def document_clear_image_cache(request): @@ -1173,7 +1168,7 @@ def document_version_list(request, document_pk): } return render_to_response('main/generic_list.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def document_version_revert(request, document_version_pk): diff --git a/mayan/apps/dynamic_search/views.py b/mayan/apps/dynamic_search/views.py index 50560331df..11910bbe16 100644 --- a/mayan/apps/dynamic_search/views.py +++ b/mayan/apps/dynamic_search/views.py @@ -66,7 +66,7 @@ def results(request, extra_context=None): [{'name': _(u'Type'), 'attribute': lambda x: x._meta.verbose_name[0].upper() + x._meta.verbose_name[1:]}]}) return render_to_response('search_results.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def search(request, advanced=False): @@ -81,8 +81,7 @@ def search(request, advanced=False): 'search_results_limit': LIMIT, 'submit_label': _(u'Search'), 'submit_icon_famfam': 'zoom', - }, - context_instance=RequestContext(request) + }, context_instance=RequestContext(request) ) else: if request.GET.get('source') != 'sidebar': diff --git a/mayan/apps/folders/api_views.py b/mayan/apps/folders/api_views.py index 722271170a..40c4a8aef7 100644 --- a/mayan/apps/folders/api_views.py +++ b/mayan/apps/folders/api_views.py @@ -5,6 +5,7 @@ from django.shortcuts import get_object_or_404 from rest_framework import generics +from acls.models import AccessEntry from documents.models import Document from documents.permissions import PERMISSION_DOCUMENT_VIEW from permissions.models import Permission @@ -12,9 +13,8 @@ from rest_api.filters import MayanObjectPermissionsFilter from rest_api.permissions import MayanPermission from .models import Folder -from .permissions import (PERMISSION_FOLDER_CREATE, - PERMISSION_FOLDER_DELETE, PERMISSION_FOLDER_EDIT, - PERMISSION_FOLDER_VIEW) +from .permissions import (PERMISSION_FOLDER_CREATE, PERMISSION_FOLDER_DELETE, + PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_VIEW) from .serializers import FolderSerializer @@ -71,6 +71,7 @@ class APIFolderDocumentListView(generics.ListAPIView): queryset = folder.documents.all() return queryset + class APIDocumentFolderListView(generics.ListAPIView): """ Returns a list of all the folders to which a document belongs. diff --git a/mayan/apps/folders/links.py b/mayan/apps/folders/links.py index 660db54d9b..78da2e701c 100644 --- a/mayan/apps/folders/links.py +++ b/mayan/apps/folders/links.py @@ -5,10 +5,10 @@ from django.utils.translation import ugettext_lazy as _ from acls.permissions import ACLS_VIEW_ACL from documents.permissions import PERMISSION_DOCUMENT_VIEW -from .permissions import (PERMISSION_FOLDER_CREATE, - PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_DELETE, - PERMISSION_FOLDER_REMOVE_DOCUMENT, PERMISSION_FOLDER_VIEW, - PERMISSION_FOLDER_ADD_DOCUMENT) +from .permissions import (PERMISSION_FOLDER_ADD_DOCUMENT, + PERMISSION_FOLDER_CREATE, PERMISSION_FOLDER_DELETE, + PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_VIEW, + PERMISSION_FOLDER_REMOVE_DOCUMENT) folder_list = {'text': _(u'Folder list'), 'view': 'folders:folder_list', 'famfam': 'folder_user'} folder_create = {'text': _('Create folder'), 'view': 'folders:folder_create', 'famfam': 'folder_add', 'permissions': [PERMISSION_FOLDER_CREATE]} diff --git a/mayan/apps/folders/views.py b/mayan/apps/folders/views.py index 17d8fffc13..51cec51dee 100644 --- a/mayan/apps/folders/views.py +++ b/mayan/apps/folders/views.py @@ -6,14 +6,13 @@ from django.contrib import messages from django.core.exceptions import PermissionDenied from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect -from django.shortcuts import render_to_response, get_object_or_404 +from django.shortcuts import get_object_or_404, render_to_response from django.template import RequestContext from django.utils.translation import ugettext_lazy as _ from acls.models import AccessEntry from acls.utils import apply_default_acls from acls.views import acl_list_for -from common.utils import encapsulate from common.views import SingleObjectListView from documents.permissions import PERMISSION_DOCUMENT_VIEW from documents.models import Document @@ -22,16 +21,16 @@ from permissions.models import Permission from .forms import FolderForm, FolderListForm from .models import Folder -from .permissions import (PERMISSION_FOLDER_CREATE, - PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_DELETE, - PERMISSION_FOLDER_REMOVE_DOCUMENT, PERMISSION_FOLDER_VIEW, - PERMISSION_FOLDER_ADD_DOCUMENT) +from .permissions import (PERMISSION_FOLDER_ADD_DOCUMENT, + PERMISSION_FOLDER_CREATE, PERMISSION_FOLDER_DELETE, + PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_VIEW, + PERMISSION_FOLDER_REMOVE_DOCUMENT) logger = logging.getLogger(__name__) class FolderListView(SingleObjectListView): - model = Folder + model = Folder object_permission = PERMISSION_FOLDER_VIEW def get_extra_context(self): @@ -61,8 +60,7 @@ def folder_create(request): return render_to_response('main/generic_form.html', { 'title': _(u'Create folder'), 'form': form, - }, - context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def folder_edit(request, folder_id): @@ -91,8 +89,7 @@ def folder_edit(request, folder_id): 'form': form, 'object': folder, 'object_name': _(u'Folder'), - }, - context_instance=RequestContext(request)) + }, context_instance=RequestContext(request)) def folder_delete(request, folder_id): @@ -129,7 +126,7 @@ def folder_delete(request, folder_id): } return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) class FolderDetailView(DocumentListView): @@ -205,7 +202,7 @@ def folder_add_document(request, document_id=None, document_id_list=None): context['title'] = _(u'Add documents: %s to folder.') % ', '.join([unicode(d) for d in documents]) return render_to_response('main/generic_form.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def document_folder_list(request, document_id): @@ -233,7 +230,7 @@ def document_folder_list(request, document_id): context['object_list'] = queryset return render_to_response('main/generic_list.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def folder_document_remove(request, folder_id, document_id=None, document_id_list=None): @@ -287,7 +284,7 @@ def folder_document_remove(request, folder_id, document_id=None, document_id_lis 'documents': ', '.join([unicode(d) for d in folder_documents]), 'folder': folder} return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def folder_document_multiple_remove(request, folder_id): diff --git a/mayan/apps/installation/classes.py b/mayan/apps/installation/classes.py index 9b0aed1c8d..fadfd82c55 100644 --- a/mayan/apps/installation/classes.py +++ b/mayan/apps/installation/classes.py @@ -2,7 +2,6 @@ from __future__ import absolute_import from collections import namedtuple from json import dumps -import os import sh @@ -12,8 +11,6 @@ try: except sh.CommandNotFound: PIP = False -from django.conf import settings - class PIPNotFound(Exception): pass diff --git a/mayan/apps/installation/models.py b/mayan/apps/installation/models.py index c0b6966c53..1eab46d103 100644 --- a/mayan/apps/installation/models.py +++ b/mayan/apps/installation/models.py @@ -29,11 +29,11 @@ from solo.models import SingletonModel from common.utils import pretty_size from mayan import __version__ as mayan_version from lock_manager import Lock, LockError -from ocr.settings import TESSERACT_PATH, UNPAPER_PATH, PDFTOTEXT_PATH +from ocr.settings import PDFTOTEXT_PATH, TESSERACT_PATH, UNPAPER_PATH -from .classes import Property, PropertyNamespace, VirtualEnv, PIPNotFound -from .literals import (FORM_SUBMIT_URL, FORM_KEY, FORM_RECEIVER_FIELD, - TIMEOUT, FABFILE_MARKER) +from .classes import PIPNotFound, Property, PropertyNamespace, VirtualEnv +from .literals import (FABFILE_MARKER, FORM_KEY, FORM_RECEIVER_FIELD, + FORM_SUBMIT_URL, TIMEOUT) class Installation(SingletonModel): diff --git a/mayan/apps/mailer/views.py b/mayan/apps/mailer/views.py index c021ab8d58..f821eecb68 100644 --- a/mayan/apps/mailer/views.py +++ b/mayan/apps/mailer/views.py @@ -3,7 +3,6 @@ from __future__ import absolute_import from django.contrib import messages from django.contrib.sites.models import Site from django.core.exceptions import PermissionDenied -from django.core.mail import EmailMultiAlternatives from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404, render_to_response @@ -88,4 +87,4 @@ def send_document_link(request, document_id=None, document_id_list=None, as_atta context['title'] = _('Email links for documents: %s') % ', '.join([unicode(d) for d in documents]) return render_to_response('main/generic_form.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) diff --git a/mayan/apps/main/__init__.py b/mayan/apps/main/__init__.py index 2ad7a1da5c..6f58538232 100644 --- a/mayan/apps/main/__init__.py +++ b/mayan/apps/main/__init__.py @@ -1,16 +1,10 @@ from __future__ import absolute_import -from django.utils.translation import ugettext_lazy as _ -from django.conf import settings as django_settings - -from navigation.api import register_top_menu from project_setup.api import register_setup from project_tools.api import register_tool from .links import admin_site, diagnostics, maintenance_menu -if 'django.contrib.admin' in django_settings.INSTALLED_APPS: - register_setup(admin_site) - +register_setup(admin_site) register_tool(diagnostics) register_tool(maintenance_menu) diff --git a/mayan/apps/main/templatetags/theme_tags.py b/mayan/apps/main/templatetags/theme_tags.py index a87bbf1eb7..e8d8122f9c 100644 --- a/mayan/apps/main/templatetags/theme_tags.py +++ b/mayan/apps/main/templatetags/theme_tags.py @@ -1,9 +1,7 @@ from __future__ import absolute_import -import re - from django.conf import settings -from django.template import Library, Node, TemplateSyntaxError +from django.template import Library, Node from django.utils.safestring import mark_safe register = Library() diff --git a/mayan/apps/metadata/admin.py b/mayan/apps/metadata/admin.py index 058d5d0544..99acc10462 100644 --- a/mayan/apps/metadata/admin.py +++ b/mayan/apps/metadata/admin.py @@ -2,8 +2,12 @@ from __future__ import absolute_import from django.contrib import admin -from .models import (MetadataType, MetadataSet, MetadataSetItem, - DocumentMetadata, DocumentTypeDefaults) +from .models import (DocumentMetadata, DocumentTypeDefaults, MetadataSet, + MetadataSetItem, MetadataType) + + +class DocumentTypeDefaultsAdmin(admin.ModelAdmin): + filter_horizontal = ('default_metadata_sets', 'default_metadata') class MetadataTypeAdmin(admin.ModelAdmin): @@ -28,10 +32,6 @@ class MetadataSetAdmin(admin.ModelAdmin): inlines = [MetadataSetItemInline] -class DocumentTypeDefaultsAdmin(admin.ModelAdmin): - filter_horizontal = ('default_metadata_sets', 'default_metadata') - - -admin.site.register(MetadataType, MetadataTypeAdmin) -admin.site.register(MetadataSet, MetadataSetAdmin) admin.site.register(DocumentTypeDefaults, DocumentTypeDefaultsAdmin) +admin.site.register(MetadataSet, MetadataSetAdmin) +admin.site.register(MetadataType, MetadataTypeAdmin) diff --git a/mayan/apps/metadata/forms.py b/mayan/apps/metadata/forms.py index c9af84faca..d647158fa5 100644 --- a/mayan/apps/metadata/forms.py +++ b/mayan/apps/metadata/forms.py @@ -16,12 +16,11 @@ class MetadataForm(forms.Form): value = self.cleaned_data['value'] metadata_id = self.cleaned_data['id'] metadata_type = MetadataType.objects.get(pk=metadata_id) - if ( metadata_type.lookup - and AVAILABLE_VALIDATORS.has_key(metadata_type.lookup) ): - val_func=AVAILABLE_VALIDATORS[metadata_type.lookup] - new_value = val_func(value) - if new_value: - value = new_value + if metadata_type.lookup and metadata_type.lookup in AVAILABLE_VALIDATORS: + val_func = AVAILABLE_VALIDATORS[metadata_type.lookup] + new_value = val_func(value) + if new_value: + value = new_value return value def __init__(self, *args, **kwargs): @@ -45,9 +44,7 @@ class MetadataForm(forms.Form): self.fields['name'].initial = '%s%s' % ((self.metadata_type.title if self.metadata_type.title else self.metadata_type.name), required_string) self.fields['id'].initial = self.metadata_type.pk - - if ( self.metadata_type.lookup - and not AVAILABLE_VALIDATORS.has_key(self.metadata_type.lookup)): + if self.metadata_type.lookup and self.metadata_type.lookup not in AVAILABLE_VALIDATORS: try: choices = eval(self.metadata_type.lookup, AVAILABLE_MODELS) self.fields['value'] = forms.ChoiceField(label=self.fields['value'].label) @@ -66,16 +63,12 @@ class MetadataForm(forms.Form): except Exception as exception: self.fields['value'].initial = exception - id = forms.CharField(label=_(u'id'), widget=forms.HiddenInput) - name = forms.CharField(label=_(u'Name'), - required=False, widget=forms.TextInput(attrs={'readonly': 'readonly'})) + name = forms.CharField(label=_(u'Name'), required=False, widget=forms.TextInput(attrs={'readonly': 'readonly'})) value = forms.CharField(label=_(u'Value'), required=False) update = forms.BooleanField(initial=True, label=_(u'Update'), required=False) - - MetadataFormSet = formset_factory(MetadataForm, extra=0) diff --git a/mayan/apps/metadata/links.py b/mayan/apps/metadata/links.py index fe7c651356..46df7d39d9 100644 --- a/mayan/apps/metadata/links.py +++ b/mayan/apps/metadata/links.py @@ -4,13 +4,19 @@ from django.utils.translation import ugettext_lazy as _ from documents.permissions import PERMISSION_DOCUMENT_TYPE_EDIT -from .permissions import (PERMISSION_METADATA_DOCUMENT_EDIT, - PERMISSION_METADATA_DOCUMENT_ADD, PERMISSION_METADATA_DOCUMENT_REMOVE, - PERMISSION_METADATA_DOCUMENT_VIEW, PERMISSION_METADATA_TYPE_EDIT, - PERMISSION_METADATA_TYPE_CREATE, PERMISSION_METADATA_TYPE_DELETE, - PERMISSION_METADATA_TYPE_VIEW, PERMISSION_METADATA_SET_EDIT, - PERMISSION_METADATA_SET_CREATE, PERMISSION_METADATA_SET_DELETE, - PERMISSION_METADATA_SET_VIEW) +from .permissions import (PERMISSION_METADATA_DOCUMENT_ADD, + PERMISSION_METADATA_DOCUMENT_EDIT, + PERMISSION_METADATA_DOCUMENT_REMOVE, + PERMISSION_METADATA_DOCUMENT_VIEW, + PERMISSION_METADATA_SET_CREATE, + PERMISSION_METADATA_SET_DELETE, + PERMISSION_METADATA_SET_EDIT, + PERMISSION_METADATA_SET_VIEW, + PERMISSION_METADATA_TYPE_CREATE, + PERMISSION_METADATA_TYPE_DELETE, + PERMISSION_METADATA_TYPE_EDIT, + PERMISSION_METADATA_TYPE_VIEW) + metadata_edit = {'text': _(u'Edit metadata'), 'view': 'metadata:metadata_edit', 'args': 'object.pk', 'famfam': 'xhtml_go', 'permissions': [PERMISSION_METADATA_DOCUMENT_EDIT]} metadata_view = {'text': _(u'Metadata'), 'view': 'metadata:metadata_view', 'args': 'object.pk', 'famfam': 'xhtml_go', 'permissions': [PERMISSION_METADATA_DOCUMENT_VIEW], 'children_view_regex': ['metadata']} @@ -20,10 +26,7 @@ metadata_multiple_add = {'text': _(u'Add metadata'), 'view': 'metadata:metadata_ metadata_remove = {'text': _(u'Remove metadata'), 'view': 'metadata:metadata_remove', 'args': 'object.pk', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_DOCUMENT_REMOVE]} metadata_multiple_remove = {'text': _(u'Remove metadata'), 'view': 'metadata:metadata_multiple_remove', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_DOCUMENT_REMOVE]} -setup_metadata_type_list = {'text': _(u'Metadata types'), 'view': 'metadata:setup_metadata_type_list', 'famfam': 'xhtml_go', 'icon': 'xhtml.png', 'permissions': [PERMISSION_METADATA_TYPE_VIEW]} -setup_metadata_type_edit = {'text': _(u'Edit'), 'view': 'metadata:setup_metadata_type_edit', 'args': 'object.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_METADATA_TYPE_EDIT]} -setup_metadata_type_delete = {'text': _(u'Delete'), 'view': 'metadata:setup_metadata_type_delete', 'args': 'object.pk', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_TYPE_DELETE]} -setup_metadata_type_create = {'text': _(u'Create new'), 'view': 'metadata:setup_metadata_type_create', 'famfam': 'xhtml_add', 'permissions': [PERMISSION_METADATA_TYPE_CREATE]} +setup_document_type_metadata = {'text': _(u'Default metadata'), 'view': 'metadata:setup_document_type_metadata', 'args': 'document_type.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} setup_metadata_set_list = {'text': _(u'Metadata sets'), 'view': 'metadata:setup_metadata_set_list', 'famfam': 'table', 'icon': 'table.png', 'permissions': [PERMISSION_METADATA_SET_VIEW]} setup_metadata_set_edit = {'text': _(u'Edit'), 'view': 'metadata:setup_metadata_set_edit', 'args': 'object.pk', 'famfam': 'table_edit', 'permissions': [PERMISSION_METADATA_SET_EDIT]} @@ -31,4 +34,7 @@ setup_metadata_set_members = {'text': _(u'Members'), 'view': 'metadata:setup_met setup_metadata_set_delete = {'text': _(u'Delete'), 'view': 'metadata:setup_metadata_set_delete', 'args': 'object.pk', 'famfam': 'table_delete', 'permissions': [PERMISSION_METADATA_SET_DELETE]} setup_metadata_set_create = {'text': _(u'Create new'), 'view': 'metadata:setup_metadata_set_create', 'famfam': 'table_add', 'permissions': [PERMISSION_METADATA_SET_CREATE]} -setup_document_type_metadata = {'text': _(u'Default metadata'), 'view': 'metadata:setup_document_type_metadata', 'args': 'document_type.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} +setup_metadata_type_list = {'text': _(u'Metadata types'), 'view': 'metadata:setup_metadata_type_list', 'famfam': 'xhtml_go', 'icon': 'xhtml.png', 'permissions': [PERMISSION_METADATA_TYPE_VIEW]} +setup_metadata_type_edit = {'text': _(u'Edit'), 'view': 'metadata:setup_metadata_type_edit', 'args': 'object.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_METADATA_TYPE_EDIT]} +setup_metadata_type_delete = {'text': _(u'Delete'), 'view': 'metadata:setup_metadata_type_delete', 'args': 'object.pk', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_TYPE_DELETE]} +setup_metadata_type_create = {'text': _(u'Create new'), 'view': 'metadata:setup_metadata_type_create', 'famfam': 'xhtml_add', 'permissions': [PERMISSION_METADATA_TYPE_CREATE]} diff --git a/mayan/apps/metadata/models.py b/mayan/apps/metadata/models.py index bc79de5cb9..ef4593d91d 100644 --- a/mayan/apps/metadata/models.py +++ b/mayan/apps/metadata/models.py @@ -15,13 +15,13 @@ class MetadataType(models.Model): name = models.CharField(unique=True, max_length=48, verbose_name=_(u'Name'), help_text=_(u'Do not use python reserved words, or spaces.')) title = models.CharField(max_length=48, verbose_name=_(u'Title'), blank=True, null=True) default = models.CharField(max_length=128, blank=True, null=True, - verbose_name=_(u'Default'), - help_text=_(u'Enter a string to be evaluated.')) + verbose_name=_(u'Default'), + help_text=_(u'Enter a string to be evaluated.')) # TODO: Add enable_lookup boolean to allow users to switch the lookup on and # off without losing the lookup expression lookup = models.TextField(blank=True, null=True, - verbose_name=_(u'Lookup'), - help_text=_(u'Enter a string to be evaluated that returns an iterable.')) + verbose_name=_(u'Lookup'), + help_text=_(u'Enter a string to be evaluated that returns an iterable.')) # TODO: Add datatype choice: Date, Time, String, Number # TODO: Find a different way to let users know what models and functions are # available now that we removed these from the help_text diff --git a/mayan/apps/metadata/views.py b/mayan/apps/metadata/views.py index b6a9148690..c5954e34c0 100644 --- a/mayan/apps/metadata/views.py +++ b/mayan/apps/metadata/views.py @@ -113,7 +113,7 @@ def metadata_edit(request, document_id=None, document_id_list=None): context['title'] = _(u'Edit metadata for documents: %s') % ', '.join([unicode(d) for d in documents]) return render_to_response('main/generic_form.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def metadata_multiple_edit(request): @@ -180,7 +180,7 @@ def metadata_add(request, document_id=None, document_id_list=None): context['title'] = _(u'Add metadata type to documents: %s') % ', '.join([unicode(d) for d in documents]) return render_to_response('main/generic_form.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def metadata_multiple_add(request): @@ -261,7 +261,7 @@ def metadata_remove(request, document_id=None, document_id_list=None): context['title'] = _(u'Remove metadata types from documents: %s') % ', '.join([unicode(d) for d in documents]) return render_to_response('main/generic_form.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def metadata_multiple_remove(request): @@ -302,7 +302,7 @@ def setup_metadata_type_list(request): } return render_to_response('main/generic_list.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def setup_metadata_type_edit(request, metadatatype_id): @@ -380,7 +380,7 @@ def setup_metadata_type_delete(request, metadatatype_id): } return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def setup_metadata_set_list(request): @@ -399,7 +399,7 @@ def setup_metadata_set_list(request): } return render_to_response('main/generic_list.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def setup_metadata_set_edit(request, metadata_set_id): @@ -520,7 +520,7 @@ def setup_metadata_set_delete(request, metadata_set_id): } return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def _as_choice_list(items): diff --git a/mayan/apps/navigation/classes.py b/mayan/apps/navigation/classes.py index eeca8bc016..19a6f4521d 100644 --- a/mayan/apps/navigation/classes.py +++ b/mayan/apps/navigation/classes.py @@ -1,16 +1,15 @@ from __future__ import absolute_import +import inspect import logging import re import urllib import urlparse -import inspect from django.core.urlresolvers import NoReverseMatch, resolve, reverse from django.template import VariableDoesNotExist, Variable -from django.template import (VariableDoesNotExist, Variable) from django.utils.encoding import smart_str, smart_unicode -from django.utils.http import urlquote, urlencode +from django.utils.http import urlencode, urlquote from django.utils.text import unescape_string_literal from django.utils.translation import ugettext_lazy as _ @@ -44,10 +43,10 @@ class Link(object): raise Exception('The bind_links source argument must be a list, even for single element sources.') def __init__(self, text, view, klass=None, args=None, icon=None, - permissions=None, condition=None, conditional_disable=None, - description=None, dont_mark_active=False, children_view_regex=None, - keep_query=False, children_classes=None, children_views=None, - conditional_highlight=None): + permissions=None, condition=None, conditional_disable=None, + description=None, dont_mark_active=False, children_view_regex=None, + keep_query=False, children_classes=None, children_views=None, + conditional_highlight=None): self.text = text self.view = view diff --git a/mayan/apps/ocr/__init__.py b/mayan/apps/ocr/__init__.py index 9af0756a16..d13fb74bea 100644 --- a/mayan/apps/ocr/__init__.py +++ b/mayan/apps/ocr/__init__.py @@ -2,7 +2,6 @@ from __future__ import absolute_import import logging -from django.db import DatabaseError from django.db.models.signals import post_save from django.dispatch import receiver from django.utils.translation import ugettext_lazy as _ diff --git a/mayan/apps/ocr/lang/deu.py b/mayan/apps/ocr/lang/deu.py index 9a9b89549e..a3ca0383e9 100644 --- a/mayan/apps/ocr/lang/deu.py +++ b/mayan/apps/ocr/lang/deu.py @@ -15,26 +15,26 @@ class LanguageBackend(BackendBase): TOO_MANY_CONSONANTS = re.compile('[bcdfghjklmnpqrstvwxyz]{4}', re.I) # SINGLE_LETTER_WORDS = re.compile('^$', re.I) - #(L) If a string is longer than 40 characters, it is considered as garbage + # (L) If a string is longer than 40 characters, it is considered as garbage # http://www.duden.de/sprachwissen/sprachratgeber/die-laengsten-woerter-im-dudenkorpus # http://www.duden.de/sprachwissen/sprachratgeber/durchschnittliche-laenge-eines-deutschen-wortes if len(word) > 40: return None - #(A) If a string's ratio of alphanumeric characters to total - #characters is less than 50%, the string is garbage + # (A) If a string's ratio of alphanumeric characters to total + # characters is less than 50%, the string is garbage if len(ALL_ALPHANUM.findall(word)) < len(word) / 2: return None - #Remove word if all the letters in the word are non alphanumeric + # Remove word if all the letters in the word are non alphanumeric if len(NON_ALPHANUM.findall(word)) == len(word): return None - #Removed words with too many consecutie vowels + # Removed words with too many consecutie vowels if TOO_MANY_VOWELS.findall(word): return None - #Removed words with too many consecutie consonants + # Removed words with too many consecutie consonants if TOO_MANY_CONSONANTS.findall(word): return None diff --git a/mayan/apps/ocr/lang/fra.py b/mayan/apps/ocr/lang/fra.py index 937551bc9c..eb4d9ead45 100644 --- a/mayan/apps/ocr/lang/fra.py +++ b/mayan/apps/ocr/lang/fra.py @@ -15,28 +15,28 @@ class LanguageBackend(BackendBase): TOO_MANY_CONSONANTS = re.compile('[bcdfghjklmnñpqrstvwxyz]{5}', re.I) SINGLE_LETTER_WORDS = re.compile('^[aeoóuy]$', re.I) - #(L) If a string is longer than 20 characters, it is garbage + # (L) If a string is longer than 20 characters, it is garbage if len(word) > 20: return None - #(A) If a string’s ratio of alphanumeric characters to total - #characters is less than 50%, the string is garbage + # (A) If a string’s ratio of alphanumeric characters to total + # characters is less than 50%, the string is garbage if len(ALL_ALPHANUM.findall(word)) < len(word) / 2: return None - #Remove word if all the letters in the word are non alphanumeric + # Remove word if all the letters in the word are non alphanumeric if len(NON_ALPHANUM.findall(word)) == len(word): return None - #Removed words with too many consecutie vowels + # Removed words with too many consecutie vowels if TOO_MANY_VOWELS.findall(word): return None - #Removed words with too many consecutie consonants + # Removed words with too many consecutie consonants if TOO_MANY_CONSONANTS.findall(word): return None - #Only allow specific single letter words + # Only allow specific single letter words if len(word) == 1 and not SINGLE_LETTER_WORDS.findall(word): return None diff --git a/mayan/apps/ocr/literals.py b/mayan/apps/ocr/literals.py index bcafe3b09b..7c0e6d3531 100644 --- a/mayan/apps/ocr/literals.py +++ b/mayan/apps/ocr/literals.py @@ -1,5 +1,3 @@ -from django.utils.translation import ugettext_lazy as _ - DEFAULT_OCR_FILE_FORMAT = u'tiff' DEFAULT_OCR_FILE_EXTENSION = u'tif' UNPAPER_FILE_FORMAT = u'ppm' diff --git a/mayan/apps/ocr/migrations/0001_initial.py b/mayan/apps/ocr/migrations/0001_initial.py index a070c29e87..08f4511aa8 100644 --- a/mayan/apps/ocr/migrations/0001_initial.py +++ b/mayan/apps/ocr/migrations/0001_initial.py @@ -1,5 +1,4 @@ # -*- coding: utf-8 -*- -from south.utils import datetime_utils as datetime from south.db import db from south.v2 import SchemaMigration from django.db import models @@ -30,7 +29,6 @@ class Migration(SchemaMigration): )) db.send_create_signal(u'ocr', ['QueueDocument']) - def backwards(self, orm): # Deleting model 'DocumentQueue' db.delete_table(u'ocr_documentqueue') @@ -38,7 +36,6 @@ class Migration(SchemaMigration): # Deleting model 'QueueDocument' db.delete_table(u'ocr_queuedocument') - models = { u'documents.document': { 'Meta': {'ordering': "['-date_added']", 'object_name': 'Document'}, @@ -73,4 +70,4 @@ class Migration(SchemaMigration): } } - complete_apps = ['ocr'] \ No newline at end of file + complete_apps = ['ocr'] diff --git a/mayan/apps/ocr/migrations/0002_auto__del_field_documentqueue_state__del_field_queuedocument_delay__de.py b/mayan/apps/ocr/migrations/0002_auto__del_field_documentqueue_state__del_field_queuedocument_delay__de.py index 8cf4db6907..7f0b9286b9 100644 --- a/mayan/apps/ocr/migrations/0002_auto__del_field_documentqueue_state__del_field_queuedocument_delay__de.py +++ b/mayan/apps/ocr/migrations/0002_auto__del_field_documentqueue_state__del_field_queuedocument_delay__de.py @@ -1,5 +1,4 @@ # -*- coding: utf-8 -*- -from south.utils import datetime_utils as datetime from south.db import db from south.v2 import SchemaMigration from django.db import models @@ -17,7 +16,6 @@ class Migration(SchemaMigration): # Deleting field 'QueueDocument.state' db.delete_column(u'ocr_queuedocument', 'state') - def backwards(self, orm): # Adding field 'DocumentQueue.state' db.add_column(u'ocr_documentqueue', 'state', @@ -34,7 +32,6 @@ class Migration(SchemaMigration): self.gf('django.db.models.fields.CharField')(default='p', max_length=4), keep_default=False) - models = { u'documents.document': { 'Meta': {'ordering': "['-date_added']", 'object_name': 'Document'}, @@ -66,4 +63,4 @@ class Migration(SchemaMigration): } } - complete_apps = ['ocr'] \ No newline at end of file + complete_apps = ['ocr'] diff --git a/mayan/apps/ocr/models.py b/mayan/apps/ocr/models.py index 4c1f3ef4b9..f402cb2fb5 100644 --- a/mayan/apps/ocr/models.py +++ b/mayan/apps/ocr/models.py @@ -36,6 +36,7 @@ class QueueDocument(models.Model): verbose_name_plural = _(u'Queue documents') def requeue(self): + # TODO: Fix properly using Celery tasks if self.state == QUEUEDOCUMENT_STATE_PROCESSING: raise ReQueueError else: diff --git a/mayan/apps/ocr/tasks.py b/mayan/apps/ocr/tasks.py index 548931124b..978a4cffaa 100644 --- a/mayan/apps/ocr/tasks.py +++ b/mayan/apps/ocr/tasks.py @@ -7,8 +7,6 @@ import sys import traceback from django.conf import settings -from django.db.models import Q -from django.utils.timezone import now from documents.models import Document from lock_manager import Lock, LockError diff --git a/mayan/apps/ocr/views.py b/mayan/apps/ocr/views.py index 80a4f6a29e..250bc7fe1a 100644 --- a/mayan/apps/ocr/views.py +++ b/mayan/apps/ocr/views.py @@ -46,7 +46,7 @@ def queue_document_list(request, queue_name='default'): } return render_to_response('main/generic_list.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def queue_document_delete(request, queue_document_id=None, queue_document_id_list=None): @@ -89,7 +89,7 @@ def queue_document_delete(request, queue_document_id=None, queue_document_id_lis context['title'] = _(u'Are you sure you wish to delete queue documents: %s?') % ', '.join([unicode(d) for d in queue_documents]) return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def queue_document_multiple_delete(request): @@ -112,7 +112,7 @@ def submit_document(request, document_id): AccessEntry.objects.check_access(PERMISSION_OCR_DOCUMENT, request.user, document) return submit_document_to_queue(request, document=document, - post_submit_redirect=request.META.get('HTTP_REFERER', '/')) + post_submit_redirect=request.META.get('HTTP_REFERER', '/')) def submit_document_to_queue(request, document, post_submit_redirect=None): @@ -176,7 +176,7 @@ def re_queue_document(request, queue_document_id=None, queue_document_id_list=No context['title'] = _(u'Are you sure you wish to re-queue documents: %s?') % ', '.join([unicode(d) for d in queue_documents]) return render_to_response('main/generic_confirm.html', context, - context_instance=RequestContext(request)) + context_instance=RequestContext(request)) def re_queue_multiple_document(request): diff --git a/mayan/apps/permissions/views.py b/mayan/apps/permissions/views.py index d2487598ba..90aa605bf5 100644 --- a/mayan/apps/permissions/views.py +++ b/mayan/apps/permissions/views.py @@ -7,6 +7,7 @@ import operator from django.contrib import messages from django.contrib.auth.models import Group, User from django.contrib.contenttypes.models import ContentType +from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse_lazy from django.conf import settings from django.http import Http404, HttpResponseRedirect