feat: Implement group-restricted Live Sessions & IP Monitoring and 1-click Admin Email Confirmation

This commit is contained in:
Richard
2026-08-01 12:26:44 +02:00
parent 4b13e57fcb
commit 7614163f78
15 changed files with 943 additions and 665 deletions
+18
View File
@@ -86,3 +86,21 @@ class GuestClaimToken(models.Model):
def __str__(self):
return f"Claim Token for {self.guest_name} ({self.token})"
class UserActivity(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, blank=True, related_name='activities')
guest_name = models.CharField(max_length=150, null=True, blank=True)
session_key = models.CharField(max_length=255, db_index=True)
ip_address = models.CharField(max_length=50, blank=True, default='')
user_agent = models.CharField(max_length=255, blank=True, default='')
last_path = models.CharField(max_length=255, blank=True, default='')
last_seen = models.DateTimeField(auto_now=True)
class Meta:
ordering = ['-last_seen']
verbose_name = 'Benutzer-Aktivität / Sitzung'
verbose_name_plural = 'Benutzer-Aktivitäten / Sitzungen'
def __str__(self):
name = self.user.get_display_name() if self.user else (self.guest_name or "Gast")
return f"{name} ({self.ip_address}) - {self.last_seen}"