Projet

Général

Profil

0003-rbac-define-custom-manager-for-active-objects-57500.patch

Paul Marillonnet, 15 octobre 2021 10:42

Télécharger (1,44 ko)

Voir les différences:

Subject: [PATCH 3/8] rbac: define custom manager for active objects (#57500)

 src/django_rbac/managers.py | 5 +++++
 src/django_rbac/models.py   | 1 +
 2 files changed, 6 insertions(+)
src/django_rbac/managers.py
229 229
            self.model.objects.filter(functools.reduce(query.Q.__or__, queries)).delete()
230 230

  
231 231

  
232
class ActiveRoleParentingManager(RoleParentingManager):
233
    def get_queryset(self):
234
        return super().get_queryset().filter(deleted__isnull=True)
235

  
236

  
232 237
@contextlib.contextmanager
233 238
def defer_update_transitive_closure():
234 239
    from . import utils
src/django_rbac/models.py
259 259
    deleted = models.DateTimeField(verbose_name=_('Deletion date'), null=True)
260 260

  
261 261
    objects = managers.RoleParentingManager()
262
    active_objects = managers.ActiveRoleParentingManager()
262 263

  
263 264
    def natural_key(self):
264 265
        return [self.parent.natural_key(), self.child.natural_key(), self.direct]
265
-