From 779ebd4966f9a05dac43e367a4fdce34fd322c65 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 30 Oct 2014 13:21:37 -0400 Subject: [PATCH] Don't import the api_urls at app import time, let the APIEndpoint class import them lazily --- mayan/apps/document_indexing/__init__.py | 5 +---- mayan/apps/dynamic_search/__init__.py | 6 +----- mayan/apps/folders/__init__.py | 5 +---- mayan/apps/metadata/__init__.py | 5 +---- mayan/apps/rest_api/__init__.py | 5 +---- mayan/apps/sources/__init__.py | 5 +---- mayan/apps/tags/__init__.py | 7 ++----- mayan/apps/user_management/__init__.py | 6 +----- 8 files changed, 9 insertions(+), 35 deletions(-) diff --git a/mayan/apps/document_indexing/__init__.py b/mayan/apps/document_indexing/__init__.py index 7cb28291d4..130e47cb90 100644 --- a/mayan/apps/document_indexing/__init__.py +++ b/mayan/apps/document_indexing/__init__.py @@ -19,7 +19,6 @@ from .links import (document_index_list, document_index_main_menu_link, rebuild_index_instances, template_node_create, template_node_delete, template_node_edit) from .models import Index, IndexTemplateNode, IndexInstanceNode -from .urls import api_urls @receiver(pre_delete, dispatch_uid='document_index_delete', sender=Document) @@ -55,6 +54,4 @@ register_setup(index_setup) register_top_menu('indexes', document_index_main_menu_link) -endpoint = APIEndPoint('indexes') -endpoint.register_urls(api_urls) -endpoint.add_endpoint('index-list', _(u'Returns a list of all the indexes.')) +APIEndPoint('indexes') diff --git a/mayan/apps/dynamic_search/__init__.py b/mayan/apps/dynamic_search/__init__.py index e8c61fad31..14dad1b416 100644 --- a/mayan/apps/dynamic_search/__init__.py +++ b/mayan/apps/dynamic_search/__init__.py @@ -6,14 +6,10 @@ from navigation.api import register_links, register_top_menu from rest_api.classes import APIEndPoint from .links import search, search_advanced, search_again, search_menu -from .urls import api_urls register_links(['search:search', 'search:search_advanced', 'search:results'], [search, search_advanced], menu_name='form_header') register_links(['search:results'], [search_again], menu_name='sidebar') register_top_menu('search', search_menu) -endpoint = APIEndPoint('search') -endpoint.register_urls(api_urls) -endpoint.add_endpoint('recentsearch-list', _(u'Returns a list of all recent searches.')) -endpoint.add_endpoint('search-view', _(u'Perform a search operaton.')) +APIEndPoint('search', app_name='dynamic_search') diff --git a/mayan/apps/folders/__init__.py b/mayan/apps/folders/__init__.py index b25d36724b..de64d43510 100644 --- a/mayan/apps/folders/__init__.py +++ b/mayan/apps/folders/__init__.py @@ -21,7 +21,6 @@ from .permissions import (PERMISSION_FOLDER_ADD_DOCUMENT, PERMISSION_FOLDER_DELETE, PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_REMOVE_DOCUMENT, PERMISSION_FOLDER_VIEW) -from .urls import api_urls register_links(Folder, [folder_view, folder_edit, folder_acl_list, folder_delete]) register_links([Folder, 'folders:folder_list', 'folders:folder_create'], [folder_list, folder_create], menu_name='secondary_menu') @@ -43,6 +42,4 @@ register_model_list_columns(Folder, [ {'name': _(u'Documents'), 'attribute': encapsulate(lambda x: x.documents.count())}, ]) -endpoint = APIEndPoint('folders') -endpoint.register_urls(api_urls) -endpoint.add_endpoint('folder-list', _(u'Returns a list of all the folders.')) +APIEndPoint('folders') diff --git a/mayan/apps/metadata/__init__.py b/mayan/apps/metadata/__init__.py index 6e96e4e2fb..dd68b070c2 100644 --- a/mayan/apps/metadata/__init__.py +++ b/mayan/apps/metadata/__init__.py @@ -29,7 +29,6 @@ from .permissions import (PERMISSION_METADATA_DOCUMENT_ADD, PERMISSION_METADATA_DOCUMENT_EDIT, PERMISSION_METADATA_DOCUMENT_REMOVE, PERMISSION_METADATA_DOCUMENT_VIEW) -from .urls import api_urls logger = logging.getLogger(__name__) @@ -69,6 +68,4 @@ register_model_list_columns(Document, [ }, ]) -endpoint = APIEndPoint('metadata') -endpoint.register_urls(api_urls) -endpoint.add_endpoint('metadatatype-list', _(u'Returns a list of all the metadata types.')) +APIEndPoint('metadata') diff --git a/mayan/apps/rest_api/__init__.py b/mayan/apps/rest_api/__init__.py index 57e887891f..6ce45d06ff 100644 --- a/mayan/apps/rest_api/__init__.py +++ b/mayan/apps/rest_api/__init__.py @@ -6,11 +6,8 @@ from project_tools.api import register_tool from .classes import APIEndPoint from .links import link_api, link_api_documentation -from .urls import api_urls -endpoint = APIEndPoint('rest_api') -endpoint.register_urls(api_urls) -endpoint.add_endpoint('auth_token_obtain', _(u'Obtain an API authentication token.')) +APIEndPoint('rest_api') register_tool(link_api) register_tool(link_api_documentation) diff --git a/mayan/apps/sources/__init__.py b/mayan/apps/sources/__init__.py index cc6be3a96c..054ea0eebd 100644 --- a/mayan/apps/sources/__init__.py +++ b/mayan/apps/sources/__init__.py @@ -22,7 +22,6 @@ from .links import (document_create_multiple, document_create_siblings, setup_source_transformation_list, staging_file_delete, upload_version) from .models import Source, SourceTransformation -from .urls import api_urls from .widgets import staging_file_thumbnail register_links([StagingFile], [staging_file_delete]) @@ -48,6 +47,4 @@ register_setup(setup_sources) register_links([Document, 'documents:document_list_recent', 'documents:document_list', 'sources:document_create', 'sources:document_create_multiple', 'sources:upload_interactive', 'sources:staging_file_delete'], [document_create_multiple], menu_name='secondary_menu') register_links(Document, [document_create_siblings]) -endpoint = APIEndPoint('sources') -endpoint.register_urls(api_urls) -endpoint.add_endpoint('stagingfolder-list', _(u'Returns a list of all the staging folders and the files they contain.')) +APIEndPoint('sources') diff --git a/mayan/apps/tags/__init__.py b/mayan/apps/tags/__init__.py index 23e223fa75..181ab233d7 100644 --- a/mayan/apps/tags/__init__.py +++ b/mayan/apps/tags/__init__.py @@ -20,8 +20,7 @@ from .models import Tag from .permissions import (PERMISSION_TAG_ATTACH, PERMISSION_TAG_DELETE, PERMISSION_TAG_EDIT, PERMISSION_TAG_REMOVE, PERMISSION_TAG_VIEW) -from .urls import api_urls -from .widgets import (get_tags_inline_widget_simple, single_tag_widget) +from .widgets import get_tags_inline_widget_simple, single_tag_widget class_permissions(Document, [ PERMISSION_TAG_ATTACH, PERMISSION_TAG_REMOVE, @@ -30,9 +29,7 @@ class_permissions(Tag, [ PERMISSION_TAG_DELETE, PERMISSION_TAG_EDIT, PERMISSION_TAG_VIEW, ]) -endpoint = APIEndPoint('tags') -endpoint.register_urls(api_urls) -endpoint.add_endpoint('tag-list', _(u'Returns a list of all the tags.')) +APIEndPoint('tags') register_model_list_columns(Tag, [ { diff --git a/mayan/apps/user_management/__init__.py b/mayan/apps/user_management/__init__.py index 161586c897..791d0c4928 100644 --- a/mayan/apps/user_management/__init__.py +++ b/mayan/apps/user_management/__init__.py @@ -13,7 +13,6 @@ from .links import (group_add, group_delete, group_edit, group_list, user_add, user_delete, user_edit, user_groups, user_list, user_multiple_delete, user_multiple_set_password, user_set_password, user_setup) -from .urls import api_urls register_links(User, [user_edit, user_set_password, user_groups, user_delete]) register_links([User, 'user_management:user_multiple_set_password', 'user_management:user_multiple_delete', 'user_management:user_list', 'user_management:user_add'], [user_list, user_add], menu_name=u'secondary_menu') @@ -26,7 +25,4 @@ register_links(['user_management:group_list'], [link_spacer, group_multiple_dele register_setup(user_setup) register_setup(group_setup) -endpoint = APIEndPoint('users') -endpoint.register_urls(api_urls) -endpoint.add_endpoint('user-list', _(u'Returns a list of all the users.')) -endpoint.add_endpoint('group-list', _(u'Returns a list of all the groups.')) +APIEndPoint('users', app_name='user_management')