]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/application_controller.rb
Add a privileged scope that allows email addresses to be returned
[rails.git] / app / controllers / application_controller.rb
index 2a1c3d6759c1777589f65e308e1123bde8b706fc..517b11e140818818dd7ab16b7219a39f04337720 100644 (file)
@@ -172,8 +172,7 @@ class ApplicationController < ActionController::Base
     end
   end
 
-  def preferred_languages(reset: false)
-    @preferred_languages = nil if reset
+  def preferred_languages
     @preferred_languages ||= if params[:locale]
                                Locale.list(params[:locale])
                              elsif current_user
@@ -185,13 +184,13 @@ class ApplicationController < ActionController::Base
 
   helper_method :preferred_languages
 
-  def set_locale(reset: false)
+  def set_locale
     if current_user&.languages&.empty? && !http_accept_language.user_preferred_languages.empty?
       current_user.languages = http_accept_language.user_preferred_languages
       current_user.save
     end
 
-    I18n.locale = Locale.available.preferred(preferred_languages(:reset => reset))
+    I18n.locale = Locale.available.preferred(preferred_languages)
 
     response.headers["Vary"] = "Accept-Language"
     response.headers["Content-Language"] = I18n.locale.to_s
@@ -396,4 +395,10 @@ class ApplicationController < ActionController::Base
 
     referer.to_s
   end
+
+  def scope_enabled?(scope)
+    doorkeeper_token&.includes_scope?(scope) || current_token&.includes_scope?(scope)
+  end
+
+  helper_method :scope_enabled?
 end