from __future__ import annotations from django.db import transaction from allauth.account.adapter import DefaultAccountAdapter from apps.billing.services import grant_signup_bonus class CmhubAccountAdapter(DefaultAccountAdapter): def save_user(self, request, user, form, commit=True): with transaction.atomic(): saved_user = super().save_user(request, user, form, commit=commit) if commit: grant_signup_bonus(user=saved_user) return saved_user