feat(leads): link consumer account to lead on submission

- user_account FK on Lead model (SET_NULL, related_name='submitted_leads')
- Migration 0004_lead_user_account
- ScheduleCallView auto-matches consumer account by email on create
- _serialize_lead now returns userAccount: {id, name, email, phone, eventifyId, profilePicture}
This commit is contained in:
2026-04-07 11:52:41 +05:30
parent 9142b8fedb
commit d04891c064
4 changed files with 64 additions and 3 deletions

View File

@@ -491,6 +491,14 @@ class ScheduleCallView(View):
if errors:
return JsonResponse({'errors': errors}, status=400)
# Auto-link to a consumer account if one exists with this email
from django.contrib.auth import get_user_model
_User = get_user_model()
try:
consumer_account = _User.objects.get(email=email)
except _User.DoesNotExist:
consumer_account = None
lead = Lead.objects.create(
name=name,
email=email,
@@ -500,6 +508,7 @@ class ScheduleCallView(View):
status='new',
source='schedule_call',
priority='medium',
user_account=consumer_account,
)
log("info", f"New schedule-call lead #{lead.pk} from {email}", request=request)
return JsonResponse({