manager: handle data-pk row attribute at view level (#59664)
This commit is contained in:
parent
abf3ca8038
commit
bd437ddafb
|
@ -30,6 +30,11 @@ from authentic2_idp_oidc.models import OIDCAuthorization
|
|||
User = get_user_model()
|
||||
|
||||
|
||||
class Table(tables.Table):
|
||||
class Meta:
|
||||
row_attrs = {"data-pk": lambda record: record.pk}
|
||||
|
||||
|
||||
class PermissionLinkColumn(tables.LinkColumn):
|
||||
def render(self, value, record, bound_column, **kwargs):
|
||||
request = StoreRequestMiddleware.get_request()
|
||||
|
@ -60,7 +65,7 @@ class UserLinkColumn(PermissionLinkColumn):
|
|||
return value
|
||||
|
||||
|
||||
class UserTable(tables.Table):
|
||||
class UserTable(Table):
|
||||
link = UserLinkColumn(
|
||||
verbose_name=_('User'),
|
||||
accessor='get_full_name',
|
||||
|
@ -70,7 +75,7 @@ class UserTable(tables.Table):
|
|||
email = VerifiableEmailColumn()
|
||||
ou = tables.Column()
|
||||
|
||||
class Meta:
|
||||
class Meta(Table.Meta):
|
||||
model = User
|
||||
attrs = {'class': 'main', 'id': 'user-table'}
|
||||
fields = ('username', 'email', 'first_name', 'last_name', 'ou')
|
||||
|
@ -99,18 +104,18 @@ class UserOrRoleColumn(UserLinkColumn):
|
|||
return value
|
||||
|
||||
|
||||
class MixedUserRoleTable(tables.Table):
|
||||
class MixedUserRoleTable(Table):
|
||||
name = UserOrRoleColumn(
|
||||
verbose_name=_('Members'),
|
||||
text=str,
|
||||
orderable=False,
|
||||
)
|
||||
|
||||
class Meta:
|
||||
class Meta(Table.Meta):
|
||||
attrs = {'class': 'main', 'id': 'user-table'}
|
||||
|
||||
|
||||
class RoleTable(tables.Table):
|
||||
class RoleTable(Table):
|
||||
name = tables.LinkColumn(
|
||||
viewname='a2-manager-role-members', kwargs={'pk': A('pk')}, accessor='name', verbose_name=_('label')
|
||||
)
|
||||
|
@ -123,36 +128,36 @@ class RoleTable(tables.Table):
|
|||
content = SafeText('%s (%s)' % (content, _('LDAP')))
|
||||
return content
|
||||
|
||||
class Meta:
|
||||
class Meta(Table.Meta):
|
||||
model = Role
|
||||
attrs = {'class': 'main', 'id': 'role-table'}
|
||||
fields = ('name', 'slug', 'ou', 'member_count')
|
||||
|
||||
|
||||
class PermissionTable(tables.Table):
|
||||
class PermissionTable(Table):
|
||||
operation = tables.Column()
|
||||
scope = tables.Column()
|
||||
target = tables.Column()
|
||||
|
||||
class Meta:
|
||||
class Meta(Table.Meta):
|
||||
model = Permission
|
||||
attrs = {'class': 'main', 'id': 'role-table'}
|
||||
fields = ('operation', 'scope', 'target')
|
||||
empty_text = _('None')
|
||||
|
||||
|
||||
class OUTable(tables.Table):
|
||||
class OUTable(Table):
|
||||
name = tables.Column(verbose_name=_('label'))
|
||||
default = tables.BooleanColumn()
|
||||
|
||||
class Meta:
|
||||
class Meta(Table.Meta):
|
||||
model = OrganizationalUnit
|
||||
attrs = {'class': 'main', 'id': 'ou-table'}
|
||||
fields = ('name', 'slug', 'default')
|
||||
empty_text = _('None')
|
||||
|
||||
|
||||
class OuUserRolesTable(tables.Table):
|
||||
class OuUserRolesTable(Table):
|
||||
name = tables.LinkColumn(
|
||||
viewname='a2-manager-role-members', kwargs={'pk': A('pk')}, accessor='name', verbose_name=_('label')
|
||||
)
|
||||
|
@ -180,7 +185,7 @@ class OuUserRolesTable(tables.Table):
|
|||
content = SafeText('%s (%s)' % (content, _('LDAP')))
|
||||
return content
|
||||
|
||||
class Meta:
|
||||
class Meta(Table.Meta):
|
||||
model = Role
|
||||
attrs = {'class': 'main plaintable', 'id': 'role-table'}
|
||||
fields = ('name', 'ou')
|
||||
|
@ -188,7 +193,7 @@ class OuUserRolesTable(tables.Table):
|
|||
order_by = ('name',)
|
||||
|
||||
|
||||
class UserRolesTable(tables.Table):
|
||||
class UserRolesTable(Table):
|
||||
name = tables.LinkColumn(
|
||||
viewname='a2-manager-role-members', kwargs={'pk': A('pk')}, accessor='name', verbose_name=_('label')
|
||||
)
|
||||
|
@ -206,7 +211,7 @@ class UserRolesTable(tables.Table):
|
|||
content = SafeText('%s (%s)' % (content, _('LDAP')))
|
||||
return content
|
||||
|
||||
class Meta:
|
||||
class Meta(Table.Meta):
|
||||
model = Role
|
||||
attrs = {'class': 'main', 'id': 'role-table'}
|
||||
fields = ('name', 'ou')
|
||||
|
@ -214,12 +219,12 @@ class UserRolesTable(tables.Table):
|
|||
order_by = ('name', 'ou')
|
||||
|
||||
|
||||
class ServiceTable(tables.Table):
|
||||
class ServiceTable(Table):
|
||||
ou = tables.Column()
|
||||
name = tables.Column()
|
||||
slug = tables.Column()
|
||||
|
||||
class Meta:
|
||||
class Meta(Table.Meta):
|
||||
model = Service
|
||||
attrs = {'class': 'main', 'id': 'service-table'}
|
||||
fields = ('ou', 'name', 'slug')
|
||||
|
@ -227,29 +232,29 @@ class ServiceTable(tables.Table):
|
|||
order_by = ('ou', 'name', 'slug')
|
||||
|
||||
|
||||
class ServiceRolesTable(tables.Table):
|
||||
class ServiceRolesTable(Table):
|
||||
name = tables.Column(accessor='name', verbose_name=_('name'))
|
||||
|
||||
class Meta:
|
||||
class Meta(Table.Meta):
|
||||
model = Role
|
||||
attrs = {'class': 'main', 'id': 'service-role-table'}
|
||||
fields = ('name',)
|
||||
empty_text = _('No access restriction. All users are allowed to connect to this service.')
|
||||
|
||||
|
||||
class UserAuthorizationsTable(tables.Table):
|
||||
class UserAuthorizationsTable(Table):
|
||||
client = tables.Column(orderable=False)
|
||||
created = tables.Column()
|
||||
expired = tables.Column()
|
||||
|
||||
class Meta:
|
||||
class Meta(Table.Meta):
|
||||
model = OIDCAuthorization
|
||||
attrs = {'class': 'main plaintable', 'id': 'user-authorizations-table'}
|
||||
fields = ('client', 'created', 'expired')
|
||||
empty_text = _('This user has not granted profile data access to any service yet.')
|
||||
|
||||
|
||||
class InheritanceRolesTable(tables.Table):
|
||||
class InheritanceRolesTable(Table):
|
||||
name = tables.LinkColumn(
|
||||
viewname='a2-manager-role-members', kwargs={'pk': A('pk')}, accessor='name', verbose_name=_('label')
|
||||
)
|
||||
|
@ -264,7 +269,7 @@ class InheritanceRolesTable(tables.Table):
|
|||
verbose_name='',
|
||||
)
|
||||
|
||||
class Meta:
|
||||
class Meta(Table.Meta):
|
||||
model = Role
|
||||
attrs = {'class': 'main plaintable', 'id': 'inheritance-role-table'}
|
||||
fields = ('name', 'ou')
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
{% block table.tbody.row %}
|
||||
<tr
|
||||
{{ row.attrs.as_html }}
|
||||
{% if table.context.row_link %}
|
||||
{% if popup_edit %}
|
||||
rel="popup"
|
||||
|
@ -29,9 +30,7 @@
|
|||
{% else %}
|
||||
data-url="{{ row.record.pk }}/"
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
data-pk="{{ row.record.id }}"
|
||||
class="{{ forloop.counter|divisibleby:2|yesno:"even,odd" }}">
|
||||
{% endif %}>
|
||||
{% for column, cell in row.items %}
|
||||
<td {{ column.attrs.td.as_html }}>{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %}</td>
|
||||
{% endfor %}
|
||||
|
|
Loading…
Reference in New Issue