snapshot: preserve audit log and filtering phase

This commit is contained in:
Md Bayazid Bostame
2026-03-25 20:28:28 +01:00
parent 965531d155
commit a8f7eadbc6
9 changed files with 316 additions and 3 deletions

View File

@@ -1,3 +1,4 @@
from django.conf import settings
from django.db import models
from django.utils.translation import get_language
@@ -22,6 +23,32 @@ class EmployeeProfile(models.Model):
return f"{self.full_name} <{self.work_email}>"
class AdminAuditLog(models.Model):
actor = models.ForeignKey(
settings.AUTH_USER_MODEL,
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='admin_audit_logs',
)
actor_display = models.CharField(max_length=255, blank=True)
action = models.CharField(max_length=120)
target_type = models.CharField(max_length=80, blank=True)
target_id = models.PositiveIntegerField(null=True, blank=True)
target_label = models.CharField(max_length=255, blank=True)
details = models.JSONField(default=dict, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-created_at', '-id']
verbose_name = 'Admin Audit Log'
verbose_name_plural = 'Admin Audit Logs'
def __str__(self) -> str:
actor = self.actor_display or 'Unbekannt'
return f'{self.created_at:%Y-%m-%d %H:%M} | {actor} | {self.action}'
class OnboardingRequest(models.Model):
full_name = models.CharField(max_length=255, verbose_name='Vorname und Nachname')
gender = models.CharField(