Projet

Général

Profil

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

Valentin Deniaud, 04 avril 2019 17:07

Télécharger (3,01 ko)

Voir les différences:

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
163 163
        queryset=get_permission_model().objects,
164 164
        required=False,
165 165
        widget=forms.HiddenInput)
166
    auth_level = forms.IntegerField(
167
        initial=1,
168
        required=False)
166 169

  
167 170

  
168 171
class UserEditForm(LimitQuerysetFormMixin, CssClass, BaseUserForm):
......
649 652

  
650 653
    class Meta:
651 654
        model = get_role_model()
652
        fields = ('name', 'ou', 'description')
655
        fields = ('name', 'ou', 'description', 'auth_level')
653 656

  
654 657

  
655 658
class OUEditForm(SlugMixin, CssClass, forms.ModelForm):
src/authentic2/manager/role_views.py
228 228
            ou = form.cleaned_data.get('ou')
229 229
            target = form.cleaned_data.get('target')
230 230
            action = form.cleaned_data.get('action')
231
            auth_level = form.cleaned_data.get('auth_level')
231 232
            Permission = get_permission_model()
232 233
            if action == 'add' and operation and target:
233 234
                perm, created = Permission.objects \
......
235 236
                                   target_ct=ContentType.objects.get_for_model(
236 237
                                       target),
237 238
                                   target_id=target.pk)
239
                if created:
240
                    perm.auth_level = auth_level
241
                    perm.save()
238 242
                self.object.permissions.add(perm)
239 243
                hooks.call_hooks('event', name='manager-add-permission', user=self.request.user,
240 244
                                 role=self.object, permission=perm)
src/authentic2/manager/tables.py
78 78
    class Meta:
79 79
        model = get_permission_model()
80 80
        attrs = {'class': 'main', 'id': 'role-table'}
81
        fields = ('operation', 'scope', 'target')
81
        fields = ('operation', 'scope', 'target', 'auth_level')
82 82
        empty_text = _('None')
83 83

  
84 84

  
85
-