def editar_usuario(request): try: id_usuario = get_id_usuario(request) except: return render_to_response('error.html', {}, context_instance=RequestContext(request)) usuario = get_object_or_404(User, pk = id_usuario) cant_bonsais = Bonsai.objects.filter(usuario=id_usuario).count() if request.method == 'POST': form = UserEditForm(request.POST, instance=usuario) if form.is_valid(): form.save() return HttpResponseRedirect('/usuario/editar/') else: form = UserEditForm(instance=usuario) return render_to_response('editarUsuario.html', {'form':form, 'error_info':'True', 'usuario':usuario, 'statistics':get_statistics(), 'cant_bonsais': cant_bonsais}, context_instance=RequestContext(request)) else: form = UserEditForm(instance=usuario) return render_to_response('editarUsuario.html', {'form':form, 'usuario':usuario, 'statistics':get_statistics(), 'cant_bonsais': cant_bonsais}, context_instance=RequestContext(request))
def editar_usuario (request, username): """ Renderiza la pagina de edicion de usuario/perfil de usuario @param request: Peticion HTTP @param username: Nombre de usuario a editar @return: el form correspondiente """ context = RequestContext(request) if request.method == 'GET': usuario = User.objects.get(username=username) perfil_usuario = usuario.profile usuario_form = UserEditForm(instance=usuario, prefix="perfil_form") perfil_form = UserProfileEditForm(instance=perfil_usuario, prefix="usuario_form") return render_to_response('edit_usuario.html', {'usuario_form': usuario_form, 'perfil_form': perfil_form, 'name': usuario.username} , context) else: usuario = User.objects.get(username=username) perfil_usuario = usuario.profile usuario_form = UserEditForm(request.POST, instance=usuario, prefix="perfil_form") perfil_form = UserProfileEditForm(request.POST, instance=perfil_usuario, prefix="usuario_form") if usuario_form.is_valid() and perfil_form.is_valid(): user1 = usuario_form.save() perfil_usuario.user = user1 perfil_usuario.save() return HttpResponseRedirect('/admin_usuarios') else: print usuario_form.errors, perfil_form.errors return render_to_response('edit_usuario.html', {'usuario_form': usuario_form, 'perfil_form':perfil_form, 'name': usuario.username} , context)