def profile_edit(request, l): error_msg = None me = l.get_ldap_node(request.session['ldap_binddn']) if request.method == 'POST': f = ProfileForm(request.POST) if f.is_valid(): me.displayName = f.cleaned_data['name'] me.cn = f.cleaned_data['nick'] me.save() passwd_new = f.cleaned_data['passwd'] email_new = f.cleaned_data['email'] if passwd_new: me.set_password(passwd_new) request.session['ldap_passwd'] = passwd_new if email_new != str(me.mail): req = Request() req.type = Request.EMAIL req.uid = me.uid req.email = email_new req.save() t = loader.get_template('accounts/email_email_request') c = Context({ 'name': me.displayName, 'url': request.build_absolute_uri( reverse(process, kwargs={ 'token': req.token })), 'expire_in': settings.REQ_EXPIRE_STR, }) send_mail(u'Confirmation email FedeRez', t.render(c), settings.EMAIL_FROM, [req.email], fail_silently=False) return HttpResponseRedirect('/') else: f = ProfileForm(label_suffix='', initial={ 'email': me.mail, 'name': me.displayName, 'nick': me.cn }) c = { 'form': f, 'name': me.displayName, 'nick': me.cn, 'email': me.mail, 'error_msg': error_msg, } c.update(csrf(request)) return render_to_response('accounts/edit.html', c, context_instance=RequestContext(request))