Skip to content

LO-067 [Intermediate]: Multi-User Team Activity Audit Log #404

Description

@Kuldeeep18

Description

In multi-user organizations, multiple sales agents can import leads, delete campaigns, or modify settings. Currently, there is no history log of who did what. We need to build an audit log system.

User & Contributor Value

  • Contributors: Database logging model design, request middleware extraction, and audit log list APIs.
  • Users: Essential security feature. Allows workspace admins to track user actions and troubleshoot modifications.

Code Locations

  • backend/tenants/models.py
  • backend/campaigns/views.py

Implementation Guide

  1. Create AuditLog Model:
    class AuditLog(TenantModel):
        user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
        action = models.CharField(max_length=255) # e.g. "Campaign launched"
        target_id = models.CharField(max_length=255, null=True)
        ip_address = models.GenericIPAddressField(null=True)
  2. Record Actions: Hook signals or add log creation lines inside view actions (create lead, delete campaign, change settings).
  3. Audit Log Panel: Build an audit logs view inside Settings for organization administrators.

Metadata

Metadata

Assignees

No one assigned

    Labels

    gssoc:approvedGSSoC 2026 approved base points (+50 pts)level:intermediateDifficulty: Intermediate (+35 pts)type:featureType: Feature (+10 pts)type:securityType: Security (+20 pts)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions