title: Multiple signup, registration forms using django-allauth
body: <p>The application I am working on needs a separate login for 2 different type of users. We need "clients" and "business" owners to be able to register.</p>
  
  <p>For the "business" owner all that I need to do is set the boolean <code>user.is_business</code> to <code>True</code></p>
  
  <p>I have used <code>ACCOUNT_SIGNUP_FORM_CLASS</code> with a separate class that sets the boolean to true and that works like a charm. 
  But then the client login doesn't work anymore. </p>
  
  <p>Is there a way to create a separate signup view for a different user?</p>
  
  <p>I have tried the following</p>
  
  <pre><code>class BusinessUserRegistrationView(FormView):
      form_class = BusinessSignupForm
      template_name = 'allauth/account/signup.html'
      view_name = 'organisersignup'
      success_url = reverse_lazy(view_name)
  organisersignup = BusinessUserRegistrationView.as_view()
  </code></pre>
  
  <p>And the form</p>
  
  <pre><code>class BusinessSignupForm(BaseSignupForm):
      password1 = SetPasswordField(label=_("Password"))
      password2 = PasswordField(label=_("Password (again)"))
      confirmation_key = forms.CharField(max_length=40,
                                         required=False,
                                         widget=forms.HiddenInput())
  
      def __init__(self, *args, **kwargs):
  
          super(BusinessSignupForm, self).__init__(*args, **kwargs)
          if not app_settings.SIGNUP_PASSWORD_VERIFICATION:
              del self.fields["password2"]
  
      def clean(self):
          super(BusinessSignupForm, self).clean()
          if app_settings.SIGNUP_PASSWORD_VERIFICATION \
                  and "password1" in self.cleaned_data \
                  and "password2" in self.cleaned_data:
              if self.cleaned_data["password1"] \
                      != self.cleaned_data["password2"]:
                  raise forms.ValidationError(_("You must type the same password"
                                                " each time."))
          return self.cleaned_data
  
      def save(self, request):
          adapter = get_adapter()
          user = adapter.new_user(request)
          user.is_business = True
          adapter.save_user(request, user, self)
          self.custom_signup(request, user)
          setup_user_email(request, user, [])
          return user
  </code></pre>
  
  <p>And in the urls.py</p>
  
  <pre><code>url(r'^organiser/$', 'authentication.views.organisersignup', name='organisersignup'),
  </code></pre>
  
  <p>The problem is that somehow, the boolean is_business is never set to True. 
  The from shows, I can save, but what is saved is never a business always a client. The BusinessSignupForm is a copy of the SignUpForm found in the allauth forms. </p>
  
  <p>What am I doing wrong?</p>