diff --git a/apps/folders/__init__.py b/apps/folders/__init__.py index 7fad3039cc..e4ba110e9a 100644 --- a/apps/folders/__init__.py +++ b/apps/folders/__init__.py @@ -4,11 +4,9 @@ from django.utils.translation import ugettext_lazy as _ from acls.api import class_permissions from acls.permissions import ACLS_EDIT_ACL, ACLS_VIEW_ACL -#from app_registry import register_app, UnableToRegister -#from backups.api import AppBackup, ModelBackup from documents.models import Document -from navigation.api import (bind_links, register_top_menu, - register_multi_item_links, register_sidebar_template, Link) +from navigation.api import (bind_links, register_multi_item_links, + register_sidebar_template, Link) from .links import (folder_list, folder_create, folder_edit, folder_delete, folder_document_multiple_remove, folder_view, @@ -18,7 +16,6 @@ from .permissions import (PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_DELETE, PERMISSION_FOLDER_REMOVE_DOCUMENT, PERMISSION_FOLDER_VIEW, PERMISSION_FOLDER_ADD_DOCUMENT) -register_top_menu(name='folders', link=Link(text=_('folders'), sprite='folder_user', view='folder_list', children_views=['folder_list', 'folder_create', 'folder_edit', 'folder_delete', 'folder_view', 'folder_document_multiple_remove'])) register_multi_item_links(['folder_view'], [folder_document_multiple_remove]) bind_links([Folder], [folder_view, folder_edit, folder_delete, folder_acl_list]) bind_links([Folder, 'folder_list', 'folder_create'], [folder_list, folder_create], menu_name='secondary_menu') @@ -38,10 +35,3 @@ class_permissions(Document, [ PERMISSION_FOLDER_ADD_DOCUMENT, PERMISSION_FOLDER_REMOVE_DOCUMENT, ]) - -#try: -# app = register_app('folders', _(u'Folders')) -#except UnableToRegister: -# pass -#else: -# AppBackup(app, [ModelBackup()]) diff --git a/apps/folders/icons.py b/apps/folders/icons.py new file mode 100644 index 0000000000..f7004cff89 --- /dev/null +++ b/apps/folders/icons.py @@ -0,0 +1,14 @@ +from __future__ import absolute_import + +from icons.literals import (FOLDER_USER, FOLDER_ADD, FOLDER_EDIT, FOLDER_DELETE, + FOLDER_GO, ADD, FOLDER_USER, LOCK, FOLDER, FOLDERS) +from icons import Icon + +icon_folders = Icon(FOLDERS) +icon_folder_create = Icon(FOLDER_ADD) +icon_folder_edit = Icon(FOLDER_EDIT) +icon_folder_delete = Icon(FOLDER_DELETE) +icon_folder_view = Icon(FOLDER) +icon_folder_add_document = Icon(ADD) +icon_document_folder_list = Icon(FOLDER_USER) +icon_folder_acls = Icon(LOCK) diff --git a/apps/folders/links.py b/apps/folders/links.py index e9bd5afcef..2595e81bcf 100644 --- a/apps/folders/links.py +++ b/apps/folders/links.py @@ -10,14 +10,18 @@ from .permissions import (PERMISSION_FOLDER_CREATE, PERMISSION_FOLDER_EDIT, PERMISSION_FOLDER_DELETE, PERMISSION_FOLDER_REMOVE_DOCUMENT, PERMISSION_FOLDER_VIEW, PERMISSION_FOLDER_ADD_DOCUMENT) +from .icons import (icon_folders, icon_folder_create, icon_folder_edit, + icon_folder_delete, icon_folder_view, icon_folder_add_document, + icon_document_folder_list, icon_folder_acls) + +folder_list = Link(text=_(u'folder list'), view='folder_list', icon=icon_folders) +folder_create = Link(text=_('create folder'), view='folder_create', icon=icon_folder_create, permissions=[PERMISSION_FOLDER_CREATE]) +folder_edit = Link(text=_('edit'), view='folder_edit', args='object.pk', icon=icon_folder_edit, permissions=[PERMISSION_FOLDER_EDIT]) +folder_delete = Link(text=_('delete'), view='folder_delete', args='object.pk', icon=icon_folder_delete, permissions=[PERMISSION_FOLDER_DELETE]) +folder_document_multiple_remove = Link(text=_('remove from folder'), view='folder_document_multiple_remove', args='object.pk', icon=icon_folder_delete, permissions=[PERMISSION_FOLDER_REMOVE_DOCUMENT]) +folder_view = Link(text=_(u'folder documents'), view='folder_view', args='object.pk', icon=icon_folder_view, permissions=[PERMISSION_FOLDER_VIEW]) +folder_add_document = Link(text=_('add to a folder'), view='folder_add_document', args='object.pk', icon=icon_folder_add_document, permissions=[PERMISSION_FOLDER_ADD_DOCUMENT]) +document_folder_list = Link(text=_(u'folders'), view='document_folder_list', args='object.pk', icon=icon_document_folder_list, permissions=[PERMISSION_DOCUMENT_VIEW], children_view_regex=[r'folder']) -folder_list = Link(text=_(u'folder list'), view='folder_list', sprite='folder_user') -folder_create = Link(text=_('create folder'), view='folder_create', sprite='folder_add', permissions=[PERMISSION_FOLDER_CREATE]) -folder_edit = Link(text=_('edit'), view='folder_edit', args='object.pk', sprite='folder_edit', permissions=[PERMISSION_FOLDER_EDIT]) -folder_delete = Link(text=_('delete'), view='folder_delete', args='object.pk', sprite='folder_delete', permissions=[PERMISSION_FOLDER_DELETE]) -folder_document_multiple_remove = Link(text=_('remove from folder'), view='folder_document_multiple_remove', args='object.pk', sprite='delete', permissions=[PERMISSION_FOLDER_REMOVE_DOCUMENT]) -folder_view = Link(text=_(u'folder documents'), view='folder_view', args='object.pk', sprite='folder_go', permissions=[PERMISSION_FOLDER_VIEW]) -folder_add_document = Link(text=_('add to a folder'), view='folder_add_document', args='object.pk', sprite='add', permissions=[PERMISSION_FOLDER_ADD_DOCUMENT]) -document_folder_list = Link(text=_(u'folders'), view='document_folder_list', args='object.pk', sprite='folder_user', permissions=[PERMISSION_DOCUMENT_VIEW], children_view_regex=[r'folder']) - -folder_acl_list = Link(text=_(u'ACLs'), view='folder_acl_list', args='object.pk', sprite='lock', permissions=[ACLS_VIEW_ACL]) +folder_acl_list = Link(text=_(u'ACLs'), view='folder_acl_list', args='object.pk', icon=icon_folder_acls, permissions=[ACLS_VIEW_ACL]) +menu_link = Link(text=_('folders'), icon=icon_folder_view, view='folder_list', children_views=['folder_list', 'folder_create', 'folder_edit', 'folder_delete', 'folder_view', 'folder_document_multiple_remove']) diff --git a/apps/folders/registry.py b/apps/folders/registry.py new file mode 100644 index 0000000000..86bcba187e --- /dev/null +++ b/apps/folders/registry.py @@ -0,0 +1,12 @@ +from __future__ import absolute_import + +from django.utils.translation import ugettext_lazy as _ + +from .icons import icon_folders +from .links import menu_link + +label = _(u'Folders') +description = _(u'Allow manual grouping of documents.') +icon = icon_folders +dependencies = ['navigation', 'icons', 'permissions', 'acls', 'documents'] +menu_links = [menu_link]