feat: Implement group-restricted Live Sessions & IP Monitoring and 1-click Admin Email Confirmation
This commit is contained in:
@@ -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}"
|
||||
|
||||
Reference in New Issue
Block a user