From a233951d1af2a7ec983acaa661d64488f4ce9d72 Mon Sep 17 00:00:00 2001 From: Lucas Brandstaetter <lucas@brandstaetter.tech> Date: Sun, 22 Dec 2024 01:40:26 +0100 Subject: [PATCH] Add ActivityLog to Team --- src/core/models/teams/teams.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/core/models/teams/teams.py b/src/core/models/teams/teams.py index 09bcf763c..e5f95667f 100644 --- a/src/core/models/teams/teams.py +++ b/src/core/models/teams/teams.py @@ -10,6 +10,7 @@ from rules.predicates import is_superuser, predicate from core.fields import ConferenceReference from core.markdown import compile_translated_markdown_fields, store_relationships +from core.models.activitylog import ActivityLogEntry, ActivityLogMixin from core.models.invitation import Invitation from core.predicates import is_conference_staff @@ -39,7 +40,7 @@ def is_public_team(user: 'PlatformUser', team: 'Team | None' = None) -> bool: return not team.require_staff -class Team(RulesModelMixin, Group, metaclass=RulesModelBase): +class Team(RulesModelMixin, ActivityLogMixin, Group, metaclass=RulesModelBase): class Meta: rules_permissions = { 'view': is_conference_staff | is_public_team, @@ -101,3 +102,10 @@ class Team(RulesModelMixin, Group, metaclass=RulesModelBase): store_relationships(self.conference, self, render_results) return super().save(*args, update_fields=update_fields, **kwargs) + + def get_activity_log_kind_for_user(self, user: 'PlatformUser') -> ActivityLogEntry.Kind: + if self.members.filter(user=user).exists(): + return ActivityLogEntry.Kind.ENTITY + if user.is_superuser: + return ActivityLogEntry.Kind.STAFF + return ActivityLogEntry.Kind.OTHER -- GitLab