34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/queue_dispatcher/acts_as_task_controller.rb', line 34
def my_events
page = session[:my_events_page] = params[:page] if params[:page] || ! request.xhr?
page = session[:my_events_page] if page.nil? && request.xhr?
@tasks = current_user.send(self.class.acts_as_task_controller_config.task_class_name.pluralize).order('id DESC').page(page)
session[:task_updates] ||= {}
task_updates = {}
@new_tasks = []
@updated_tasks = []
@deleted_task_ids = []
if @tasks
@tasks.page(1).each do |task|
task_updates[task.id] = task.updated_at
@new_tasks << task unless session[:task_updates][task.id]
@updated_tasks << task if session[:task_updates][task.id] && session[:task_updates][task.id] != task.updated_at
end
session[:task_updates].each{ |id, updated_at| @deleted_task_ids << id unless eval(self.class.acts_as_task_controller_config.task_class_name.camelize).find_by_id(id) }
session[:task_updates] = task_updates
end
if request.xhr?
@expanded_events = session[:acts_as_task_controller_expanded_events] || []
else
@expanded_events = session[:acts_as_task_controller_expanded_events] = []
end
respond_to do |format|
format.html { render 'queue_dispatcher_views/my_events' }
format.js do
if params[:page]
render
else
render 'queue_dispatcher_views/update_events'
end
end
end
end
|