class FixxpertsDatatable

Public Instance Methods

as_json(options = {}) click to toggle source

This will return all the data that DataTables expects including all the relevant rows from the database.

# File app/datatables/fixxperts_datatable.rb, line 13
def as_json(options = {})
  conditions = if params[:sSearch].present?
    ["LOWER(name) LIKE :q", q: "%#{params[:sSearch].downcase}%"]
  else
    {}
  end
  fixxperts = params[:nonsearchable_only].present? ? Fixxpert.non_searchable : Fixxpert.all
  as_datatable(fixxperts, conditions)
end
data_hash(fixxpert) click to toggle source

This fetches the correct page of data in the correct order.

# File app/datatables/fixxperts_datatable.rb, line 25
def data_hash(fixxpert)
  {
    id: fixxpert.id,
    name: fixxpert.full_name,
    email: mail_to(fixxpert.email),
    is_registration_completed: admin_fixxpert_status_link(fixxpert),
    active: admin_user_activation_link(fixxpert),
    searchable: admin_fixxpert_searchable_link(fixxpert),
    admin: admin_user_admin_link(fixxpert),
    is_featured: admin_fixxpert_featured_link(fixxpert),
    upload_image: admin_user_image_upload_form(fixxpert),
    user_activity: user_activity_link(fixxpert)
  }
end
sort_columns() click to toggle source

Provide the sequence in which columns to be sorted.

# File app/datatables/fixxperts_datatable.rb, line 41
def sort_columns
  %w(name email is_registration_completed activation_state searchable admin)
end