def contact_bizdev(request): form = WebToLeadForm(request.POST) msg = 'Form invalid' stat = 400 success = 0 if form.is_valid(): data = form.cleaned_data.copy() honeypot = data.pop('superpriority') if honeypot: msg = 'Visitor invalid' stat = 400 else: interest = data.pop('interest') data['00NU0000002pDJr'] = interest data['oid'] = '00DU0000000IrgO' data['retURL'] = ('http://www.mozilla.org/en-US/about/' 'partnerships?success=1') r = requests.post('https://www.salesforce.com/servlet/' 'servlet.WebToLead?encoding=UTF-8', data) msg = requests.status_codes._codes.get(r.status_code, ['error'])[0] stat = r.status_code success = 1 if request.is_ajax(): return HttpResponse(msg, status=stat) else: return HttpResponseRedirect("%s?success=%s" % (reverse('mozorg.partnerships'), success))
def partnerships(request): form = WebToLeadForm() template_vars = {} template_vars.update(csrf(request)) template_vars['form'] = form return l10n_utils.render(request, 'mozorg/partnerships.html', template_vars)
def firefox_partners(request): # If the current locale isn't in our list, return the en-US value locale_os_url = LOCALE_OS_URLS.get(request.locale, LOCALE_OS_URLS['en-US']) form = WebToLeadForm() template_vars = { 'locale_os_url': locale_os_url, 'js_common': JS_COMMON, 'js_mobile': JS_MOBILE, 'js_desktop': JS_DESKTOP, 'form': form, } template_vars.update(csrf(request)) return l10n_utils.render(request, 'firefox/partners/index.html', template_vars)
def process_partnership_form(request, template, success_url_name, template_vars=None, form_kwargs=None): template_vars = template_vars or {} form_kwargs = form_kwargs or {} if request.method == 'POST': form = WebToLeadForm(data=request.POST, **form_kwargs) msg = 'Form invalid' stat = 400 success = False if form.is_valid(): data = form.cleaned_data.copy() honeypot = data.pop('office_fax') if honeypot: msg = 'ok' stat = 200 else: # form testing address if not data['email'] == '*****@*****.**': data['lead_source'] = form_kwargs.get( 'lead_source', 'www.mozilla.org/about/partnerships/') subject = PARTNERSHIPS_EMAIL_SUBJECT sender = PARTNERSHIPS_EMAIL_FROM to = PARTNERSHIPS_EMAIL_TO body = render_to_string('mozorg/emails/partnerships.txt', data, request=request) email = EmailMessage(subject, body, sender, to) email.send() msg = 'ok' stat = 200 success = True if request.is_ajax(): form_errors = { fn: [escape(msg) for msg in msgs] for fn, msgs in form.errors.iteritems() } return HttpResponseJSON({ 'msg': msg, 'errors': form_errors }, status=stat) # non-AJAX POST else: # if form is not valid, render template to retain form data/error messages if not success: template_vars.update(csrf(request)) template_vars['form'] = form template_vars['form_success'] = success return l10n_utils.render(request, template, template_vars) # if form is valid, redirect to avoid refresh double post possibility else: return HttpResponseRedirect("%s?success" % (reverse(success_url_name))) # no form POST - build form, add CSRF, & render template else: # without auto_id set, all id's get prefixed with 'id_' form = WebToLeadForm(auto_id='%s', **form_kwargs) template_vars.update(csrf(request)) template_vars['form'] = form template_vars['form_success'] = True if ('success' in request.GET) else False return l10n_utils.render(request, template, template_vars)
def process_partnership_form(request, template, success_url_name, template_vars=None, form_kwargs=None): template_vars = template_vars or {} form_kwargs = form_kwargs or {} if request.method == 'POST': form = WebToLeadForm(data=request.POST, **form_kwargs) msg = 'Form invalid' stat = 400 success = False if form.is_valid(): data = form.cleaned_data.copy() honeypot = data.pop('office_fax') if honeypot: msg = 'Visitor invalid' stat = 400 else: interest = data.pop('interest') data['00NU0000002pDJr'] = interest data['oid'] = '00DU0000000IrgO' data['lead_source'] = form_kwargs.get( 'lead_source', 'www.mozilla.org/about/partnerships/') # As we're doing the Salesforce POST in the background here, # `retURL` is never visited/seen by the user. I believe it # is required by Salesforce though, so it should hang around # as a placeholder (with a valid URL, just in case). data['retURL'] = ('http://www.mozilla.org/en-US/about/' 'partnerships?success=1') r = requests.post( 'https://www.salesforce.com/servlet/' 'servlet.WebToLead?encoding=UTF-8', data) msg = requests.status_codes._codes.get(r.status_code, ['error'])[0] stat = r.status_code success = True if request.is_ajax(): return HttpResponseJSON({ 'msg': msg, 'errors': form.errors }, status=stat) # non-AJAX POST else: # if form is not valid, render template to retain form data/error messages if not success: template_vars.update(csrf(request)) template_vars['form'] = form template_vars['form_success'] = success return l10n_utils.render(request, template, template_vars) # if form is valid, redirect to avoid refresh double post possibility else: return HttpResponseRedirect("%s?success" % (reverse(success_url_name))) # no form POST - build form, add CSRF, & render template else: # without auto_id set, all id's get prefixed with 'id_' form = WebToLeadForm(auto_id='%s', **form_kwargs) template_vars.update(csrf(request)) template_vars['form'] = form template_vars['form_success'] = True if ('success' in request.GET) else False return l10n_utils.render(request, template, template_vars)