Class: Admin::SettingsController

Inherits:
AdminCartoonistController
  • Object
show all
Defined in:
app/controllers/admin/settings_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



4
5
6
# File 'app/controllers/admin/settings_controller.rb', line 4

def index
  redirect_to "/admin/settings/general"
end

#initial_setupObject



26
27
28
29
# File 'app/controllers/admin/settings_controller.rb', line 26

def initial_setup
  return redirect_to "/admin" unless initial_setup_required?
  render :layout => "admin/initial_setup"
end

#save_initial_setupObject



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'app/controllers/admin/settings_controller.rb', line 31

def save_initial_setup
  return redirect_to "/admin" unless initial_setup_required?

  if params[:admin_password] != params[:admin_confirm_password]
    flash[:error] = t "settings.initial_setup.passwords_dont_match"
    return redirect_to "/admin/settings/initial_setup"
  end

  Setting[:copyright_starting_year] = Date.today.strftime("%Y").to_i
  Setting[:domain] = params[:domain]
  Setting[:site_name] = params[:site_name]
  Setting[:secret_token] = SecureRandom.hex 30
  Setting[:secret_key_base] = SecureRandom.hex 64
  Setting[:devise_pepper] = SecureRandom.hex 64
  Setting[:devise_secret_key] = SecureRandom.hex 64
  # This MUST go AFTER we set the pepper
  User.create! :email => params[:admin_email], :password => params[:admin_password], :password_confirmation => params[:admin_confirm_password], :name => params[:admin_name]
  redirect_to "/admin"
end

#showObject



8
9
10
11
# File 'app/controllers/admin/settings_controller.rb', line 8

def show
  @tab = Setting::Tab[params[:id]]
  render :layout => "general_admin"
end

#updateObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/controllers/admin/settings_controller.rb', line 13

def update
  params[:included_settings].each do |setting|
    begin
      Setting[setting] = params[setting]
    rescue Setting::InvalidError => e
      flash[:update_errors] ||= []
      flash[:update_errors] << e.message
    end
  end

  redirect_to "/admin/settings/#{params[:id]}"
end