def noaccount_signup(request): """ Initial signup that gets us user info but does not create an account.""" success_message = 'Thank you for signing up to be a Political Ad Sleuth!' if request.method == 'POST': form = NonUserProfileForm(request.POST) if form.is_valid(): profile_obj = form.save() if SIGNUP_EXTRA_FIELDS: extra_field_data = {} for extra_field in SIGNUP_EXTRA_FIELDS: if extra_field in request.POST: extra_field_data[extra_field] = request.POST.getlist( extra_field) profile_obj.extra_fields = extra_field_data profile_obj.save() if profile_obj.email: message_text = render_to_string( 'volunteers/signup_autoresponse.txt') email_message = EmailMessage( success_message, message_text, '*****@*****.**', (profile_obj.email, ), headers={'Reply-To': SIGNUP_EMAIL_REPLY_TO}) try: email_message.send() except SMTPException as e: if hasattr(e, 'message'): logger.error('SMTPException: ' + e.message) else: logger.error('SMTPException error!') request.session['nonuser_profile'] = form.cleaned_data request.session['nonuser_profile'][ 'extra_fields'] = profile_obj.extra_fields if request.is_ajax(): content_str = render_to_string( 'volunteers/_nonuser_postsignup_message.html', {'profile': profile_obj}) resp = {'message': success_message, 'content': content_str} return HttpResponse(json.dumps(resp), content_type='application/json') messages.success(request, success_message) referrer = request.META.get('HTTP_REFERER', None) return HttpResponseRedirect(referrer or '/') else: form = NonUserProfileForm() if request.is_ajax(): form_html = render_to_string('volunteers/_nonuser_profile_form.html', {'form': form}) resp = {'message': 'Error filling out form', 'content': form_html} return HttpResponse(json.dumps(resp), content_type='application/json') return render(request, 'volunteers/nonuser_profile_edit.html', {'form': form})
def noaccount_signup(request): """ Initial signup that gets us user info but does not create an account.""" success_message = 'Thank you for signing up to be a Political Ad Sleuth!' if request.method == 'POST': form = NonUserProfileForm(request.POST) if form.is_valid(): profile_obj = form.save() if SIGNUP_EXTRA_FIELDS: extra_field_data = {} for extra_field in SIGNUP_EXTRA_FIELDS: if extra_field in request.POST: extra_field_data[extra_field] = request.POST.getlist(extra_field) profile_obj.extra_fields = extra_field_data profile_obj.save() if profile_obj.email: message_text = render_to_string('volunteers/signup_autoresponse.txt') email_message = EmailMessage(success_message, message_text, '*****@*****.**', (profile_obj.email,), headers={'Reply-To': SIGNUP_EMAIL_REPLY_TO}) try: email_message.send() except SMTPException as e: if hasattr(e, 'message'): logger.error('SMTPException: ' + e.message) else: logger.error('SMTPException error!') request.session['nonuser_profile'] = form.cleaned_data request.session['nonuser_profile']['extra_fields'] = profile_obj.extra_fields if request.is_ajax(): content_str = render_to_string('volunteers/_nonuser_postsignup_message.html', {'profile': profile_obj}) resp = {'message': success_message, 'content': content_str} return HttpResponse(json.dumps(resp), content_type='application/json') messages.success(request, success_message) referrer = request.META.get('HTTP_REFERER', None) return HttpResponseRedirect(referrer or '/') else: form = NonUserProfileForm() if request.is_ajax(): form_html = render_to_string('volunteers/_nonuser_profile_form.html', {'form': form}) resp = {'message': 'Error filling out form', 'content': form_html} return HttpResponse(json.dumps(resp), content_type='application/json') return render(request, 'volunteers/nonuser_profile_edit.html', {'form': form})
def test_form_is_invalid_without_zipcode(self): '''NonUserProfileForm is invalid without email.''' form = NonUserProfileForm({'email': self.email, 'first_name': self.first_name, 'last_name': self.last_name, 'phone': self.phone, 'state': self.state, 'is_a': self.is_a}) self.assertFalse(form.is_valid())