Files
project-managment/apps/activity/models.py
T
sankalp 18acdde6e5 feat(apps): add role‑based CustomUser admin and ticketing system
- New Features
  * Introduce CustomUser with role field and admin integration
  * Add ProjectMembership model linking users to projects
  * Add Ticket model with status, type, creator, and project relationships
  * Register CustomUser and ProjectMembership in Django admin with list views
  * Add URLs and views for account management and ticket CRUD operations
- Enhancements
  * Provide pagination and filtering for ticket listings
  * Improve admin UI with role‑specific fieldsets
- Bug Fixes  * Remove obsolete serializers and placeholder files
2026-05-27 23:33:20 +05:45

25 lines
864 B
Python

from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
from django.db import models
class ActivityLog(models.Model):
actor = models.ForeignKey(
"accounts.CustomUser",
on_delete=models.CASCADE,
related_name="activities",
)
verb = models.CharField(max_length=255)
description = models.TextField(blank=True)
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey("content_type", "object_id")
timestamp = models.DateTimeField(auto_now_add=True)
class Meta:
verbose_name_plural = "activity logs"
ordering = ["-timestamp"]
def __str__(self):
return f"{self.actor} {self.verb} {self.content_type} #{self.object_id}"