diff --git a/account/signals.py b/account/signals.py index 307c8cea..d4a56bd1 100644 --- a/account/signals.py +++ b/account/signals.py @@ -3,7 +3,7 @@ import django.dispatch -user_signed_up = django.dispatch.Signal(providing_args=["user", "form"]) +user_signed_up = django.dispatch.Signal(providing_args=["user", "form", "request"]) user_sign_up_attempt = django.dispatch.Signal(providing_args=["username", "email", "result"]) user_logged_in = django.dispatch.Signal(providing_args=["user", "form"]) user_login_attempt = django.dispatch.Signal(providing_args=["username", "result"]) @@ -12,3 +12,4 @@ email_confirmed = django.dispatch.Signal(providing_args=["email_address"]) email_confirmation_sent = django.dispatch.Signal(providing_args=["confirmation"]) password_changed = django.dispatch.Signal(providing_args=["user"]) +updated_account = django.dispatch.Signal(providing_args=["user", "request"]) diff --git a/account/views.py b/account/views.py index 6c7189cd..4a2a8886 100644 --- a/account/views.py +++ b/account/views.py @@ -212,7 +212,7 @@ def send_email_confirmation(self, email_address): email_address.send_confirmation(site=get_current_site(self.request)) def after_signup(self, form): - signals.user_signed_up.send(sender=SignupForm, user=self.created_user, form=form) + signals.user_signed_up.send(sender=SignupForm, user=self.created_user, form=form, request=self.request) def login_user(self): user = self.created_user @@ -713,6 +713,10 @@ def form_valid(self, form): def update_settings(self, form): self.update_email(form) self.update_account(form) + self.after_update_account() + + def after_update_account(self): + signals.updated_account.send(sender=SettingsView, user=self.request.user, request=self.request) def update_email(self, form, confirm=None): user = self.request.user