Update the ACL permission view to use the new AddRemoveView. Add ACL created and ACL edit events. Add permission adding and removal accesors to the ACL model. Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
58 lines
1.8 KiB
Python
58 lines
1.8 KiB
Python
from __future__ import unicode_literals
|
|
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
from mayan.apps.common import MayanAppConfig, menu_object, menu_secondary
|
|
from mayan.apps.events import ModelEventType
|
|
from mayan.apps.events.links import (
|
|
link_events_for_object, link_object_event_types_user_subcriptions_list
|
|
)
|
|
from mayan.apps.events.permissions import permission_events_view
|
|
from mayan.apps.navigation 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_identifier=True, 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)
|