diff app/controllers/application_controller.rb @ 1517:dffacf8a6908 redmine-2.5

Update to Redmine SVN revision 13367 on 2.5-stable branch
author Chris Cannam
date Tue, 09 Sep 2014 09:29:00 +0100
parents b450a9d58aed
children a1bdbf8a87d5
line wrap: on
line diff
--- a/app/controllers/application_controller.rb	Tue Sep 09 09:28:31 2014 +0100
+++ b/app/controllers/application_controller.rb	Tue Sep 09 09:29:00 2014 +0100
@@ -120,7 +120,7 @@
       if (key = api_key_from_request)
         # Use API key
         user = User.find_by_api_key(key)
-      else
+      elsif request.authorization.to_s =~ /\ABasic /i
         # HTTP Basic, either username/password or API key/random
         authenticate_with_http_basic do |username, password|
           user = User.try_to_login(username, password) || User.find_by_api_key(username)
@@ -202,7 +202,7 @@
     if User.current.logged?
       lang = find_language(User.current.language)
     end
-    if lang.nil? && request.env['HTTP_ACCEPT_LANGUAGE']
+    if lang.nil? && !Setting.force_default_language_for_anonymous? && request.env['HTTP_ACCEPT_LANGUAGE']
       accept_lang = parse_qvalues(request.env['HTTP_ACCEPT_LANGUAGE']).first
       if !accept_lang.blank?
         accept_lang = accept_lang.downcase
@@ -374,11 +374,14 @@
     url
   end
 
-  def redirect_back_or_default(default)
+  def redirect_back_or_default(default, options={})
     back_url = params[:back_url].to_s
     if back_url.present? && valid_back_url?(back_url)
       redirect_to(back_url)
       return
+    elsif options[:referer]
+      redirect_to_referer_or default
+      return
     end
     redirect_to default
     false