Files
Zhengen d6503bb46f feat: 实现PIPL数据主体删除权支持功能
- 新增 LeadDeletionRequest 模型,支持邮箱验证的删除申请/确认流程
- POST /api/v1/custom/leads/deletion-requests/ 发起申请(通用响应避免探测邮箱是否存在)
- POST /api/v1/custom/leads/deletion-requests/confirm/ 确认删除(24小时token有效期)
- 按邮箱在 Lead.data 中匹配并删除对应记录,跨SQLite/Postgres使用Python级匹配
- LeadDeletionRequest 通过 Django Admin 只读展示供合规审计
- 新增 FRONTEND_BASE_URL 设置用于拼接邮件确认链接
- apps/forms/tests.py 新增6个测试用例(含节流缓存隔离修复),全仓库30个用例通过
- 更新设计文档 §2.15/§2.16 勾选项
2026-08-07 13:29:20 +08:00

29 lines
802 B
Python

"""
LeadDeletionRequest 通过 Django Admin(非 Wagtail)暴露为只读审计视图,
供合规/客服人员查看 PIPL 数据删除申请处理记录,详见
documents/设计方案分析与完善版.md §2.15。
"""
from django.contrib import admin
from .models import LeadDeletionRequest
@admin.register(LeadDeletionRequest)
class LeadDeletionRequestAdmin(admin.ModelAdmin):
list_display = (
"contact",
"status",
"requested_at",
"completed_at",
"deleted_count",
)
list_filter = ("status",)
search_fields = ("contact",)
readonly_fields = [f.name for f in LeadDeletionRequest._meta.fields]
def has_add_permission(self, request):
return False
def has_change_permission(self, request, obj=None):
return False