class Settings::ProjectsController

Public Instance Methods

show() click to toggle source
# File app/controllers/settings/projects_controller.rb, line 7
def show
  respond_to do |format|
    format.html
    format.json { render json: settings_json }
  end
end
update() click to toggle source
# File app/controllers/settings/projects_controller.rb, line 14
def update
  columns = (params[:columns] || {}).keys.map(&:intern)

  if @settings.update_attributes(columns: columns)
    respond_to do |format|
      format.html { redirect_to(projects_path) }
      format.json { render json: settings_json }
    end
  else
    render(action: :show) # Expect #show to display errors etc

  end
end

Private Instance Methods

get_settings() click to toggle source
# File app/controllers/settings/projects_controller.rb, line 29
def get_settings
  @settings = current_user.settings(:plan_list)
  # :name column should always be present (displayed as a disabled checkbox)

  # so it's not necessary to include it in the list here

  @all_columns -= [:name]
end
settings_json() click to toggle source
# File app/controllers/settings/projects_controller.rb, line 36
def settings_json
  @settings_json ||= { selected_columns: @settings.columns, all_columns: @all_columns }.to_json
end