0001-django_rbac-replace-Operation.name-by-a-registry-491.patch
src/authentic2/a2_rbac/models.py | ||
---|---|---|
422 | 422 |
object_id_field='target_id').contribute_to_class(ContentType, 'admin_perms') |
423 | 423 | |
424 | 424 | |
425 |
CHANGE_PASSWORD_OP = Operation(name=_('Change password'), slug='change_password') |
|
426 |
RESET_PASSWORD_OP = Operation(name=_('Password reset'), slug='reset_password') |
|
427 |
ACTIVATE_OP = Operation(name=_('Activation'), slug='activate') |
|
428 |
CHANGE_EMAIL_OP = Operation(name=pgettext_lazy('operation', 'Change email'), slug='change_email') |
|
429 |
MANAGE_MEMBERS_OP = Operation(name=_('Manage role members'), slug='manage_members') |
|
430 |
MANAGE_AUTHORIZATIONS_OP = Operation( |
|
425 |
CHANGE_PASSWORD_OP = Operation.register(name=_('Change password'), slug='change_password')
|
|
426 |
RESET_PASSWORD_OP = Operation.register(name=_('Password reset'), slug='reset_password')
|
|
427 |
ACTIVATE_OP = Operation.register(name=_('Activation'), slug='activate')
|
|
428 |
CHANGE_EMAIL_OP = Operation.register(name=pgettext_lazy('operation', 'Change email'), slug='change_email')
|
|
429 |
MANAGE_MEMBERS_OP = Operation.register(name=_('Manage role members'), slug='manage_members')
|
|
430 |
MANAGE_AUTHORIZATIONS_OP = Operation.register(
|
|
431 | 431 |
name=_('Manage service consents'), slug='manage_authorizations') |
src/django_rbac/migrations/0006_remove_operation_name.py | ||
---|---|---|
1 |
# Generated by Django 2.2.17 on 2020-12-04 17:04 |
|
2 | ||
3 |
from django.db import migrations |
|
4 | ||
5 | ||
6 |
class Migration(migrations.Migration): |
|
7 | ||
8 |
dependencies = [ |
|
9 |
('django_rbac', '0005_auto_20171209_1106'), |
|
10 |
] |
|
11 | ||
12 |
operations = [ |
|
13 |
migrations.RemoveField( |
|
14 |
model_name='operation', |
|
15 |
name='name', |
|
16 |
), |
|
17 |
] |
src/django_rbac/models.py | ||
---|---|---|
102 | 102 | |
103 | 103 | |
104 | 104 |
class Operation(models.Model): |
105 |
name = models.CharField( |
|
106 |
max_length=128, |
|
107 |
verbose_name=_('name')) |
|
108 | 105 |
slug = models.CharField( |
109 | 106 |
max_length=32, |
110 | 107 |
verbose_name=_('slug'), |
... | ... | |
114 | 111 |
return [self.slug] |
115 | 112 | |
116 | 113 |
def __str__(self): |
117 |
return six.text_type(_(self.name))
|
|
114 |
return self._registry[self.slug]
|
|
118 | 115 | |
119 | 116 |
def export_json(self): |
120 |
return {'slug': self.slug, 'name': self.name} |
|
117 |
return {'slug': self.slug} |
|
118 | ||
119 |
@property |
|
120 |
def name(self): |
|
121 |
return str(self) |
|
122 | ||
123 |
@classmethod |
|
124 |
def register(cls, name, slug): |
|
125 |
cls._registry[slug] = name |
|
126 |
return cls(slug=slug) |
|
127 |
_registry = {} |
|
121 | 128 | |
122 | 129 |
objects = managers.OperationManager() |
123 | 130 | |
... | ... | |
408 | 415 |
return backends.DjangoRBACBackend().ous_with_perm(self, perm, queryset=queryset) |
409 | 416 | |
410 | 417 | |
411 |
ADMIN_OP = Operation(name=_('Management'), slug='admin') |
|
412 |
CHANGE_OP = Operation(name=_('Change'), slug='change') |
|
413 |
DELETE_OP = Operation(name=_('Delete'), slug='delete') |
|
414 |
ADD_OP = Operation(name=_('Add'), slug='add') |
|
415 |
VIEW_OP = Operation(name=_('View'), slug='view') |
|
416 |
SEARCH_OP = Operation(name=_('Search'), slug='search') |
|
418 |
ADMIN_OP = Operation.register(name=_('Management'), slug='admin') |
|
419 |
CHANGE_OP = Operation.register(name=_('Change'), slug='change') |
|
420 |
DELETE_OP = Operation.register(name=_('Delete'), slug='delete') |
|
421 |
ADD_OP = Operation.register(name=_('Add'), slug='add') |
|
422 |
VIEW_OP = Operation.register(name=_('View'), slug='view') |
|
423 |
SEARCH_OP = Operation.register(name=_('Search'), slug='search') |
src/django_rbac/utils.py | ||
---|---|---|
78 | 78 | |
79 | 79 |
def get_operation(operation_tpl): |
80 | 80 |
from . import models |
81 |
operation, created = models.Operation.objects.get_or_create( |
|
82 |
slug=six.text_type(operation_tpl.slug), |
|
83 |
defaults={'name': six.text_type(operation_tpl.name)}) |
|
81 |
operation, created = models.Operation.objects.get_or_create(slug=operation_tpl.slug) |
|
84 | 82 |
return operation |
85 |
- |