diff --git a/PyRIGS/urls.py b/PyRIGS/urls.py index a4c8e2a3..9821ae20 100644 --- a/PyRIGS/urls.py +++ b/PyRIGS/urls.py @@ -4,6 +4,7 @@ from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.conf import settings from registration.backends.default.views import RegistrationView import RIGS +from RIGS import regbackend urlpatterns = patterns('', # Examples: @@ -11,7 +12,8 @@ urlpatterns = patterns('', # url(r'^blog/', include('blog.urls')), url(r'^', include('RIGS.urls')), - url('^user/register/$', RIGS.views.ProfileRegistrationView.as_view()), + url('^user/register/$', RegistrationView.as_view(form_class=RIGS.forms.ProfileRegistrationFormUniqueEmail), + name="registration_register"), url('^user/', include('django.contrib.auth.urls')), url('^user/', include('registration.backends.default.urls')), diff --git a/RIGS/regbackend.py b/RIGS/regbackend.py new file mode 100644 index 00000000..90828a39 --- /dev/null +++ b/RIGS/regbackend.py @@ -0,0 +1,13 @@ +from RIGS.models import Profile +from RIGS.forms import ProfileRegistrationFormUniqueEmail + +def user_created(sender, user, request, **kwargs): + form = ProfileRegistrationFormUniqueEmail(request.POST) + user.first_name = form.data['first_name'] + user.last_name = form.data['last_name'] + user.initials = form.data['initials'] + user.phone = form.data['phone'] + user.save() + +from registration.signals import user_registered +user_registered.connect(user_created) \ No newline at end of file diff --git a/RIGS/views.py b/RIGS/views.py index 0d00680e..265e2dd5 100644 --- a/RIGS/views.py +++ b/RIGS/views.py @@ -33,18 +33,6 @@ def login(request, **kwargs): return login(request, authentication_form=forms.LoginForm) - -class ProfileRegistrationView(RegistrationView): - form_class = forms.ProfileRegistrationFormUniqueEmail - - def register(self, request, **form): - model = models.Profile() - for (key,value) in form.items(): - setattr(model, key, value) - model.set_password(form['password1']) - model.is_active = False - return model.save() - """ Called from a modal window (e.g. when an item is submitted to an event/invoice). May optionally also include some javascript in a success message to cause a load of