diff --git a/django_object_actions/utils.py b/django_object_actions/utils.py index 92ada06..48c7b77 100644 --- a/django_object_actions/utils.py +++ b/django_object_actions/utils.py @@ -3,6 +3,7 @@ from django.contrib import messages from django.contrib.admin.utils import unquote +from django.contrib.messages import get_messages from django.db.models.query import QuerySet from django.http import Http404, HttpResponseRedirect from django.http.response import HttpResponseBase @@ -249,6 +250,17 @@ def get(self, request, tool, **kwargs): raise Http404("Action does not exist") ret = view(request, *self.view_args) + pk = kwargs.get('pk') + if pk: + obj = self.model.objects.get(pk=pk) + model_admin = view.__self__ + messages = request._messages._queued_messages + if messages: + message = messages[0] + message_text = f'{tool}, status: {message.level_tag}, message: {message.message}' + else: + message_text = f'{tool}' + model_admin.log_change(request, obj, message_text) if isinstance(ret, HttpResponseBase): return ret