Rename Trace#public to Trace#visible_to_all

This commit is contained in:
Tom Hughes 2014-04-25 00:20:05 +01:00
parent 56d39b06f2
commit 28bfb9999f
4 changed files with 15 additions and 15 deletions

View file

@ -49,13 +49,13 @@ class TraceController < ApplicationController
if @user
@traces = Trace.visible_to(@user) #1
else
@traces = Trace.public #2
@traces = Trace.visible_to_all #2
end
else
if @user and @user == target_user
@traces = @user.traces #3 (check vs user id, so no join + can't pick up non-public traces by changing name)
else
@traces = target_user.traces.public #4
@traces = target_user.traces.visible_to_all #4
end
end
@ -206,7 +206,7 @@ class TraceController < ApplicationController
end
def georss
@traces = Trace.public.visible
@traces = Trace.visible_to_all.visible
if params[:display_name]
@traces = @traces.joins(:user).where(:users => {:display_name => params[:display_name]})

View file

@ -7,7 +7,7 @@ class Trace < ActiveRecord::Base
scope :visible, -> { where(:visible => true) }
scope :visible_to, ->(u) { visible.where("visibility IN ('public', 'identifiable') OR user_id = ?", u) }
scope :public, -> { where(:visibility => ["public", "identifiable"]) }
scope :visible_to_all, -> { where(:visibility => ["public", "identifiable"]) }
scope :tagged, ->(t) { joins(:tags).where(:gpx_file_tags => { :tag => t }) }
validates_presence_of :user_id, :name, :timestamp

View file

@ -163,10 +163,10 @@ class TraceControllerTest < ActionController::TestCase
# Check that the list of changesets is displayed
def test_list
get :list
check_trace_list Trace.public
check_trace_list Trace.visible_to_all
get :list, :tag => "London"
check_trace_list Trace.tagged("London").public
check_trace_list Trace.tagged("London").visible_to_all
end
# Check that I can get mine
@ -188,15 +188,15 @@ class TraceControllerTest < ActionController::TestCase
def test_list_user
# Test a user with no traces
get :list, :display_name => users(:second_public_user).display_name
check_trace_list users(:second_public_user).traces.public
check_trace_list users(:second_public_user).traces.visible_to_all
# Test a user with some traces - should see only public ones
get :list, :display_name => users(:public_user).display_name
check_trace_list users(:public_user).traces.public
check_trace_list users(:public_user).traces.visible_to_all
# Should still see only public ones when authenticated as another user
get :list, {:display_name => users(:public_user).display_name}, {:user => users(:normal_user).id}
check_trace_list users(:public_user).traces.public
check_trace_list users(:public_user).traces.visible_to_all
# Should see all traces when authenticated as the target user
get :list, {:display_name => users(:public_user).display_name}, {:user => users(:public_user).id}
@ -210,16 +210,16 @@ class TraceControllerTest < ActionController::TestCase
# Check that the rss loads
def test_rss
get :georss, :format => :rss
check_trace_feed Trace.public
check_trace_feed Trace.visible_to_all
get :georss, :tag => "London", :format => :rss
check_trace_feed Trace.tagged("London").public
check_trace_feed Trace.tagged("London").visible_to_all
get :georss, :display_name => users(:public_user).display_name, :format => :rss
check_trace_feed users(:public_user).traces.public
check_trace_feed users(:public_user).traces.visible_to_all
get :georss, :display_name => users(:public_user).display_name, :tag => "Birmingham", :format => :rss
check_trace_feed users(:public_user).traces.tagged("Birmingham").public
check_trace_feed users(:public_user).traces.tagged("Birmingham").visible_to_all
end
# Test viewing a trace

View file

@ -27,8 +27,8 @@ class TraceTest < ActiveSupport::TestCase
check_query(Trace.visible_to(3), [:public_trace_file, :identifiable_trace_file])
end
def test_public
check_query(Trace.public, [:public_trace_file, :identifiable_trace_file, :deleted_trace_file])
def test_visible_to_all
check_query(Trace.visible_to_all, [:public_trace_file, :identifiable_trace_file, :deleted_trace_file])
end
def test_tagged