Files
mayan-edms/mayan/apps/user_management/links.py
2019-01-25 01:13:53 -04:00

114 lines
4.1 KiB
Python

from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _
from mayan.apps.navigation import Link, Separator, Text
from .icons import (
icon_current_user_details, icon_current_user_edit, icon_group,
icon_group_create, icon_group_delete, icon_group_edit, icon_group_list,
icon_group_members, icon_group_setup, icon_user_create, icon_user_delete,
icon_user_edit, icon_user_list, icon_user_multiple_delete,
icon_user_multiple_set_password, icon_user_set_options,
icon_user_set_password, icon_user_setup
)
from .permissions import (
permission_group_create, permission_group_delete, permission_group_edit,
permission_group_view, permission_user_create, permission_user_delete,
permission_user_edit, permission_user_view
)
from .utils import get_user_label_text
def condition_is_not_superuser(context):
user = context['object']
return not user.is_superuser and not user.is_staff
link_current_user_details = Link(
icon_class=icon_current_user_details, text=_('User details'),
view='user_management:current_user_details'
)
link_current_user_edit = Link(
icon_class=icon_current_user_edit, text=_('Edit details'),
view='user_management:current_user_edit'
)
link_group_create = Link(
icon_class=icon_group_create, permission=permission_group_create,
text=_('Create new group'), view='user_management:group_create'
)
link_group_delete = Link(
args='object.id', icon_class=icon_group_delete,
permission=permission_group_delete, tags='dangerous',
text=_('Delete'), view='user_management:group_delete',
)
link_group_edit = Link(
args='object.id', icon_class=icon_group_edit,
permission=permission_group_edit, text=_('Edit'),
view='user_management:group_edit',
)
link_group_list = Link(
icon_class=icon_group_list, permission=permission_group_view,
text=_('Groups'),
view='user_management:group_list'
)
link_group_members = Link(
args='object.id', icon_class=icon_group_members,
permission=permission_group_edit, text=_('Users'),
view='user_management:group_members',
)
link_group_setup = Link(
icon_class=icon_group_setup, permission=permission_group_view,
text=_('Groups'), view='user_management:group_list'
)
link_user_create = Link(
icon_class=icon_user_create, permission=permission_user_create,
text=_('Create new user'), view='user_management:user_create'
)
link_user_delete = Link(
args='object.id', icon_class=icon_user_delete,
permission=permission_user_delete, tags='dangerous', text=_('Delete'),
view='user_management:user_delete',
)
link_user_edit = Link(
args='object.id', icon_class=icon_user_edit,
permission=permission_user_edit, text=_('Edit'),
view='user_management:user_edit',
)
link_user_groups = Link(
args='object.id', condition=condition_is_not_superuser,
icon_class=icon_group, permission=permission_user_edit,
text=_('Groups'), view='user_management:user_groups',
)
link_user_list = Link(
icon_class=icon_user_list, permission=permission_user_view,
text=_('Users'), view='user_management:user_list'
)
link_user_multiple_delete = Link(
icon_class=icon_user_multiple_delete,
permission=permission_user_delete, tags='dangerous', text=_('Delete'),
view='user_management:user_multiple_delete'
)
link_user_multiple_set_password = Link(
icon_class=icon_user_multiple_set_password,
permission=permission_user_edit, text=_('Set password'),
view='user_management:user_multiple_set_password'
)
link_user_set_options = Link(
args='object.id', icon_class=icon_user_set_options,
permission=permission_user_edit, text=_('User options'),
view='user_management:user_options',
)
link_user_set_password = Link(
args='object.id', icon_class=icon_user_set_password,
permission=permission_user_edit, text=_('Set password'),
view='user_management:user_set_password',
)
link_user_setup = Link(
icon_class=icon_user_setup, permission=permission_user_view,
text=_('Users'), view='user_management:user_list'
)
separator_user_label = Separator()
text_user_label = Text(text=get_user_label_text)