def save_settings(request, username): from django.contrib.auth.models import User from booki.editor import models try: user = User.objects.get(username=username) except User.DoesNotExist: return pages.ErrorPage(request, "errors/user_does_not_exist.html", {"username": username}) if request.user.username != username: return HttpResponse("No, can't do!", "text/plain") profile = user.get_profile() user.email = request.POST.get('email', '') user.first_name = request.POST.get('fullname', '') user.save() profile.description = request.POST.get('aboutyourself', '') if request.FILES.has_key('profile'): from booki.utils import misc # Check for any kind of error at the moment. # Notify user later with different messages. try: misc.setProfileImage(user, request.FILES['profile']) except: pass try: profile.save() endpoint_config = get_endpoint_or_none("@" + user.username).get_config() endpoint_config.notification_filter = request.POST.get( 'notification', '') endpoint_config.save() except: # Should set some error code here transaction.rollback() else: transaction.commit() try: resp = HttpResponse( '<html><head><script>var j = parent.jQuery; j(function() { j.booki.profile.reloadProfileInfo(); });</script></head></html>', 'text/html') except: transaction.rollback() raise else: transaction.commit() return resp
def save_settings(request, username): from django.contrib.auth.models import User from booki.editor import models try: user = User.objects.get(username=username) except User.DoesNotExist: return pages.ErrorPage(request, "errors/user_does_not_exist.html", {"username": username}) if request.user.username != username: return HttpResponse("No, can't do!", "text/plain") profile = user.get_profile() user.email = request.POST.get('email' ,'') user.first_name = request.POST.get('fullname', '') user.save() profile.description = request.POST.get('aboutyourself', '') if request.FILES.has_key('profile'): from booki.utils import misc # Check for any kind of error at the moment. # Notify user later with different messages. try: misc.setProfileImage(user, request.FILES['profile']) except: pass try: profile.save() endpoint_config = get_endpoint_or_none("@"+user.username).get_config() endpoint_config.notification_filter = request.POST.get('notification', '') endpoint_config.save() except: # Should set some error code here transaction.rollback() else: transaction.commit() try: resp = HttpResponse('<html><head><script>var j = parent.jQuery; j(function() { j.booki.profile.reloadProfileInfo(); });</script></head></html>', 'text/html') except: transaction.rollback() raise else: transaction.commit() return resp
def edit_profile(request, username): from django.contrib.auth.models import User try: person = User.objects.get(username=username) except User.DoesNotExist: return pages.ErrorPage(request, "errors/user_does_not_exist.html", {"username": username}) if request.method == "POST": frm = ProfileForm(request.POST, request.FILES) if request.POST["submit"] == _("Cancel"): return HttpResponseRedirect(reverse("control_profile", args=[person.username])) if frm.is_valid(): person.username = frm.cleaned_data["username"] person.email = frm.cleaned_data["email"] person.first_name = frm.cleaned_data["first_name"] person.save() person.get_profile().description = frm.cleaned_data["description"] person.get_profile().save() if request.FILES.has_key("profile"): from booki.utils import misc misc.setProfileImage(person, request.FILES["profile"]) messages.success(request, _("Successfuly saved changes.")) return HttpResponseRedirect(reverse("control_profile", args=[person.username])) else: frm = ProfileForm( { "username": person.username, "first_name": person.first_name, "email": person.email, "description": person.get_profile().description, } ) return render_to_response( "booktypecontrol/edit_profile.html", {"request": request, "admin_options": ADMIN_OPTIONS, "person": person, "form": frm}, context_instance=RequestContext(request), )