from __future__ import unicode_literals from django import apps from django.contrib.auth.models import User, Group from django.utils.translation import ugettext_lazy as _ from actstream import registry from common import menu_multi_item, menu_object, menu_secondary, menu_setup from rest_api.classes import APIEndPoint from .links import ( link_group_add, link_group_delete, link_group_edit, link_group_list, link_group_members, link_group_multiple_delete, link_group_setup, link_user_add, link_user_delete, link_user_edit, link_user_groups, link_user_list, link_user_multiple_delete, link_user_multiple_set_password, link_user_set_password, link_user_setup ) class UserManagementApp(apps.AppConfig): name = 'user_management' verbose_name = _('User management') def ready(self): APIEndPoint('users', app_name='user_management') menu_multi_item.bind_links(links=[link_group_multiple_delete], sources=['user_management:group_list']) menu_multi_item.bind_links(links=[link_user_multiple_set_password, link_user_multiple_delete], sources=['user_management:user_list']) menu_object.bind_links(links=[link_group_edit, link_group_members, link_group_delete], sources=[Group]) menu_object.bind_links(links=[link_user_edit, link_user_set_password, link_user_groups, link_user_delete], sources=[User]) menu_secondary.bind_links(links=[link_group_list, link_group_add], sources=['user_management:group_multiple_delete', 'user_management:group_delete', 'user_management:group_edit', 'user_management:group_list', 'user_management:group_add', 'user_management:group_members']) menu_secondary.bind_links(links=[link_user_list, link_user_add], sources=[User, 'user_management:user_multiple_set_password', 'user_management:user_multiple_delete', 'user_management:user_list', 'user_management:user_add']) menu_setup.bind_links(links=[link_user_setup, link_group_setup]) registry.register(Group) registry.register(User)