module QueueDispatcher::ActsAsTaskController::InstanceMethods
Public Instance Methods
expand_event()
click to toggle source
# File lib/queue_dispatcher/acts_as_task_controller.rb, line 78 def expand_event @task = eval(self.class.acts_as_task_controller_config.task_class_name.camelize).find(params[:id]) @expanded_events = session[:acts_as_task_controller_expanded_events] || [] if @expanded_events.include? @task.id @expanded_events -= [@task.id] else @expanded_events |= [@task.id] end session[:acts_as_task_controller_expanded_events] = @expanded_events respond_to do |format| format.js { render 'queue_dispatcher_views/expand_event' } end end
my_events()
click to toggle source
# File lib/queue_dispatcher/acts_as_task_controller.rb, line 34 def my_events # Remember the selected page, if the AJAX-Request wants to update the current page 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) # Check for updated tasks 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? # Load expanded_events from session if this is a AJAX-request @expanded_events = session[:acts_as_task_controller_expanded_events] || [] else # Reset expanded_events if this is a regular request @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