Sha256: 7e59675553a9c1957eb36084a9715fd9e944d3c3e42175160ff59696ff77f98d

Contents?: true

Size: 903 Bytes

Versions: 12

Compression:

Stored size: 903 Bytes

Contents

class Admin::PreferencesController < ApplicationController
  before_filter :load_user

  def initialize
    @controller_name = 'user'
    @template_name = 'preferences'
  end

  def show
    redirect_to :action => 'edit'
  end

  def edit
    render
  end

  def update
    if valid_params?
      if @user.update_attributes(params[:user])
        flash[:notice] = 'Your preferences have been updated.'
        redirect_to admin_pages_path
      else
        flash[:error] = 'There was an error updating your preferences.'
        render :action => 'edit'
      end
    else
      announce_bad_data
      render :action => 'edit'
    end
  end

  private

  def load_user
    @user = current_user
  end

  def valid_params?
    hash = (params[:user] || {}).symbolize_keys
    (hash.keys - User.protected_attributes).size == 0
  end

  def announce_bad_data
    flash[:error] = 'Bad form data.'
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
radiantcms-couchrest_model-0.2.4 app/controllers/admin/preferences_controller.rb
radiantcms-couchrest_model-0.2.2 app/controllers/admin/preferences_controller.rb
radiantcms-couchrest_model-0.2.1 app/controllers/admin/preferences_controller.rb
radiantcms-couchrest_model-0.2 app/controllers/admin/preferences_controller.rb
radiantcms-couchrest_model-0.1.9 app/controllers/admin/preferences_controller.rb
radiantcms-couchrest_model-0.1.8 app/controllers/admin/preferences_controller.rb
radiantcms-couchrest_model-0.1.7 app/controllers/admin/preferences_controller.rb
radiantcms-couchrest_model-0.1.6 app/controllers/admin/preferences_controller.rb
radiantcms-couchrest_model-0.1.5 app/controllers/admin/preferences_controller.rb
radiant-0.8.2 app/controllers/admin/preferences_controller.rb
radiant-0.8.1 app/controllers/admin/preferences_controller.rb
radiant-0.8.0 app/controllers/admin/preferences_controller.rb