Projet

Général

Profil

0002-tables-simplify-PermissionLinkColumn-57955.patch

Valentin Deniaud, 03 novembre 2021 14:15

Télécharger (1,61 ko)

Voir les différences:

Subject: [PATCH 2/4] tables: simplify PermissionLinkColumn (#57955)

 src/authentic2/manager/tables.py | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)
src/authentic2/manager/tables.py
31 31

  
32 32

  
33 33
class PermissionLinkColumn(tables.LinkColumn):
34
    def __init__(self, viewname, **kwargs):
35
        self.permission = kwargs.pop('permission', None)
36
        super().__init__(viewname, **kwargs)
37

  
38 34
    def render(self, value, record, bound_column, **kwargs):
39
        if self.permission:
40
            request = StoreRequestMiddleware.get_request()
41
            if request and not request.user.has_perm(self.permission, record):
42
                return value
35
        request = StoreRequestMiddleware.get_request()
36
        permission = '%s.view_%s' % (record._meta.app_label, record._meta.model_name)
37
        if request and not request.user.has_perm(permission, record):
38
            return value
43 39
        return super().render(value, record, bound_column)
44 40

  
45 41

  
......
66 62

  
67 63
class UserTable(tables.Table):
68 64
    link = UserLinkColumn(
69
        permission='custom_user.view_user',
70 65
        verbose_name=_('User'),
71 66
        accessor='get_full_name',
72 67
        order_by=('last_name', 'first_name', 'email', 'username'),
73
-