Skip to content

Commit

Permalink
✨ [maykinmedia/archiefbeheercomponent#340] Log destruction list creation
Browse files Browse the repository at this point in the history
  • Loading branch information
SilviaAmAm committed May 2, 2024
1 parent 2ef08ab commit bd2d486
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 1 deletion.
2 changes: 2 additions & 0 deletions backend/src/openarchiefbeheer/conf/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,12 @@
"drf_spectacular",
"zgw_consumers",
"simple_certmanager",
"timeline_logger",
# Project applications.
"openarchiefbeheer.accounts",
"openarchiefbeheer.destruction",
"openarchiefbeheer.utils",
"openarchiefbeheer.logging",
]

MIDDLEWARE = [
Expand Down
7 changes: 6 additions & 1 deletion backend/src/openarchiefbeheer/destruction/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from rest_framework.exceptions import ValidationError

from openarchiefbeheer.accounts.api.serializers import UserSerializer
from openarchiefbeheer.logging import logevent

from ..constants import ListItemStatus
from ..models import DestructionList, DestructionListAssignee, DestructionListItem
Expand Down Expand Up @@ -58,7 +59,8 @@ def create(self, validated_data: dict) -> DestructionList:
assignees_data = validated_data.pop("assignees")
items_data = validated_data.pop("items")

validated_data["author"] = self.context["request"].user
author = self.context["request"].user
validated_data["author"] = author
destruction_list = DestructionList.objects.create(**validated_data)

DestructionListItem.objects.bulk_create(
Expand All @@ -77,4 +79,7 @@ def create(self, validated_data: dict) -> DestructionList:
)

destruction_list.assign(assignees[0])

logevent.destruction_list_created(destruction_list, author)

return destruction_list
Empty file.
21 changes: 21 additions & 0 deletions backend/src/openarchiefbeheer/logging/logevent.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from django.db.models import Model

from timeline_logger.models import TimelineLog

from openarchiefbeheer.accounts.models import User
from openarchiefbeheer.destruction.models import DestructionList


def _create_log(
model: Model, event: str, extra_data: dict | None = None, user: User | None = None
) -> TimelineLog:
return TimelineLog.objects.create(
content_object=model,
template=f"logging/{event}.txt",
extra_data=extra_data,
user=user,
)


def destruction_list_created(destruction_list: DestructionList, user: User) -> None:
_create_log(model=destruction_list, event="destruction_list_created", user=user)
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{% load i18n %}
{% blocktrans trimmed with destruction_list=log.content_object %}
{{ log.timestamp }}]: Destruction list "{{ destruction_list.name }}" created by user {{ log.user }}.
{% endblocktrans %}

0 comments on commit bd2d486

Please sign in to comment.