58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
from __future__ import unicode_literals
|
|
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
from mayan.apps.common.apps import MayanAppConfig
|
|
from mayan.apps.common.menus import menu_object, menu_secondary
|
|
from mayan.apps.events.classes import ModelEventType
|
|
from mayan.apps.events.links import (
|
|
link_events_for_object, link_object_event_types_user_subcriptions_list
|
|
)
|
|
from mayan.apps.navigation.classes import SourceColumn
|
|
|
|
from .classes import ModelPermission
|
|
from .events import event_acl_created, event_acl_edited
|
|
from .links import link_acl_create, link_acl_delete, link_acl_permissions
|
|
|
|
|
|
class ACLsApp(MayanAppConfig):
|
|
app_namespace = 'acls'
|
|
app_url = 'acls'
|
|
has_rest_api = True
|
|
has_tests = True
|
|
name = 'mayan.apps.acls'
|
|
verbose_name = _('ACLs')
|
|
|
|
def ready(self):
|
|
super(ACLsApp, self).ready()
|
|
from actstream import registry
|
|
|
|
AccessControlList = self.get_model(model_name='AccessControlList')
|
|
|
|
ModelEventType.register(
|
|
event_types=(event_acl_created, event_acl_edited),
|
|
model=AccessControlList
|
|
)
|
|
|
|
ModelPermission.register_inheritance(
|
|
model=AccessControlList, related='content_object',
|
|
)
|
|
|
|
SourceColumn(
|
|
attribute='role', is_sortable=True, source=AccessControlList,
|
|
)
|
|
|
|
menu_object.bind_links(
|
|
links=(
|
|
link_acl_permissions, link_acl_delete,
|
|
link_events_for_object,
|
|
link_object_event_types_user_subcriptions_list
|
|
),
|
|
sources=(AccessControlList,)
|
|
)
|
|
menu_secondary.bind_links(
|
|
links=(link_acl_create,), sources=('acls:acl_list',)
|
|
)
|
|
|
|
registry.register(AccessControlList)
|