From 04e7ac2ba89992554c00357354805b8d142bf4bc Mon Sep 17 00:00:00 2001 From: Lucas Brandstaetter <lucas@brandstaetter.tech> Date: Mon, 23 Dec 2024 01:09:08 +0100 Subject: [PATCH] Add activity log to team detail view --- src/backoffice/templates/backoffice/teams/detail.html | 7 +++++++ src/backoffice/views/teams/teams.py | 3 +++ src/core/models/teams/teams.py | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/backoffice/templates/backoffice/teams/detail.html b/src/backoffice/templates/backoffice/teams/detail.html index 552a76a5f..5309f643f 100644 --- a/src/backoffice/templates/backoffice/teams/detail.html +++ b/src/backoffice/templates/backoffice/teams/detail.html @@ -160,4 +160,11 @@ </div> </div> {% endif %} + {% if can_change %} + <div class="row mt-3"> + <div class="col-md-12"> + {% include "backoffice/components/activity_log_card.html" with filtered_logentry_changes_keys="" %} + </div> + </div> + {% endif %} {% endblock content %} diff --git a/src/backoffice/views/teams/teams.py b/src/backoffice/views/teams/teams.py index 474a2a613..0fb6c7a49 100644 --- a/src/backoffice/views/teams/teams.py +++ b/src/backoffice/views/teams/teams.py @@ -104,11 +104,14 @@ class TeamDetailView(SingleUUIDObjectMixin, TeamNavContextMixin, AutoPermissionR if not Team.type_is(team := self.object): # pragma: no cover raise ValueError('Invalid object type') member_id = self.get_queryset().filter(uuid=team.uuid, members__user=self.request.user).values_list('members__id', flat=True).first() + log_entries = team.logentries.order_by('-timestamp') return { **super().get_context_data(**kwargs), 'member_id': member_id, 'received_invitations': team.received_invitations.filter(state=Invitation.RequestsState.REQUESTED), 'sent_invitations': team.sent_invitations.filter(state=Invitation.RequestsState.REQUESTED), + 'all_log_entries': log_entries.all(), + 'mst_log_entries': log_entries.filter(comment__isnull=False), } diff --git a/src/core/models/teams/teams.py b/src/core/models/teams/teams.py index e5f95667f..ccd8b07cf 100644 --- a/src/core/models/teams/teams.py +++ b/src/core/models/teams/teams.py @@ -97,7 +97,7 @@ class Team(RulesModelMixin, ActivityLogMixin, Group, metaclass=RulesModelBase): return isinstance(obj, cls) def save(self, *args, update_fields=None, **kwargs): - if update_fields is None or 'description' in update_fields: + if update_fields is None or 'description' in update_fields: # pragma: no branch render_results = compile_translated_markdown_fields(self, self.conference, 'description') store_relationships(self.conference, self, render_results) -- GitLab