Project

General

Profile

0002-manager-display-and-configure-permission-and-role-le.patch

Valentin Deniaud, 04 April 2019 05:07 PM

Download (3.01 KB)

View differences:

Subject: [PATCH 02/13] manager: display and configure permission and role
 levels

 src/authentic2/manager/forms.py      | 5 ++++-
 src/authentic2/manager/role_views.py | 4 ++++
 src/authentic2/manager/tables.py     | 2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)
src/authentic2/manager/forms.py
queryset=get_permission_model().objects,
required=False,
widget=forms.HiddenInput)
auth_level = forms.IntegerField(
initial=1,
required=False)
class UserEditForm(LimitQuerysetFormMixin, CssClass, BaseUserForm):
......
class Meta:
model = get_role_model()
fields = ('name', 'ou', 'description')
fields = ('name', 'ou', 'description', 'auth_level')
class OUEditForm(SlugMixin, CssClass, forms.ModelForm):
src/authentic2/manager/role_views.py
ou = form.cleaned_data.get('ou')
target = form.cleaned_data.get('target')
action = form.cleaned_data.get('action')
auth_level = form.cleaned_data.get('auth_level')
Permission = get_permission_model()
if action == 'add' and operation and target:
perm, created = Permission.objects \
......
target_ct=ContentType.objects.get_for_model(
target),
target_id=target.pk)
if created:
perm.auth_level = auth_level
perm.save()
self.object.permissions.add(perm)
hooks.call_hooks('event', name='manager-add-permission', user=self.request.user,
role=self.object, permission=perm)
src/authentic2/manager/tables.py
class Meta:
model = get_permission_model()
attrs = {'class': 'main', 'id': 'role-table'}
fields = ('operation', 'scope', 'target')
fields = ('operation', 'scope', 'target', 'auth_level')
empty_text = _('None')