From 5268a375fe9dc7d5b630ee47d9af10d7ca5fff3b Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Sat, 7 Sep 2019 22:32:48 +0200 Subject: [PATCH] Add property to get all CRUD events of school-related objects. Advances BiscuIT-App-Alsijil#24. --- biscuit/core/mixins.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/biscuit/core/mixins.py b/biscuit/core/mixins.py index 54571988a..684e9f401 100644 --- a/biscuit/core/mixins.py +++ b/biscuit/core/mixins.py @@ -1,4 +1,8 @@ +from django.contrib.contenttypes.models import ContentType from django.db import models +from django.db.models import QuerySet + +from easyaudit.models import CRUDEvent from .util.core_helpers import get_current_school @@ -11,3 +15,16 @@ class SchoolRelated(models.Model): school = models.ForeignKey( 'core.School', on_delete=models.CASCADE, default=get_current_school) + + @property + def crud_events(self) -> QuerySet: + """Get all CRUD events connected to this object from easyaudit.""" + + content_type = ContentType.objects.get_for_model(self) + + return CRUDEvent.objects.filter( + object_id=self.pk, + content_type=content_type + ).select_related( + 'user' + ) -- GitLab