diff --git a/pinaxcon/receivers.py b/pinaxcon/receivers.py new file mode 100644 index 0000000000000000000000000000000000000000..5aa22c9af96b4f06cc521511585e3ef54c948d22 --- /dev/null +++ b/pinaxcon/receivers.py @@ -0,0 +1,59 @@ +from django.dispatch import receiver + +from account.signals import password_changed +from account.signals import user_sign_up_attempt, user_signed_up +from account.signals import user_login_attempt, user_logged_in + +from pinax.eventlog.models import log + + +@receiver(user_logged_in) +def handle_user_logged_in(sender, **kwargs): + log( + user=kwargs.get("user"), + action="USER_LOGGED_IN", + extra={} + ) + + +@receiver(password_changed) +def handle_password_changed(sender, **kwargs): + log( + user=kwargs.get("user"), + action="PASSWORD_CHANGED", + extra={} + ) + + +@receiver(user_login_attempt) +def handle_user_login_attempt(sender, **kwargs): + log( + user=None, + action="LOGIN_ATTEMPTED", + extra={ + "username": kwargs.get("username"), + "result": kwargs.get("result") + } + ) + + +@receiver(user_sign_up_attempt) +def handle_user_sign_up_attempt(sender, **kwargs): + log( + user=None, + action="SIGNUP_ATTEMPTED", + extra={ + "username": kwargs.get("username"), + "email": kwargs.get("email"), + "result": kwargs.get("result") + } + ) + + +@receiver(user_signed_up) +def handle_user_signed_up(sender, **kwargs): + log( + user=kwargs.get("user"), + action="USER_SIGNED_UP", + extra={} + )