123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- from django.contrib.auth.decorators import login_required
- from django.core.urlresolvers import reverse
- from django.forms import model_to_dict
- from django.http import HttpResponseRedirect
- from django.shortcuts import render_to_response
- from django.template import RequestContext
- from .utils import send_change_of_address_email
- from . import forms
- from . import profile
- def profile_create(request, template="accounts/full_profile_form.html"):
- """ Allows user to create an account """
- userform = forms.ProfileCreateForm(
- request.POST or None, initial={"country": "US"}, prefix="form2"
- )
- second_address_form = forms.ProfileSecondaryAddressForm(
- request.POST or None, initial={"country": "US"}, prefix="form5"
- )
- if request.method == "POST":
- if userform.is_valid() and second_address_form.is_valid():
- user = userform.save(request=request)
- second_address_form.save(user=user)
- return HttpResponseRedirect(reverse("profile_create_complete"))
- return render_to_response(
- template,
- {"userform": userform, "second_address": second_address_form},
- context_instance=RequestContext(request),
- )
- def profile_create_complete(request, template="accounts/profile_create_complete.html"):
- return render_to_response(template, context_instance=RequestContext(request))
- @login_required
- def profile_edit(request, template="accounts/full_profile_form.html"):
- """ Allows a user to edit their profile """
- user = request.user
- user_profile = profile.get_profile(user)
- secondary_address = profile.get_profile_secondary_address(user)
- primary_initial = model_to_dict(user)
- primary_initial.update(model_to_dict(user_profile))
- secondary_initial = model_to_dict(secondary_address)
- userform = forms.ProfileUpdateForm(
- user, request.POST or None, initial=primary_initial, prefix="form2"
- )
- second_address_form = forms.ProfileSecondaryAddressForm(
- request.POST or None, initial=secondary_initial, prefix="form5"
- )
- if request.method == "POST":
- if userform.is_valid() and second_address_form.is_valid():
- user = userform.save()
- second_address_form.save(user=user)
- send_change_of_address_email(
- None, None, None, None, None, primary_initial, userform.cleaned_data
- )
- return render_to_response(
- template,
- {"userform": userform, "second_address": second_address_form},
- context_instance=RequestContext(request),
- )
- @login_required
- def view_orders_subs(request, template="accounts/orders_subs_overview.html"):
- return render_to_response(template, {}, context_instance=RequestContext(request))
|