aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/track_controller.rb4
-rw-r--r--app/models/track_thing.rb10
-rw-r--r--app/views/track/_tracking_people_and_link.rhtml4
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
%>