|
|
|
@ -22,9 +22,26 @@ class WatchersController < ApplicationController
|
|
|
|
|
def watch
|
|
|
|
|
s = WatchesService.new
|
|
|
|
|
watchables = s.watch params.merge(:current_user_id => User.current.id)
|
|
|
|
|
if params[:action_name] == 'watch'
|
|
|
|
|
limit = 10;
|
|
|
|
|
query = User.watched_by(params[:target_id]);
|
|
|
|
|
@obj_count = query.count();
|
|
|
|
|
@obj_pages = Paginator.new @obj_count,limit,params['page']
|
|
|
|
|
@list = query.order("#{Watcher.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all();
|
|
|
|
|
@action = 'watch'
|
|
|
|
|
elsif params[:action_name] == 'fans'
|
|
|
|
|
limit = 10;
|
|
|
|
|
query = User.find(params[:target_id]).watcher_users;
|
|
|
|
|
@obj_count = query.count();
|
|
|
|
|
@obj_pages = Paginator.new @obj_count,limit,params['page']
|
|
|
|
|
@list = query.order("#{Watcher.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all();
|
|
|
|
|
@action = 'fans'
|
|
|
|
|
else
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
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,:params=>params,:opt=>'add'} }
|
|
|
|
|
format.js { render :partial => 'set_watcher', :locals => {:user => User.current, :watched => watchables,:params=>params,:opt=>'add',:list => @list,:action_name=>params[:action_name],:page=>params[:page]} }
|
|
|
|
|
end
|
|
|
|
|
rescue Exception => e
|
|
|
|
|
if e.message == "404"
|
|
|
|
@ -38,9 +55,25 @@ class WatchersController < ApplicationController
|
|
|
|
|
def unwatch
|
|
|
|
|
s = WatchesService.new
|
|
|
|
|
watchables = s.unwatch params.merge(:current_user_id => User.current.id)
|
|
|
|
|
if params[:action_name] == 'watch'
|
|
|
|
|
limit = 10;
|
|
|
|
|
query = User.watched_by(params[:target_id]);
|
|
|
|
|
@obj_count = query.count();
|
|
|
|
|
@obj_pages = Paginator.new @obj_count,limit,params['page']
|
|
|
|
|
@list = query.order("#{Watcher.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all();
|
|
|
|
|
@action = 'watch'
|
|
|
|
|
elsif params[:action_name] == 'fans'
|
|
|
|
|
limit = 10;
|
|
|
|
|
query = User.find(params[:target_id]).watcher_users;
|
|
|
|
|
@obj_count = query.count();
|
|
|
|
|
@obj_pages = Paginator.new @obj_count,limit,params['page']
|
|
|
|
|
@list = query.order("#{Watcher.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all();
|
|
|
|
|
@action = 'fans'
|
|
|
|
|
else
|
|
|
|
|
end
|
|
|
|
|
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,:params=>params,:opt=>'delete'} }
|
|
|
|
|
format.js { render :partial => 'set_watcher', :locals => {:user => User.current, :watched => watchables,:params=>params,:opt=>'delete',:list=>@list,:action_name=>params[:action_name],:page=>params[:page]} }
|
|
|
|
|
end
|
|
|
|
|
rescue Exception => e
|
|
|
|
|
if e.message == "404"
|
|
|
|
|