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)
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)
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)
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)