Example #1
0
    def form_valid(self, form):
        user = form.save()
        if user.user_profile is None:
            profile = UserProfile(user=user)
        else:
            profile = user.user_profile
        gender = form.cleaned_data.get('gender')
        if gender is not None and not 'x' in gender:
            profile.gender = gender
        profile.send_newsletters = form.cleaned_data.get(
            'marketing_optin') != 'false'
        profile.activation_key = profile.generate_activation_key()
        profile.detected_country = self.request.country
        profile.preferred_currency = self.request.session.get(
            'preferred_currency', '')
        profile.save()

        Events(self.request).user_signup(user)

        # login user
        password = form.cleaned_data.get('password')
        user = authenticate(username=user.username, password=password)
        login(self.request, user)
        messages.success(self.request, REGISTER_SUCCESS_MESSAGE)
        return render(self.request,
                      "mailing_lists/fragments/capture_complete.html")