aboutsummaryrefslogtreecommitdiffstats
path: root/config/initializers/alaveteli.rb
diff options
context:
space:
mode:
Diffstat (limited to 'config/initializers/alaveteli.rb')
-rw-r--r--config/initializers/alaveteli.rb88
1 files changed, 88 insertions, 0 deletions
diff --git a/config/initializers/alaveteli.rb b/config/initializers/alaveteli.rb
new file mode 100644
index 000000000..349934ef4
--- /dev/null
+++ b/config/initializers/alaveteli.rb
@@ -0,0 +1,88 @@
+if RUBY_VERSION.to_f >= 1.9
+ # the default encoding for IO is utf-8, and we use utf-8 internally
+ Encoding.default_external = Encoding.default_internal = Encoding::UTF_8
+ # Suppress warning messages and require inflector to avoid iconv deprecation message
+ # "iconv will be deprecated in the future, use String#encode instead." when loading
+ # it as part of rails
+ original_verbose, $VERBOSE = $VERBOSE, nil
+ require 'active_support/inflector'
+ # Activate warning messages again.
+ $VERBOSE = original_verbose
+end
+
+# MySociety specific helper functions
+$:.push(File.join(File.dirname(__FILE__), '../../commonlib/rblib'))
+# ... if these fail to include, you need the commonlib submodule from git
+# (type "git submodule update --init" in the whatdotheyknow directory)
+
+load "validate.rb"
+load "config.rb"
+load "format.rb"
+load "debug_helpers.rb"
+load "util.rb"
+
+# Application version
+ALAVETELI_VERSION = '0.6.8'
+
+# Add new inflection rules using the following format
+# (all these examples are active by default):
+# Inflector.inflections do |inflect|
+# inflect.plural /^(ox)$/i, '\1en'
+# inflect.singular /^(ox)en/i, '\1'
+# inflect.irregular 'person', 'people'
+# inflect.uncountable %w( fish sheep )
+# end
+
+# Add new mime types for use in respond_to blocks:
+# Mime::Type.register "text/richtext", :rtf
+# Mime::Type.register "application/x-mobile", :mobile
+
+# The Rails cache is set up by the Interlock plugin to use memcached
+
+# Domain for URLs (so can work for scripts, not just web pages)
+ActionMailer::Base.default_url_options[:host] = Configuration::domain
+
+# So that javascript assets use full URL, so proxied admin URLs read javascript OK
+if (Configuration::domain != "")
+ ActionController::Base.asset_host = Proc.new { |source, request|
+ if ENV["RAILS_ENV"] != "test" && request.fullpath.match(/^\/admin\//)
+ Configuration::admin_public_url
+ else
+ Configuration::domain
+ end
+ }
+end
+
+# fallback locale and available locales
+available_locales = Configuration::available_locales.split(/ /)
+default_locale = Configuration::default_locale
+
+FastGettext.default_available_locales = available_locales
+I18n.locale = default_locale
+I18n.available_locales = available_locales.map {|locale_name| locale_name.to_sym}
+I18n.default_locale = default_locale
+
+# Customise will_paginate URL generation
+WillPaginate::ViewHelpers.pagination_options[:renderer] = 'WillPaginateExtension::LinkRenderer'
+
+# Load monkey patches and other things from lib/
+require 'ruby19.rb'
+require 'activesupport_cache_extensions.rb'
+require 'timezone_fixes.rb'
+require 'use_spans_for_errors.rb'
+require 'make_html_4_compliant.rb'
+require 'activerecord_errors_extensions.rb'
+require 'willpaginate_extension.rb'
+require 'sendmail_return_path.rb'
+require 'i18n_fixes.rb'
+require 'rack_quote_monkeypatch.rb'
+require 'world_foi_websites.rb'
+require 'alaveteli_external_command.rb'
+require 'quiet_opener.rb'
+require 'mail_handler'
+require 'public_body_categories'
+
+if !Configuration.exception_notifications_from.blank? && !Configuration.exception_notifications_to.blank?
+ ExceptionNotification::Notifier.sender_address = Configuration::exception_notifications_from
+ ExceptionNotification::Notifier.exception_recipients = Configuration::exception_notifications_to
+end