Class: DashboardController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- DashboardController
- Includes:
- ActionView::Helpers::DateHelper, Blacklight::Catalog, Blacklight::Configurable, BlacklightAdvancedSearch::Controller, BlacklightAdvancedSearch::ParseBasicQ, Hydra::BatchEditBehavior, Hydra::Controller::ControllerBehavior
- Defined in:
- app/controllers/dashboard_controller.rb
Instance Method Summary collapse
Instance Method Details
#activity ⇒ Object
67 68 69 70 71 72 73 74 75 76 |
# File 'app/controllers/dashboard_controller.rb', line 67 def activity # reverse events since we're prepending rows. without reverse, old events wind up first events = current_user.events.reverse # filter events to include only those that have occurred since params[:since] events.select! { |event| event[:timestamp].to_i > params[:since].to_i } if params[:since] # return the event, a formatted date string, and a numerical timestamp render :json => events.map { |event| [event[:action], "#{time_ago_in_words(Time.at(event[:timestamp].to_i))} ago", event[:timestamp].to_i] } rescue render :json => [] end |
#index ⇒ Object
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 |
# File 'app/controllers/dashboard_controller.rb', line 37 def index extra_head_content << view_context.auto_discovery_link_tag(:rss, sufia.url_for(params.merge(:format => 'rss')), :title => "RSS for results") extra_head_content << view_context.auto_discovery_link_tag(:atom, sufia.url_for(params.merge(:format => 'atom')), :title => "Atom for results") (@response, @document_list) = get_search_results @user = current_user @events = @user.events(100) @last_event_timestamp = @user.events.first[:timestamp].to_i || 0 rescue 0 @filters = params[:f] || [] # adding a key to the session so that the history will be saved so that batch_edits select all will work search_session[:dashboard] = true respond_to do |format| format.html { save_current_search_params } format.rss { render :layout => false } format.atom { render :layout => false } end # set up some parameters for allowing the batch controls to show appropiately @max_batch_size = 80 count_on_page = @document_list.count {|doc| batch.index(doc.id)} @disable_select_all = @document_list.count > @max_batch_size batch_size = batch.uniq.size @result_set_size = @response.response["numFound"] @empty_batch = batch.empty? @all_checked = (count_on_page == @document_list.count) @entire_result_set_selected = @response.response["numFound"] == batch_size @batch_size_on_other_page = batch_size - count_on_page @batch_part_on_other_page = (@batch_size_on_other_page) > 0 end |