Skip to content

Commit a4c030e

Browse files
committed
✨ [#499] Add logging for when the record manager processes the review
1 parent f27e90a commit a4c030e

File tree

5 files changed

+44
-2
lines changed

5 files changed

+44
-2
lines changed

backend/src/openarchiefbeheer/destruction/api/serializers.py

+4
Original file line numberDiff line numberDiff line change
@@ -852,6 +852,10 @@ def create(self, validated_data: dict) -> ReviewResponse:
852852
review_response = ReviewResponse.objects.create(**validated_data)
853853
ReviewItemResponse.objects.bulk_create(items_responses)
854854

855+
logevent.destruction_list_review_response_created(
856+
validated_data["review"].destruction_list, self.context["request"].user
857+
)
858+
855859
process_review_response.delay(review_response.pk)
856860

857861
return review_response

backend/src/openarchiefbeheer/destruction/tasks.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from celery import chain
77

88
from openarchiefbeheer.celery import app
9+
from openarchiefbeheer.logging import logevent
910

1011
from .constants import InternalStatus, ListItemStatus, ListStatus
1112
from .exceptions import DeletionProcessingError
@@ -43,10 +44,13 @@ def process_review_response(pk: int) -> None:
4344
item_response.save()
4445
return
4546

47+
destruction_list = review_response.review.destruction_list
4648
prepopulate_selection_after_review_response(
47-
review_response.review.destruction_list, items_review_responses
49+
destruction_list, items_review_responses
4850
)
49-
review_response.review.destruction_list.assign_next()
51+
destruction_list.assign_next()
52+
53+
logevent.destruction_list_review_response_processed(destruction_list)
5054

5155

5256
def delete_destruction_list(destruction_list: DestructionList) -> None:

backend/src/openarchiefbeheer/logging/logevent.py

+25
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
from openarchiefbeheer.accounts.api.serializers import UserSerializer
88
from openarchiefbeheer.accounts.models import User
9+
from openarchiefbeheer.destruction.constants import ListItemStatus
910
from openarchiefbeheer.destruction.models import (
1011
DestructionList,
1112
DestructionListAssignee,
@@ -99,6 +100,30 @@ def destruction_list_ready_for_first_review(
99100
)
100101

101102

103+
def destruction_list_review_response_created(
104+
destruction_list: DestructionList, user: User
105+
) -> None:
106+
_create_log(
107+
model=destruction_list,
108+
event="destruction_list_review_response_created",
109+
user=user,
110+
)
111+
112+
113+
def destruction_list_review_response_processed(
114+
destruction_list: DestructionList,
115+
) -> None:
116+
_create_log(
117+
model=destruction_list,
118+
event="destruction_list_review_response_processed",
119+
extra_data={
120+
"number_of_zaken": destruction_list.items.filter(
121+
status=ListItemStatus.suggested
122+
).count(),
123+
},
124+
)
125+
126+
102127
def destruction_list_updated(destruction_list: DestructionList, user: User) -> None:
103128
_create_log(model=destruction_list, event="destruction_list_updated", user=user)
104129

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{% load i18n %}{% with groups=log.extra_data.user_groups|join:", " %}{% blocktranslate trimmed with list_name=log.content_object.name groups=groups group_pluralized=group_pluralized author=log.user count counter=log.extra_data.user_groups|length %}
2+
User {{ author }} (member of group {{ groups }}) has processed the feedback on destruction list "{{ list_name }}".{% plural %}User {{ author }} (member of groups {{ groups }}) has processed the feedback on destruction list "{{ list_name }}".
3+
{% endblocktranslate %}{% endwith %}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{% load i18n %}{% blocktranslate trimmed with list_name=log.content_object.name %}
2+
The review response of destruction list "{{ list_name }}" has been processed.
3+
{% endblocktranslate %}
4+
{% blocktranslate trimmed with number_of_zaken=log.extra_data.number_of_zaken count counter=log.extra_data.number_of_zaken %}
5+
There is now one zaak on the list.{% plural %}There are now {{ number_of_zaken }} zaken on the list.
6+
{% endblocktranslate %}

0 commit comments

Comments
 (0)