Project

General

Profile

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

Valentin Deniaud, 04 April 2019 05:07 PM

Download (3.15 KB)

View differences:

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
# -*- coding: utf-8 -*-
# Generated by Django 1.11.18 on 2019-04-04 13:27
from __future__ import unicode_literals
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_rbac', '0005_auto_20171209_1106'),
]
operations = [
migrations.AddField(
model_name='permission',
name='auth_level',
field=models.PositiveSmallIntegerField(default=1, validators=[django.core.validators.MinValueValidator(1)], verbose_name='required authentication level'),
),
migrations.AddField(
model_name='role',
name='auth_level',
field=models.PositiveSmallIntegerField(default=1, validators=[django.core.validators.MinValueValidator(1)], verbose_name='required authentication level'),
),
]
src/django_rbac/models.py
from django.contrib.auth.models import Group, _user_get_all_permissions, \
_user_has_perm, _user_has_module_perms, Permission as AuthPermission
from django.contrib import auth
from django.core.validators import MinValueValidator
from . import utils, constants, managers, backends
......
target = GenericForeignKey(
'target_ct',
'target_id')
auth_level = models.PositiveSmallIntegerField(
verbose_name=_('required authentication level'),
default=1,
validators=(MinValueValidator(1),))
objects = managers.PermissionManager()
......
to=utils.get_permission_model_name(),
related_name='roles',
blank=True)
auth_level = models.PositiveSmallIntegerField(
verbose_name=_('required authentication level'),
default=1,
validators=(MinValueValidator(1),))
objects = managers.RoleQuerySet.as_manager()