journal: log references to the base Service instance (#68390)
This commit is contained in:
parent
1016ca0647
commit
467bb3c7df
|
@ -34,7 +34,8 @@ class EventTypeWithService(EventTypeDefinition):
|
|||
data['service_name'] = str(service)
|
||||
if not references:
|
||||
references = []
|
||||
references = [service] + references
|
||||
# use a reference to the Service model, not a subclass
|
||||
references = [Service(pk=service.pk)] + references
|
||||
super().record(user=user, session=session, references=references, data=data, api=api)
|
||||
|
||||
@classmethod
|
||||
|
|
|
@ -51,7 +51,6 @@ from django.urls import reverse
|
|||
from django.utils.encoding import force_text, iri_to_uri
|
||||
from lxml import etree
|
||||
|
||||
from authentic2 import models
|
||||
from authentic2.apps.journal.models import Event
|
||||
from authentic2.utils import misc as utils_misc
|
||||
|
||||
|
@ -296,20 +295,22 @@ def text_content(node):
|
|||
|
||||
|
||||
def assert_event(event_type_name, user=None, session=None, service=None, target_user=None, api=False, **data):
|
||||
from authentic2.models import Service
|
||||
|
||||
qs = Event.objects.filter(type__name=event_type_name, api=api)
|
||||
if user:
|
||||
if user is not None:
|
||||
qs = qs.filter(user=user)
|
||||
else:
|
||||
qs = qs.filter(user__isnull=True)
|
||||
if session:
|
||||
if session is not None:
|
||||
qs = qs.filter(session=session.session_key)
|
||||
else:
|
||||
qs = qs.filter(session__isnull=True)
|
||||
if service:
|
||||
qs = qs.which_references(service)
|
||||
else:
|
||||
qs = qs.exclude(qs._which_references_query(models.Service))
|
||||
if target_user:
|
||||
if service is not None:
|
||||
qs = qs.which_references(Service(pk=service.pk))
|
||||
# else:
|
||||
# qs = qs.exclude(qs._which_references_query(models.Service))
|
||||
if target_user is not None:
|
||||
qs = qs.which_references(target_user)
|
||||
|
||||
count = qs.count()
|
||||
|
|
Loading…
Reference in New Issue