def save_faucet(request): """Handle saving faucet requests.""" email_address = request.POST.get('emailAddress') eth_address = request.POST.get('ethAddress') is_authenticated = request.user.is_authenticated profile = request.user.profile if is_authenticated and hasattr( request.user, 'profile') else None if not profile: return JsonResponse( { 'message': _('You must be authenticated via github to use this feature!') }, status=401) try: validate_slug(eth_address) if email_address: validate_email(email_address) except Exception as e: return JsonResponse({'message': str(e)}, status=400) comment = escape(strip_tags(request.POST.get('comment', ''))) if profile.faucet_requests.filter(fulfilled=True): return JsonResponse( { 'message': _('The submitted github profile shows a previous faucet distribution.' ) }, status=403) elif profile.faucet_requests.filter(rejected=False): return JsonResponse( { 'message': _('The submitted github profile shows a pending faucet distribution.' ) }, status=403) fr = FaucetRequest.objects.create( fulfilled=False, github_username=request.user.username, github_meta={}, address=eth_address, email=email_address if email_address else request.user.email, comment=comment, profile=profile, ) new_faucet_request(fr) return JsonResponse({'message': _('Created.')}, status=201)
def save_faucet(request): github_profile = request.POST.get('githubProfile') email_address = request.POST.get('emailAddress') eth_address = request.POST.get('ethAddress') profile_handle = request.session.get('handle', '') try: validate_slug(github_profile) validate_email(email_address) validate_slug(eth_address) except Exception as e: return JsonResponse({'message': str(e)}, status=400) comment = escape(strip_tags(request.POST.get('comment'))) checkeduser = check_github(github_profile) if FaucetRequest.objects.filter(fulfilled=True, github_username=github_profile): return JsonResponse( { 'message': 'The submitted github profile shows a previous faucet distribution.' }, status=403) elif FaucetRequest.objects.filter(github_username=github_profile, rejected=False): return JsonResponse( { 'message': 'The submitted github profile shows a pending faucet distribution.' }, status=403) elif not checkeduser: return JsonResponse( { 'message': 'The submitted github profile could not be found on github.' }, status=400) fr = FaucetRequest.objects.create( fulfilled=False, github_username=github_profile, input_github_username=profile_handle, github_meta=checkeduser, address=eth_address, email=email_address, comment=comment, ) new_faucet_request(fr) return JsonResponse({'message': 'Created.'}, status=201)
def save_faucet(request): """Handle saving faucet requests.""" email_address = request.POST.get('emailAddress') eth_address = request.POST.get('ethAddress') is_authenticated = request.user.is_authenticated profile = request.user.profile if is_authenticated and hasattr(request.user, 'profile') else None if not profile: return JsonResponse({ 'message': _('You must be authenticated via github to use this feature!') }, status=401) try: validate_slug(eth_address) if email_address: validate_email(email_address) except Exception as e: return JsonResponse({'message': str(e)}, status=400) comment = escape(strip_tags(request.POST.get('comment', ''))) if not profile.trust_profile and profile.github_created_on > (timezone.now() - timezone.timedelta(days=7)): return JsonResponse({ 'message': _('For SPAM prevention reasons, you may not perform this action right now. Please contact support if you believe this message is in error.') }, status=403) if profile.faucet_requests.filter(fulfilled=True): return JsonResponse({ 'message': _('The submitted github profile shows a previous faucet distribution.') }, status=403) elif profile.faucet_requests.filter(rejected=False): return JsonResponse({ 'message': _('The submitted github profile shows a pending faucet distribution.') }, status=403) fr = FaucetRequest.objects.create( fulfilled=False, github_username=request.user.username, github_meta={}, address=eth_address, email=email_address if email_address else request.user.email, comment=comment, profile=profile, ) new_faucet_request(fr) return JsonResponse({'message': _('Created.')}, status=201)