def form_valid(self, form): """When form is valid, create the user.""" new_user = create_new_user(self.request, form) welcome.delay(new_user) success_msg = 'Your account was successfully created. Welcome to MuckRock!' messages.success(self.request, success_msg) return super(BasicSignupView, self).form_valid(form)
def form_valid(self, form): """When form is valid, create the user and begin their professional subscription.""" new_user = create_new_user(self.request, form) welcome.delay(new_user) try: new_user.profile.start_pro_subscription( self.request.POST['stripe_token']) success_msg = 'Your professional account was successfully created. Welcome to MuckRock!' messages.success(self.request, success_msg) except (KeyError, AttributeError): # no payment information provided logger.warn('No payment information provided.') error_msg = ('Your account was successfully created, ' 'but you did not provide payment information. ' 'You can subscribe from the account management page.') messages.error(self.request, error_msg) except stripe.error.CardError: # card declined logger.warn('Card was declined.') error_msg = ( 'Your account was successfully created, but your card was declined. ' 'You can subscribe from the account management page.') messages.error(self.request, error_msg) except (stripe.error.InvalidRequestError, stripe.error.APIError): # invalid request made to stripe logger.warn('No payment information provided.') error_msg = ('Your account was successfully created, ' 'but we could not contact our payment provider. ' 'You can subscribe from the account management page.') messages.error(self.request, error_msg) return super(ProfessionalSignupView, self).form_valid(form)
def form_valid(self, form): """ When form is valid, create the user and the organization. Then redirect to the organization activation page. """ new_user = create_new_user(self.request, form) new_org = form.create_organization(new_user) welcome.delay(new_user) messages.success(self.request, 'Your account and organization were successfully created.') return HttpResponseRedirect(reverse('org-activate', kwargs={'slug': new_org.slug}))