diff options
-rw-r--r-- | app/controllers/track_controller.rb | 4 | ||||
-rw-r--r-- | app/models/track_thing.rb | 10 | ||||
-rw-r--r-- | app/views/track/_tracking_people_and_link.rhtml | 4 |
3 files changed, 9 insertions, 9 deletions
diff --git a/app/controllers/track_controller.rb b/app/controllers/track_controller.rb index b37afc6d5..baa7b98eb 100644 --- a/app/controllers/track_controller.rb +++ b/app/controllers/track_controller.rb @@ -5,7 +5,7 @@ # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: track_controller.rb,v 1.18 2008-05-15 22:47:16 francis Exp $ +# $Id: track_controller.rb,v 1.19 2008-05-15 22:57:08 francis Exp $ class TrackController < ApplicationController @@ -115,7 +115,7 @@ class TrackController < ApplicationController # Generic request tracker - set @track_thing before calling def track_set if @user - @existing_track = TrackThing.find_by_existing_track(@user, @track_thing.track_query) + @existing_track = TrackThing.find_by_existing_track(@user, @track_thing) if @existing_track return "already" end diff --git a/app/models/track_thing.rb b/app/models/track_thing.rb index 3d7b29578..d160d18ac 100644 --- a/app/models/track_thing.rb +++ b/app/models/track_thing.rb @@ -21,7 +21,7 @@ # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: track_thing.rb,v 1.19 2008-05-15 22:47:16 francis Exp $ +# $Id: track_thing.rb,v 1.20 2008-05-15 22:57:08 francis Exp $ class TrackThing < ActiveRecord::Base belongs_to :tracking_user, :class_name => 'User' @@ -207,16 +207,16 @@ class TrackThing < ActiveRecord::Base end # When constructing a new track, use this to avoid duplicates / double posting - def TrackThing.find_by_existing_track(tracking_user, track_query) + def TrackThing.find_by_existing_track(tracking_user, track) if tracking_user.nil? return nil end - return TrackThing.find(:first, :conditions => [ 'tracking_user_id = ? and track_query = ?', tracking_user.id, track_query ] ) + return TrackThing.find(:first, :conditions => [ 'tracking_user_id = ? and track_query = ? and track_type = ?', tracking_user.id, track.track_query, track.track_type ] ) end # List of people tracking same thing - def TrackThing.find_tracking_people(track_query) - return TrackThing.find(:all, :conditions => [ 'track_query = ?', track_query ]).map { |t| t.tracking_user } + def TrackThing.find_tracking_people(track) + return TrackThing.find(:all, :conditions => [ 'track_query = ? and track_type = ?', track.track_query, track.track_type ]).map { |t| t.tracking_user } end end diff --git a/app/views/track/_tracking_people_and_link.rhtml b/app/views/track/_tracking_people_and_link.rhtml index 82eed67e6..0d767463d 100644 --- a/app/views/track/_tracking_people_and_link.rhtml +++ b/app/views/track/_tracking_people_and_link.rhtml @@ -1,8 +1,8 @@ <% - existing_track = TrackThing.find_by_existing_track(@user, track_thing.track_query) + existing_track = TrackThing.find_by_existing_track(@user, track_thing) tracking_people = [] if list_people - tracking_people = TrackThing.find_tracking_people(track_thing.track_query) + tracking_people = TrackThing.find_tracking_people(track_thing) end %> |