Example #1
0
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))
Example #2
0
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))
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)
Example #6
0
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:
                # rename custom Salesforce fields to their real GUID name
                data['00NU0000002pDJr'] = data.pop('interest')
                data['00NU00000053D4G'] = data.pop('interested_countries')
                data['00NU00000053D4L'] = data.pop('interested_languages')
                data['00NU00000053D4a'] = data.pop('campaign_type')
                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():
            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)
Example #7
0
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)
Example #8
0
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)
Example #9
0
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)
Example #10
0
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('superpriority')

            if honeypot:
                msg = 'Visitor invalid'
                stat = 400
            else:
                interest = data.pop('interest')
                data['00NU0000002pDJr'] = interest
                data['oid'] = '00DU0000000IrgO'
                # 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')

        if form.is_valid():

            data = form.cleaned_data.copy()

            subject = 'New partner submission from %s' % data['company']
            to = ['*****@*****.**']
            cc = ['*****@*****.**']
            from_ = '*****@*****.**'
            reply_to = [data['email']]
            msg = jingo.render_to_string(request, 'mocotw/emails/notify_bizdev.txt', data)

            # FIXME Why ?
            msg = msg.replace('\n', '\r\n')
            headers = {'Reply-To': ','.join(reply_to)}

            email = EmailMessage(subject, msg, from_, to, cc=cc, headers=headers)
            email.send()

            stat = 200
            success = 1

    if request.is_ajax():
        return HttpResponse(msg, status=stat)

    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)