From 8c9a7e1c41c26009892ec37c113ff16517a2fe01 Mon Sep 17 00:00:00 2001 From: Raphael Sofaer Date: Wed, 30 Mar 2011 15:43:10 -0700 Subject: [PATCH] Fix PhotosController#show --- app/controllers/photos_controller.rb | 3 +-- lib/diaspora/user/querying.rb | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/photos_controller.rb b/app/controllers/photos_controller.rb index ed4beb50a..1e281e7c1 100644 --- a/app/controllers/photos_controller.rb +++ b/app/controllers/photos_controller.rb @@ -139,8 +139,7 @@ class PhotosController < ApplicationController end def show - @photo = current_user.visible_photos.where(:id => params[:id]).first - @photo ||= Photo.where(:public => true, :id => params[:id]).first + @photo = current_user.find_visible_post_by_id(params[:id]) if @photo @parent = StatusMessage.where(:id => @photo.status_message_id).includes(:photos).first if @photo.status_message_id diff --git a/lib/diaspora/user/querying.rb b/lib/diaspora/user/querying.rb index 23d560cc4..72df69bdd 100644 --- a/lib/diaspora/user/querying.rb +++ b/lib/diaspora/user/querying.rb @@ -9,6 +9,7 @@ module Diaspora def find_visible_post_by_id( id ) post = Post.where(:id => id).joins(:contacts).where(:contacts => {:user_id => self.id}).first post ||= Post.where(:id => id, :author_id => self.person.id).first + post ||= Post.where(:id => id, :public => true).first end def raw_visible_posts(opts = {}) @@ -26,7 +27,7 @@ module Diaspora :aspect_memberships => {:aspect_id => opts[:by_members_of]}) posts_from_self = posts_from_self.where(:aspects => {:id => opts[:by_members_of]}) end - + post_ids = Post.connection.execute(posts_from_others.select('posts.id').limit(opts[:limit]).order(opts[:order]).to_sql).map{|r| r.first} post_ids += Post.connection.execute(posts_from_self.select('posts.id').limit(opts[:limit]).order(opts[:order]).to_sql).map{|r| r.first}