Class: Spree::Admin::TableColumnsController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/spree/admin/table_columns_controller.rb

Instance Method Summary collapse

Methods included from BreadcrumbConcern

#add_breadcrumb_icon_instance_var

Instance Method Details

#updateObject

POST /admin/table_columns Updates the selected columns for a table in the session



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/controllers/spree/admin/table_columns_controller.rb', line 6

def update
  session_key = table_session_key
  columns = params[:columns]

  if session_key.present?
    if columns.present?
      # Filter to only include valid column keys
      column_keys = Array(columns).map(&:to_sym)
      session[session_key] = column_keys.join(',')
    else
      # Clear selection to use defaults
      session.delete(session_key)
    end
  end

  # Use url_from to validate redirect URL is same-origin
  redirect_url = url_from(params[:redirect_url]) || url_from(request.referer) || spree.admin_path
  redirect_to redirect_url, status: :see_other
end