Ejemplo n.º 1
0
def whitepaper_new(request, ratelimited=False):

    context = {
        'active': 'whitepaper',
        'title': _('Whitepaper'),
        'minihero': _('Whitepaper'),
        'suppress_logo': True,
    }
    if not request.POST.get('submit', False):
        return TemplateResponse(request, 'whitepaper_new.html', context)

    if ratelimited:
        context['msg'] = _(
            "You're ratelimited. Please contact [email protected]")
        return TemplateResponse(request, 'whitepaper_accesscode.html', context)

    context['role'] = request.POST.getlist('role')
    context['email'] = request.POST.get('email')
    context['comments'] = request.POST.get('comments')
    context['success'] = True
    ip = get_ip(request)
    body = gettext("""
Email: {} \n
Role: {}\n
Comments: {}\n
IP: {}\n

https://gitcoin.co/_administration/tdi/whitepaperaccessrequest/

    """).format(context['email'], context['role'], context['comments'], ip)
    send_mail(settings.CONTACT_EMAIL, settings.CONTACT_EMAIL,
              _("New Whitepaper Request"), str(body))

    WhitepaperAccessRequest.objects.create(
        email=context['email'],
        role=context['role'],
        comments=context['comments'],
        ip=ip,
    )

    for code in AccessCodes.objects.all():
        print(code)

    invite_to_slack(context['email'])

    valid_email = True
    try:
        validate_email(request.POST.get('email', False))
    except ValidationError:
        valid_email = False

    if not request.POST.get('email', False) or not valid_email:
        context['msg'] = _("Invalid Email. Please contact [email protected]")
        context['success'] = False
        return TemplateResponse(request, 'whitepaper_new.html', context)

    context['msg'] = _(
        "Your request has been sent.  <a href=/slack>Meantime, why don't you check out the slack channel?</a>"
    )
    return TemplateResponse(request, 'whitepaper_new.html', context)
Ejemplo n.º 2
0
def slack(request):
    context = {
        'active': 'slack',
        'msg': None,
    }

    if request.POST:
        email = request.POST.get('email')
        context['msg'] = _('You must provide an email address')
        if email:
            context['msg'] = _('Your invite has been sent.')
            context['success'] = True
            try:
                validate_email(email)
                get_or_save_email_subscriber(email,
                                             'slack',
                                             send_slack_invite=False)
                response = invite_to_slack(email)

                if not response.get('ok'):
                    context['msg'] = response.get('error', _('Unknown error'))
                context['success'] = False
            except ValidationError:
                context['msg'] = _('Invalid email')

    return TemplateResponse(request, 'slack.html', context)
Ejemplo n.º 3
0
def slack(request):
    context = {
        'active': 'slack',
        'msg': None,
    }

    if request.POST:
        email = request.POST.get('email')
        context['msg'] = 'You must provide an email address'
        if email:
            context['msg'] = 'Your invite has been sent.'
            try:
                validate_email(email)
                get_or_save_email_subscriber(email,
                                             'slack',
                                             send_slack_invite=False)
                response = invite_to_slack(email)

                if not response.get('ok'):
                    context['msg'] = response.get('error', 'Unknown error')
                    rollbar.report_message(
                        'Slack invitation failed',
                        'warning',
                        extra_data={'slack_response': response})
            except ValidationError:
                context['msg'] = 'Invalid email'

    return TemplateResponse(request, 'slack.html', context)
Ejemplo n.º 4
0
def slack(request):
    context = {}

    if request.POST.get('email', False):
        email = request.POST['email']
        valid_email = True
        try:
            validate_email(request.POST.get('email', False))
        except Exception as e:
            valid_email = False

        if valid_email:
            get_or_save_email_subscriber(email, 'slack')
            response = invite_to_slack(email)
            if response['ok']:
                context['msg'] = "Your invite has been sent. "
            else:
                context['msg'] = response['error']
        else:
            context['msg'] = "Invalid email"

    return TemplateResponse(request, 'slack.html', context)