|
|
|
@ -15,13 +15,37 @@
|
|
|
|
|
# along with this program; if not, write to the Free Software
|
|
|
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
|
class WatchersController < ApplicationController
|
|
|
|
|
before_filter :require_login, :find_watchables, :only => [:watch, :unwatch]
|
|
|
|
|
before_filter :require_login#, :find_watchables, :only => [:watch, :unwatch]
|
|
|
|
|
def watch
|
|
|
|
|
set_watcher(@watchables, User.current, true)
|
|
|
|
|
s = Service.new
|
|
|
|
|
watchables = s.watch params.merge(:current_user_id => User.current.id)
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html { redirect_to_referer_or {render :text => (true ? 'Watcher added.' : 'Watcher removed.'), :layout => true}}
|
|
|
|
|
format.js { render :partial => 'set_watcher', :locals => {:user => User.current, :watched => watchables} }
|
|
|
|
|
end
|
|
|
|
|
rescue Exception => e
|
|
|
|
|
if e.message == "404"
|
|
|
|
|
render_404
|
|
|
|
|
else
|
|
|
|
|
raise e
|
|
|
|
|
end
|
|
|
|
|
#set_watcher(@watchables, User.current, true)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def unwatch
|
|
|
|
|
set_watcher(@watchables, User.current, false)
|
|
|
|
|
s = Service.new
|
|
|
|
|
watchables = s.unwatch params.merge(:current_user_id => User.current.id)
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html { redirect_to_referer_or {render :text => (false ? 'Watcher added.' : 'Watcher removed.'), :layout => true}}
|
|
|
|
|
format.js { render :partial => 'set_watcher', :locals => {:user => User.current, :watched => watchables} }
|
|
|
|
|
end
|
|
|
|
|
rescue Exception => e
|
|
|
|
|
if e.message == "404"
|
|
|
|
|
render_404
|
|
|
|
|
else
|
|
|
|
|
raise e
|
|
|
|
|
end
|
|
|
|
|
#set_watcher(@watchables, User.current, false)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def join
|
|
|
|
@ -162,4 +186,5 @@ class WatchersController < ApplicationController
|
|
|
|
|
format.js { render :partial => 'set_watcher', :locals => {:user => user, :watched => watchables} }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|