X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fcore%2Fdashboard%2Fviews%2Ftenant.py;h=7794bf26cfce0651063dc06f838b2c1b96365736;hb=ed260c2012c507198ec2007ffc90aa962e2806ca;hp=a4b8e993d38a330284b6399792694b9cf6377c22;hpb=e61496bbe4e377b71e61bb4fb36b706d51574ced;p=plstackapi.git diff --git a/planetstack/core/dashboard/views/tenant.py b/planetstack/core/dashboard/views/tenant.py index a4b8e99..7794bf2 100644 --- a/planetstack/core/dashboard/views/tenant.py +++ b/planetstack/core/dashboard/views/tenant.py @@ -4,6 +4,7 @@ import functools from django.contrib.auth.models import BaseUserManager from django.core import serializers from django.core.mail import EmailMultiAlternatives +import json BLESSED_DEPLOYMENTS = ["US-MaxPlanck", "US-GeorgiaTech", "US-Princeton", "US-Washington", "US-Stanford"] @@ -13,12 +14,29 @@ class RequestAccessView(View): firstname = request.POST.get("firstname", "0") lastname = request.POST.get("lastname", "0") site = request.POST.get("site","0") + # see if it already exists + user=User.objects.filter(email=BaseUserManager.normalize_email(email)) + if (user): + user = user[0] + if user.is_active: + # force a new email to be sent + user.is_registering=True + user.save() + return HttpResponse(json.dumps({"error": "already_approved"}), content_type='application/javascript') + else: + return HttpResponse(json.dumps({"error": "already_pending"}), content_type='application/javascript') + + user=User.deleted_objects.filter(email=BaseUserManager.normalize_email(email)) + if (user): + return HttpResponse(json.dumps({"error": "is_deleted"}), content_type='application/javascript') + user = User( email=BaseUserManager.normalize_email(email), firstname=firstname, lastname=lastname, is_active=False, - is_admin=False + is_admin=False, + is_registering=True ) user.save() user.site=Site.objects.get(name=site)