def perfil_propio(request): """ Muestra el perfil del usuario que está hecho login enfocado en la actividad """ template = "perfiles/perfil_propio.html" perfil = obtener_perfil(request.user) avatar = obtener_avatar_large(perfil) # Grupos Perfil grupos = None if UsuariosGrupo.objects.filter(perfil=perfil, activo=True).exists(): usuarios_grupo_obj = UsuariosGrupo.objects.filter(perfil=perfil, activo=True).select_related('grupo') grupos = [ug.grupo for ug in usuarios_grupo_obj] # Usuario Leyendo actualmente_leyendo, libros_leidos_usuario = obtener_usuario_leyendo(perfil) libros_disponibles = LibrosDisponibles.objects.filter(perfil=perfil).select_related('libro') # autocomplete Usuario Leyendo titulos_autocomplete = {} autores_autocomplete = {} for l in libros_disponibles: titulos_autocomplete[l.libro.titulo] = (l.libro.id, l.libro.autor) # Muro, comentarios y actividades actividad = [] actividad_0 = obtener_muro_perfil(perfil) for act in actividad_0: if act.__class__.__name__ == "CommentPerfil": actividad.append((act, "comment")) else: actividad.append((act, "notificacion")) for l in libros_disponibles: autores_autocomplete[l.libro.autor] = l.libro.id # Si es admin de una biblioteca, poner link a la biblioteca bibliotecas_compartidas = None context = {'avatar': avatar, 'grupos': grupos, 'actualmente_leyendo': actualmente_leyendo, 'libros_leidos_usuario': libros_leidos_usuario, 'titulos_autocomplete': json.dumps(titulos_autocomplete), 'autores_autocomplete': json.dumps(autores_autocomplete), 'actividad': actividad, 'bibliotecas_compartidas': bibliotecas_compartidas} return render(request, template, context)
def perfil_usuario(request, username): """ Muestra el perfil de un usuario tercero, enfocado en las actividades """ template = "perfiles/perfil_usuario.html" perfil = Perfil.objects.get(usuario__username=username) # redirigir a la pagina perfil_propio si es el caso user_obj = User.objects.get(username=username) if user_obj == request.user: return HttpResponseRedirect(reverse('perfiles:perfil_propio')) # Muro, comentarios y actividades actividad = [] actividad_0 = obtener_muro_perfil(perfil) for act in actividad_0: if act.__class__.__name__ == "CommentPerfil": actividad.append((act, "comment")) else: actividad.append((act, "notificacion")) # Grupos Perfil grupos = None if UsuariosGrupo.objects.filter(perfil=perfil, activo=True).exists(): usuarios_grupo_obj = UsuariosGrupo.objects.filter(perfil=perfil, activo=True).select_related('grupo') grupos = [ug.grupo for ug in usuarios_grupo_obj] historial_libros = obtener_historial_libros(perfil) avatar = obtener_avatar_large(perfil) # Si es admin de una biblioteca, poner link a la biblioteca bibliotecas_compartidas = None context = {'historial_libros': historial_libros, 'perfil': perfil, 'avatar': avatar, 'actividad': actividad, 'grupos': grupos, 'bibliotecas_compartidas': bibliotecas_compartidas} return render(request, template, context)