Projet

Général

Profil

0001-django_rbac-add-auth-level-to-Role-and-Permission-cl.patch

Valentin Deniaud, 04 avril 2019 17:07

Télécharger (3,15 ko)

Voir les différences:

Subject: [PATCH 01/13] django_rbac: add auth level to Role and Permission
 classes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Dans les faits on aura sûrement besoin d'un nouveau model qui représente
le niveau plutôt qu'un int, pour configurer les choses plus finement.
 .../migrations/0006_auto_20190404_1527.py     | 26 +++++++++++++++++++
 src/django_rbac/models.py                     |  9 +++++++
 2 files changed, 35 insertions(+)
 create mode 100644 src/django_rbac/migrations/0006_auto_20190404_1527.py
src/django_rbac/migrations/0006_auto_20190404_1527.py
1
# -*- coding: utf-8 -*-
2
# Generated by Django 1.11.18 on 2019-04-04 13:27
3
from __future__ import unicode_literals
4

  
5
import django.core.validators
6
from django.db import migrations, models
7

  
8

  
9
class Migration(migrations.Migration):
10

  
11
    dependencies = [
12
        ('django_rbac', '0005_auto_20171209_1106'),
13
    ]
14

  
15
    operations = [
16
        migrations.AddField(
17
            model_name='permission',
18
            name='auth_level',
19
            field=models.PositiveSmallIntegerField(default=1, validators=[django.core.validators.MinValueValidator(1)], verbose_name='required authentication level'),
20
        ),
21
        migrations.AddField(
22
            model_name='role',
23
            name='auth_level',
24
            field=models.PositiveSmallIntegerField(default=1, validators=[django.core.validators.MinValueValidator(1)], verbose_name='required authentication level'),
25
        ),
26
    ]
src/django_rbac/models.py
19 19
from django.contrib.auth.models import Group, _user_get_all_permissions, \
20 20
    _user_has_perm, _user_has_module_perms, Permission as AuthPermission
21 21
from django.contrib import auth
22
from django.core.validators import MinValueValidator
22 23

  
23 24
from . import utils, constants, managers, backends
24 25

  
......
140 141
    target = GenericForeignKey(
141 142
        'target_ct',
142 143
        'target_id')
144
    auth_level = models.PositiveSmallIntegerField(
145
            verbose_name=_('required authentication level'),
146
            default=1,
147
            validators=(MinValueValidator(1),))
143 148

  
144 149
    objects = managers.PermissionManager()
145 150

  
......
195 200
        to=utils.get_permission_model_name(),
196 201
        related_name='roles',
197 202
        blank=True)
203
    auth_level = models.PositiveSmallIntegerField(
204
        verbose_name=_('required authentication level'),
205
        default=1,
206
        validators=(MinValueValidator(1),))
198 207

  
199 208
    objects = managers.RoleQuerySet.as_manager()
200 209

  
201
-