Update folders app to use registry and new icon class

This commit is contained in:
Roberto Rosario
2012-09-13 17:09:46 -04:00
parent d304bcb8c7
commit d7b8ed8814
4 changed files with 42 additions and 22 deletions

View File

@@ -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()])

14
apps/folders/icons.py Normal file
View File

@@ -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)

View File

@@ -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'])

12
apps/folders/registry.py Normal file
View File

@@ -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]