def settings(request): """ User editing their profile preferences """ title = _("Profile Settings") form = ProfileForm(instance=request.user) if request.method == "POST": form = ProfileForm(request.POST, request.FILES, instance=request.user) if form.is_valid(): user = form.save() messages.success(request, _("Settings saved")) User.refresh_nomail() if form.cleaned_data['password1']: request.user.set_password(form.cleaned_data['password1']) request.user.save() lang = user.activate_locale() translation.activate(lang) request.session[translation.LANGUAGE_SESSION_KEY] = lang request.session['django_timezone'] = user.timezone return redirect(settings) else: messages.error(request, _("Error in profile data")) return render(request, "accounts/settings.html", locals())