def register(request): pform = PersonForm(request.POST or None) # Remove the stupid help text. stupid_help_text = _(u'Hold down "Control", or "Command" on a Mac, to select more than one.') for field in ("driver_license", "forklift_license"): pform.fields[field].help_text = pform.fields[field].help_text.replace(stupid_help_text, "").strip() if request.method == "POST": if pform.is_valid(): person = pform.save() password = User.objects.make_random_password(length=15) user = User.objects.create_user(person.email, person.email, password) user.save() person.user = user person.save() # TODO: Add support for templates in database. # Prepare an e-mail current_site = Site.objects.get_current() mail_template = loader.get_template("recruitment/register_confirmation_mail.txt") mail_context = RequestContext( request, { "person": person, "password": password, "email_hash": person.email_hash, "domain": current_site.domain, }, ) # Send the mail to the user send_mail( _(u"[CHARM] Thank you for registering!"), mail_template.render(mail_context), "noreply@%s" % current_site.domain, [person.email], fail_silently=True, ) loggedin_user = authenticate(username=person.email, password=password) if loggedin_user is not None: messages.success( request, _(u"Thank you for registering. You will receive an e-mail within 24 hours with more information."), ) login(request, loggedin_user) return HttpResponseRedirect(reverse("mypage")) return render( request, "recruitment/register.html", {"page_title": _(u"Register!"), "button_text": _(u"Register!"), "form": pform}, )
def edit_my_profile(request): u"""Edit the profile + the username of the user.""" person = Person.objects.get(user=request.user) pform = PersonForm(request.POST or None, instance=person) if request.method == "POST": if pform.is_valid(): personf = pform.save() request.user.username = personf.email request.user.email = personf.email request.user.save() return HttpResponseRedirect(reverse("mypage")) return render( request, "recruitment/register.html", {"page_title": _(u"Edit my profile"), "button_text": _(u"Save!"), "form": pform}, )