forked from publify/publify
-
Notifications
You must be signed in to change notification settings - Fork 1
/
base_controller.rb
47 lines (39 loc) · 1.47 KB
/
base_controller.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
class Admin::BaseController < ApplicationController
cattr_accessor :look_for_migrations
@@look_for_migrations = true
layout 'administration'
before_filter :login_required, :except => [ :login, :signup ]
before_filter :look_for_needed_db_updates, :except => [:login, :signup, :update_database, :migrate]
before_filter :check_and_generate_secret_token, :except => [:login, :signup, :update_database, :migrate]
def insert_editor
editor = 'visual'
editor = 'simple' if params[:editor].to_s == 'simple'
current_user.editor = editor
current_user.save!
render :partial => "#{editor}_editor"
end
private
def destroy_a(klass_to_destroy)
@record = klass_to_destroy.find(params[:id])
return render('admin/shared/destroy') unless request.post?
@record.destroy
redirect_to action: 'index'
end
def look_for_needed_db_updates
migrator = Migrator.new
if migrator.migrations_pending?
redirect_to :controller => '/admin/settings', :action => 'update_database'
end
end
def check_and_generate_secret_token
return if defined? $TESTING
checker = Admin::TokenChecker.new
return if checker.safe_token_in_use?
begin
checker.generate_token
flash[:error] = _("For security reasons, you should restart your Publify application. Enjoy your blogging experience.")
rescue
flash[:error] = _("Error: can't generate secret token. Security is at risk. Please, change %s content", checker.file)
end
end
end