summaryrefslogtreecommitdiffstats
path: root/app/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers')
-rw-r--r--app/helpers/watchers_helper.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/app/helpers/watchers_helper.rb b/app/helpers/watchers_helper.rb
index 23f767611..87b381055 100644
--- a/app/helpers/watchers_helper.rb
+++ b/app/helpers/watchers_helper.rb
@@ -16,4 +16,21 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
module WatchersHelper
+ def watcher_tag(object, user)
+ content_tag("span", watcher_link(object, user), :id => 'watcher')
+ end
+
+ def watcher_link(object, user)
+ return '' unless user && object.respond_to?('watched_by?')
+ watched = object.watched_by?(user)
+ url = {:controller => 'watchers',
+ :action => (watched ? 'remove' : 'add'),
+ :object_type => object.class.to_s.underscore,
+ :object_id => object.id}
+ link_to_remote((watched ? l(:button_unwatch) : l(:button_watch)),
+ {:url => url},
+ :href => url_for(url),
+ :class => (watched ? 'icon icon-fav' : 'icon icon-fav-off'))
+
+ end
end