Projet

Général

Profil

0001-Make-links-of-all-first-table-s-column-in-the-manage.patch

Benjamin Dauvergne, 23 juin 2015 16:01

Télécharger (4,17 ko)

Voir les différences:

Subject: [PATCH] Make links of all first table's column in the manager (fixes
 #7594)

 src/authentic2/manager/tables.py | 51 ++++++++++++++++++----------------------
 1 file changed, 23 insertions(+), 28 deletions(-)
src/authentic2/manager/tables.py
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
-