0002-tables-simplify-PermissionLinkColumn-57955.patch
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 |
- |