A website template with lots of features, built with ruby on rails.

application_controller.rb 1.2KB

123456789101112131415161718192021222324252627282930313233343536
  1. class ApplicationController < ActionController::Base
  2. # Prevent CSRF attacks by raising an exception.
  3. # For APIs, you may want to use :null_session instead.
  4. protect_from_forgery with: :exception
  5. before_filter :config_site
  6. before_filter :check_admin_mode
  7. before_filter :configure_permitted_parameters, if: :devise_controller?
  8. def configure_permitted_parameters
  9. devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:first_name, :last_name, :email, :current_password, :avatar, :password, :password_confirmation) }
  10. devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:first_name, :last_name, :email, :password) }
  11. end
  12. def config_site
  13. @config = Info.first
  14. #I18n.config.enforce_available_locales = false
  15. I18n.default_locale = @config.default_language
  16. end
  17. protected
  18. def check_admin_mode
  19. if @config.maintenance_mode && controller_name != 'sessions' && !user_signed_in? && action_name != 'maintenance_mode'
  20. render 'admin_panel/maintenance_mode'
  21. elsif !@config.maintenance_mode && !user_signed_in? && action_name == 'maintenance_mode'
  22. redirect_to root_path
  23. end
  24. end
  25. end