3 |
3 |
from django.contrib.auth.models import Group
|
4 |
4 |
|
5 |
5 |
import django_tables2 as tables
|
|
6 |
from django_tables2.utils import A
|
6 |
7 |
|
7 |
8 |
from django_rbac.utils import get_role_model, get_permission_model, \
|
8 |
9 |
get_ou_model
|
... | ... | |
12 |
13 |
|
13 |
14 |
|
14 |
15 |
class UserTable(tables.Table):
|
15 |
|
uuid = tables.Column()
|
|
16 |
uuid = tables.LinkColumn(
|
|
17 |
viewname='a2-manager-user-edit',
|
|
18 |
kwargs={'pk': A('pk')})
|
16 |
19 |
ou = tables.Column()
|
17 |
20 |
username = tables.Column()
|
18 |
21 |
email = tables.Column()
|
... | ... | |
21 |
24 |
class Meta:
|
22 |
25 |
model = get_user_model()
|
23 |
26 |
attrs = {'class': 'main', 'id': 'user-table'}
|
24 |
|
fields = ('ou', 'uuid', 'username', 'email', 'first_name',
|
|
27 |
fields = ('uuid', 'ou', 'username', 'email', 'first_name',
|
25 |
28 |
'last_name', 'is_active')
|
26 |
29 |
empty_text = _('None')
|
27 |
30 |
|
28 |
31 |
|
29 |
32 |
class RoleMembersTable(UserTable):
|
30 |
|
uuid = tables.Column()
|
31 |
|
username = tables.TemplateColumn(
|
32 |
|
'''{% load i18n %}
|
33 |
|
{% with perm=perms.custom_user.change_user %}
|
34 |
|
<a rel="popup"
|
35 |
|
{% if not perm %}
|
36 |
|
class="disabled"
|
37 |
|
title="{% trans "You are not permitted to edit users" %}"
|
38 |
|
{% endif %}
|
39 |
|
href="{% url "a2-manager-user-edit" pk=record.pk %}">
|
40 |
|
{{ record.username }}
|
41 |
|
</a>
|
42 |
|
{% endwith %}''',
|
43 |
|
verbose_name=_('username'))
|
44 |
|
email = tables.Column(verbose_name=mark_safe(_('Email')))
|
45 |
|
direct = tables.BooleanColumn(verbose_name=_('Direct member'))
|
|
33 |
uuid = tables.LinkColumn(
|
|
34 |
viewname='a2-manager-user-edit',
|
|
35 |
kwargs={'pk': A('pk')})
|
|
36 |
direct = tables.BooleanColumn(verbose_name=_('Direct member'),
|
|
37 |
orderable=False)
|
46 |
38 |
|
47 |
|
class Meta:
|
48 |
|
model = get_user_model()
|
49 |
|
attrs = {'class': 'main', 'id': 'user-table'}
|
50 |
|
fields = ('uuid', 'username', 'email', 'first_name', 'last_name',
|
51 |
|
'is_active')
|
52 |
|
empty_text = _('None')
|
|
39 |
class Meta(UserTable.Meta):
|
|
40 |
pass
|
53 |
41 |
|
54 |
42 |
|
55 |
43 |
class RoleTable(tables.Table):
|
56 |
|
name = tables.Column()
|
|
44 |
name = tables.LinkColumn(viewname='a2-manager-role-members',
|
|
45 |
kwargs={'pk': A('pk')},
|
|
46 |
accessor='__unicode__', verbose_name=_('name'))
|
57 |
47 |
ou = tables.Column()
|
58 |
48 |
service = tables.Column()
|
59 |
|
member_count = tables.Column(verbose_name=_('Direct members'))
|
|
49 |
member_count = tables.Column(verbose_name=_('Direct members'),
|
|
50 |
orderable=False)
|
60 |
51 |
|
61 |
52 |
class Meta:
|
62 |
53 |
models = get_role_model()
|
... | ... | |
87 |
78 |
|
88 |
79 |
|
89 |
80 |
class RoleChildrenTable(tables.Table):
|
90 |
|
name = tables.Column(accessor='__unicode__', verbose_name=_('name'))
|
|
81 |
name = tables.LinkColumn(viewname='a2-manager-role-members',
|
|
82 |
kwargs={'pk': A('pk')},
|
|
83 |
accessor='__unicode__', verbose_name=_('name'))
|
91 |
84 |
ou = tables.Column()
|
92 |
85 |
service = tables.Column(order_by='servicerole__service')
|
93 |
86 |
is_direct = tables.BooleanColumn(verbose_name=_('Direct child'))
|
... | ... | |
99 |
92 |
|
100 |
93 |
|
101 |
94 |
class UserRolesTable(tables.Table):
|
102 |
|
name = tables.Column(accessor='__unicode__', verbose_name=_('name'))
|
|
95 |
name = tables.LinkColumn(viewname='a2-manager-role-members',
|
|
96 |
kwargs={'pk': A('pk')},
|
|
97 |
accessor='__unicode__', verbose_name=_('name'))
|
103 |
98 |
ou = tables.Column()
|
104 |
99 |
service = tables.Column(order_by='service')
|
105 |
100 |
member = tables.BooleanColumn(verbose_name=_('Direct member'))
|
106 |
|
-
|