Issue #56, Remove sidebar help templates and navigation function to register them

This commit is contained in:
Roberto Rosario
2014-10-08 10:11:04 -04:00
parent 5a237ce258
commit ad7ae3dcfa
15 changed files with 29 additions and 97 deletions

View File

@@ -7,8 +7,7 @@ from django.utils.translation import ugettext_lazy as _
from documents.models import Document
from main.api import register_maintenance_links
from metadata.models import DocumentMetadata
from navigation.api import (register_links, register_sidebar_template,
register_top_menu)
from navigation.api import register_links, register_top_menu
from project_setup.api import register_setup
from .api import update_indexes, delete_indexes
@@ -50,7 +49,6 @@ register_links(Index, [index_setup_edit, index_setup_delete, index_setup_view, i
register_links(IndexInstanceNode, [index_parent])
register_links(IndexTemplateNode, [template_node_create, template_node_edit, template_node_delete])
register_sidebar_template(['indexing:index_instance_list'], 'indexing_help.html')
register_setup(index_setup)
register_top_menu('indexes', document_index_main_menu_link)

View File

@@ -127,9 +127,6 @@ register_top_menu(
position=1
)
register_sidebar_template(['documents:document_list_recent'], 'recent_document_list_help.html')
register_sidebar_template(['documents:document_type_list'], 'document_types_help.html')
register_links(Document, [document_view_simple], menu_name='form_header', position=0)
register_links(Document, [document_view_advanced], menu_name='form_header', position=1)
register_links(Document, [document_history_view], menu_name='form_header')

View File

@@ -1,5 +0,0 @@
{% load i18n %}
<div class="block notice">
<h4>{% trans "What are document types?" %}</h4>
<p>{% blocktrans %}Document types define a class that represents a broard group of documents, such as: invoices, regulations or manuals. The advantage of using document types are: assigning a list of typical filenames for quick renaming during creation, as well as assigning default metadata types and sets to it.{% endblocktrans %}</p>
</div>

View File

@@ -1,5 +0,0 @@
{% load i18n %}
<div class="block notice">
<h4>{% trans "What are recent documents?" %}</h4>
<p>{% blocktrans %}Here you will find the latest {{ recent_count }} documents you have either created or edited in any way.{% endblocktrans %}</p>
</div>

View File

@@ -1,14 +1,10 @@
from __future__ import absolute_import
from navigation.api import (register_links, register_sidebar_template,
register_top_menu)
from navigation.api import register_links, register_top_menu
from .links import search, search_advanced, search_again, search_menu
register_sidebar_template(['search:search', 'search:search_advanced'], 'search_help.html')
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_sidebar_template(['search:search', 'search:search_advanced', 'search:results'], 'recent_searches.html')
register_top_menu('search', search_menu)

View File

@@ -1,2 +0,0 @@
{% load search_tags %}
{% recent_searches_template %}

View File

@@ -1,5 +0,0 @@
{% load i18n %}
<div class="block notice">
<h4>{% trans 'Help' %}</h4>
<p>{% blocktrans %}Enter the desired search keywords separated by space. Only the top {{ search_results_limit }} results will be available.{% endblocktrans %}</p>
</div>

View File

@@ -7,57 +7,48 @@ from acls.permissions import ACLS_EDIT_ACL, ACLS_VIEW_ACL
from common.utils import encapsulate
from documents.models import Document
from navigation.api import (register_links, register_model_list_columns,
register_multi_item_links,
register_sidebar_template, register_top_menu)
register_multi_item_links, register_top_menu)
from rest_api.classes import APIEndPoint
from .links import (folder_list, folder_create, folder_edit, folder_delete,
folder_document_multiple_remove, folder_view, folder_add_document,
folder_add_multiple_documents, document_folder_list, folder_acl_list,
folders_main_menu_link)
from .links import (document_folder_list, folder_acl_list,
folder_add_document, folder_add_multiple_documents,
folder_create, folder_delete,
folder_document_multiple_remove, folder_edit, folder_list,
folder_view, folders_main_menu_link)
from .models import Folder
from .permissions import (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_DELETE, PERMISSION_FOLDER_EDIT,
PERMISSION_FOLDER_REMOVE_DOCUMENT,
PERMISSION_FOLDER_VIEW)
from .urls import api_urls
register_multi_item_links(['folders:folder_view'], [folder_document_multiple_remove])
register_links(Folder, [folder_view, folder_edit, folder_delete, folder_acl_list])
def document_folders(self):
return Folder.objects.filter(folderdocument__document=self)
register_links([Folder, 'folders:folder_list', 'folders:folder_create'], [folder_list, folder_create], menu_name='secondary_menu')
register_top_menu(name='folders', link=folders_main_menu_link, children_views=['folders:folder_list', 'folders:folder_create', 'folders:folder_edit', 'folders:folder_delete', 'folders:folder_view', 'folders:folder_document_multiple_remove'])
register_links(Document, [document_folder_list], menu_name='form_header')
register_sidebar_template(['folders:folder_list'], 'folders_help.html')
register_links(Folder, [folder_view, folder_edit, folder_delete, folder_acl_list])
register_links([Folder, 'folders:folder_list', 'folders:folder_create'], [folder_list, folder_create], menu_name='secondary_menu')
register_links(['folders:document_folder_list', 'folders:folder_add_document'], [folder_add_document], menu_name="sidebar")
register_multi_item_links(['documents:document_find_duplicates', 'folders:folder_view', 'indexes:index_instance_node_view', 'documents:document_type_document_list', 'search:search', 'search:results', 'indexing:document_group_view', 'documents:document_list', 'documents:document_list_recent', 'tags:tag_tagged_item_list'], [folder_add_multiple_documents])
register_multi_item_links(['folders:folder_view'], [folder_document_multiple_remove])
class_permissions(Folder, [
PERMISSION_FOLDER_EDIT,
PERMISSION_FOLDER_DELETE,
PERMISSION_FOLDER_VIEW,
ACLS_EDIT_ACL,
ACLS_VIEW_ACL
])
register_top_menu(name='folders', link=folders_main_menu_link, children_views=['folders:folder_list', 'folders:folder_create', 'folders:folder_edit', 'folders:folder_delete', 'folders:folder_view', 'folders:folder_document_multiple_remove'])
class_permissions(Document, [
PERMISSION_FOLDER_ADD_DOCUMENT,
PERMISSION_FOLDER_REMOVE_DOCUMENT,
])
class_permissions(Folder, [ACLS_EDIT_ACL, ACLS_VIEW_ACL,
PERMISSION_FOLDER_DELETE, PERMISSION_FOLDER_EDIT,
PERMISSION_FOLDER_VIEW])
class_permissions(Document, [PERMISSION_FOLDER_ADD_DOCUMENT,
PERMISSION_FOLDER_REMOVE_DOCUMENT])
register_model_list_columns(Folder, [
{'name': _(u'Created'), 'attribute': 'datetime_created'},
{'name': _(u'Documents'), 'attribute': encapsulate(lambda x: x.documents.count())},
])
def document_folders(self):
return Folder.objects.filter(folderdocument__document=self)
Document.add_to_class('folders', property(document_folders))
endpoint = APIEndPoint('folders')

View File

@@ -1,5 +0,0 @@
{% load i18n %}
<div class="block notice">
<h4>{% trans "What are folders?" %}</h4>
<p>{% blocktrans %}These folders can also be described as user folders. They are a way to let individual users create their own document organization methods. Folders created by one user and the documents contained by them don't affect any other user folders or documents.{% endblocktrans %}</p>
</div>

View File

@@ -3,7 +3,7 @@ from __future__ import absolute_import
from acls.api import class_permissions
from acls.permissions import ACLS_EDIT_ACL, ACLS_VIEW_ACL
from documents.models import Document
from navigation.api import register_links, register_sidebar_template
from navigation.api import register_links
from project_setup.api import register_setup
from .links import (smart_link_acl_list, smart_link_create,
@@ -24,7 +24,6 @@ register_links(SmartLinkCondition, [smart_link_condition_edit, smart_link_condit
register_links(['linking:smart_link_condition_list', 'linking:smart_link_condition_create', 'linking:smart_link_condition_edit', 'linking:smart_link_condition_delete'], [smart_link_condition_create], menu_name='sidebar')
register_setup(smart_link_setup)
register_sidebar_template(['linking:smart_link_list'], 'smart_links_help.html')
class_permissions(SmartLink, [
ACLS_EDIT_ACL, ACLS_VIEW_ACL, PERMISSION_SMART_LINK_DELETE,

View File

@@ -1,5 +0,0 @@
{% load i18n %}
<div class="block notice">
<h4>{% trans "What are smart links?" %}</h4>
<p>{% blocktrans %}Smart links are a set of conditional statements that are used to query the database using the current document the user is accessing as the data source, the results of these queries are a list of documents that relate in some manner to the document being displayed and allow users the ability to jump to and from linked documents very easily.{% endblocktrans %}</p>
</div>

View File

@@ -5,8 +5,8 @@ from django.utils.translation import ugettext_lazy as _
from acls.api import class_permissions
from common.utils import encapsulate
from documents.models import Document, DocumentType
from navigation.api import (register_links, register_multi_item_links,
register_sidebar_template, register_model_list_columns)
from navigation.api import (register_links, register_model_list_columns,
register_multi_item_links)
from project_setup.api import register_setup
from rest_api.classes import APIEndPoint
@@ -26,18 +26,12 @@ from .urls import api_urls
register_links(['metadata:metadata_add', 'metadata:metadata_edit', 'metadata:metadata_remove', 'metadata:metadata_view'], [metadata_add, metadata_edit, metadata_remove], menu_name='sidebar')
register_links(Document, [metadata_view], menu_name='form_header')
register_multi_item_links(['documents:document_find_duplicates', 'folders:folder_view', 'indexes:index_instance_node_view', 'documents:document_type_document_list', 'search:search', 'search:results', 'linking:document_group_view', 'documents:document_list', 'documents:document_list_recent', 'tags:tag_tagged_item_list'], [metadata_multiple_add, metadata_multiple_edit, metadata_multiple_remove])
register_links(DocumentType, [setup_document_type_metadata])
register_links(MetadataType, [setup_metadata_type_edit, setup_metadata_type_delete])
register_links([MetadataType, 'metadata:setup_metadata_type_list', 'metadata:setup_metadata_type_create'], [setup_metadata_type_list, setup_metadata_type_create], menu_name='secondary_menu')
register_links(MetadataSet, [setup_metadata_set_edit, setup_metadata_set_members, setup_metadata_set_delete])
register_links([MetadataSet, 'metadata:setup_metadata_set_list', 'metadata:setup_metadata_set_create'], [setup_metadata_set_list, setup_metadata_set_create], menu_name='secondary_menu')
register_links(DocumentType, [setup_document_type_metadata])
register_sidebar_template(['metadata:setup_metadata_type_list'], 'metadata_type_help.html')
register_sidebar_template(['metadata:setup_metadata_set_list'], 'metadata_set_help.html')
register_multi_item_links(['documents:document_find_duplicates', 'folders:folder_view', 'indexes:index_instance_node_view', 'documents:document_type_document_list', 'search:search', 'search:results', 'linking:document_group_view', 'documents:document_list', 'documents:document_list_recent', 'tags:tag_tagged_item_list'], [metadata_multiple_add, metadata_multiple_edit, metadata_multiple_remove])
register_setup(setup_metadata_set_list)
register_setup(setup_metadata_type_list)

View File

@@ -1,5 +0,0 @@
{% load i18n %}
<div class="block notice">
<h4>{% trans "What are metadata sets?" %}</h4>
<p>{% blocktrans %}A metadata set is a group of one or more metadata types. Metadata sets are useful when creating new documents; selecing a metadata set automatically attaches it's member metadata types to said document.{% endblocktrans %}</p>
</div>

View File

@@ -1,5 +0,0 @@
{% load i18n %}
<div class="block notice">
<h4>{% trans "What are metadata types?" %}</h4>
<p>{% blocktrans %}A metadata type defines the characteristics of a value of some kind that can be attached to a document. Examples of metadata types are: a client name, a date, or a project to which several documents belong. A metadata type's name is the internal identifier with which it can be referenced to by other modules such as the indexing module, the title is the value that is shown to the users, the default value is the value an instance of this metadata type will have initially, and the lookup value turns an instance of a metadata of this type into a choice list which options are the result of the lookup's code execution.{% endblocktrans %}</p>
</div>

View File

@@ -85,9 +85,3 @@ def register_model_list_columns(model, columns):
model_list_columns.setdefault(model, [])
model_list_columns[model].extend(columns)
def register_sidebar_template(source_list, template_name):
for source in source_list:
sidebar_templates.setdefault(source, [])
sidebar_templates[source].append(template_name)