Skip to content

Commit

Permalink
Add preferred ordering on obs edit (#2837)
Browse files Browse the repository at this point in the history
Add a user preference on observation edit page for default sort and order. Parameterized sort and order will still allow overriding the users default and defaults are only used when no order params are passed.

Closes #2773
  • Loading branch information
todtb committed Oct 26, 2020
1 parent d1fd444 commit 60a83e6
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
2 changes: 2 additions & 0 deletions app/controllers/observations_controller.rb
Expand Up @@ -1211,6 +1211,8 @@ def by_login
current_user: current_user)
search_params = Observation.apply_pagination_options(search_params,
user_preferences: @prefs)
search_params[:order_by] = @prefs["edit_observations_order"] if @prefs["edit_observations_order"]
search_params[:order] = @prefs["edit_observations_sort"] if @prefs["edit_observations_sort"]
@observations = Observation.page_of_results(search_params)
set_up_instance_variables(search_params)
Observation.preload_for_component(@observations, logged_in: !!current_user)
Expand Down
2 changes: 2 additions & 0 deletions app/models/user.rb
Expand Up @@ -101,6 +101,8 @@ def set_uuid
preference :identify_side_bar, :boolean, default: false
preference :lifelist_nav_view, :string
preference :lifelist_details_view, :string
preference :edit_observations_sort, :string, default: "desc"
preference :edit_observations_order, :string, default: "created_at"
preference :lifelist_tree_mode, :string

NOTIFICATION_PREFERENCES = %w(
Expand Down
4 changes: 2 additions & 2 deletions app/views/observations/_observations_table_header.html.erb
Expand Up @@ -13,14 +13,14 @@
</div>
<div class="header observed_on <%= "order_by #{@order}" if @order_by == 'observed_on' %>">
<% order = @order == 'desc' ? 'asc' : 'desc' if @order_by == 'observed_on' %>
<%= link_to t(:date_observed), url_for_params(:order => order, :order_by => 'observed_on') %>
<%= link_to t(:date_observed), url_for_params(order: order, order_by: 'observed_on', preferences: { edit_observations_sort: order, edit_observations_order: 'observed_on' }) %>
</div>
<div class="header place">
<%= t(:place) %>
</div>
<div class="header created_at <%= "order_by #{@order}" if %w(id observations.id created_at).include?(@order_by) %>" style="display: none">
<% order = @order == 'desc' ? 'asc' : 'desc' if %w(id observations.id created_at).include?(@order_by) %>
<%= link_to t(:date_added), url_for_params(:order => order, :order_by => 'created_at') %>
<%= link_to t(:date_added), url_for_params(order: order, order_by: 'created_at', preferences: { edit_observations_sort: order, edit_observations_order: 'created_at' }) %>
</div>
<div class="header details" style="display: none">
<%=t :details %>
Expand Down

0 comments on commit 60a83e6

Please sign in to comment.