Пример #1
0
def create_user(request):
    if request.method == "POST":
        form = ProfileCreationForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            if request.user.is_authenticated():
                user = request.user
                user.backend = "django.contrib.auth.backends.ModelBackend"
            else:
                user = form.save()
            profile = Profile()
            profile.user = user
            user.email = data["email"]
            profile.dob = data["dob"]
            profile.gender = data["gender"]
            profile.phone = data["phone"]
            profile.save()
            user.save()
            user = authenticate(username=request.POST["username"], password=request.POST["password1"])
            login(request, user)

            return HttpResponseRedirect(reverse("home"))
    else:
        if request.user:
            user = request.user
            context = {}
            context["username"] = user.username
            context["first_name"] = user.first_name
            context["last_name"] = user.last_name
            context["email"] = user.email

        form = ProfileCreationForm(context)

    return render(request, "profile_registration.html", {"form": form})
Пример #2
0
def overview(request):
    try:
        profile = request.user.get_profile()
    except:
        profile = Profile()
        profile.user = request.user
        profile.save()
    return 'overview.html', {'profile': profile,
                             'groups': profile.get_groups()}
Пример #3
0
def _check_and_save_user_atomic(fb_user):
  try:
    #FIXME: This can be improved to be checked after uid in the facebook cookie
    user = User.objects.get(email=fb_user['email'])
    return (user, None, False)

  except User.DoesNotExist:
    # Save it to our db
    username = _get_username_from_fb_user(fb_user)
    user = User.objects.create(username=username, email=fb_user['email'],
          first_name=fb_user['first_name'].title(),
          last_name = fb_user['last_name'].title())
    profile = Profile()
    profile.user = user
    profile.save(force_insert=True)
    
    return (user, profile, True)