예제 #1
0
def index_page(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect(reverse("login_page"))

    context = {}
    context["title"] = "Update"

    if request.method == "POST":

        if Person.objects.filter(email_address=request.user.email).count():
            print "has person"
            person = Person.objects.get(email_address=request.user.email)
            person_form = PersonForm(request.POST or None, request.FILES or None, instance=person)
        else:
            print "has no person"
            person_form = PersonForm()

        if (
            person_form.is_valid()
            and person_form.cleaned_data["email_address"] != ""
            and person_form.cleaned_data["last_name"] != ""
            and person_form.cleaned_data["first_name"] != ""
        ):

            person_form.save()

            request.user.last_name = person_form.cleaned_data["last_name"]
            request.user.first_name = person_form.cleaned_data["first_name"]

            print "went here 1"

            context["person_form"] = person_form
            return render(request, "profiling/update.html", context, context_instance=RequestContext(request))
        else:
            if person_form.cleaned_data["last_name"] == "":
                errors.append("Last name must not be empty")
            if person_form.cleaned_data["first_name"] == "":
                errors.append("First name must not be empty")
            if person_form.cleaned_data["email_address"] == "":
                errors.append("Please enter a valid email address")

            context["errors"] = errors

            print "went here 2"

            context["person_form"] = person_form
            return render(request, "profiling/update.html", context, context_instance=RequestContext(request))

        context["person_form"] = person_form

    if Person.objects.filter(email_address=request.user.email).count():
        person = Person.objects.get(email_address=request.user.email)
        person_form = PersonForm(request.POST or None, instance=person)
    else:
        person_form = PersonForm()

    context["person_form"] = person_form

    return render(request, "profiling/update.html", context, context_instance=RequestContext(request))
예제 #2
0
def registration_page(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse("index_page"))

    context = {}
    context["title"] = "Register"

    errors = []

    if request.method == "POST":
        person_form = PersonForm(request.POST, request.FILES)

        if (
            person_form.is_valid()
            and person_form.cleaned_data["email_address"] != ""
            and person_form.cleaned_data["last_name"] != ""
            and person_form.cleaned_data["first_name"] != ""
        ):

            new_person = person_form.save(commit=False)
            new_person.save()

            username = ""
            for n in new_person.first_name.split():
                username += n[0]
            for n in new_person.middle_name.split():
                username += n[0]
            for n in new_person.last_name.split():
                username += n

            username = username.lower()

            try:
                user = User.objects.get(username=username)
                print "user already exists"
                username += "2"
            except User.DoesNotExist:
                print "does not exist"

            new_user = User.objects.create_user(username, new_person.email_address, new_person.email_address)
            new_user.last_name = new_person.last_name
            new_user.first_name = new_person.first_name
            new_user.save()

            return HttpResponseRedirect(reverse("index_page"))
        else:
            context["person_form"] = person_form

            if person_form.cleaned_data["last_name"] == "":
                errors.append("Last name must not be empty")
            if person_form.cleaned_data["first_name"] == "":
                errors.append("First name must not be empty")
            if person_form.cleaned_data["email_address"] == "":
                errors.append("Please enter a valid email address")

            context["errors"] = errors

            return render(request, "profiling/join.html", context, context_instance=RequestContext(request))

    context["person_form"] = PersonForm()

    return render(request, "profiling/join.html", context, context_instance=RequestContext(request))