2 class BasicPreferencesController < ApplicationController
5 before_action :authorize_web
6 before_action :set_locale
8 authorize_resource :class => :preferences
10 before_action :check_database_readable
11 before_action :check_database_writable, :only => [:update]
16 current_user.languages = params[:user][:languages].split(",")
18 current_user.preferred_editor = if params[:user][:preferred_editor] == "default"
21 params[:user][:preferred_editor]
24 success = current_user.save
26 if params[:site_color_scheme]
27 site_color_scheme_preference = current_user.preferences.find_or_create_by(:k => "site.color_scheme")
28 success &= site_color_scheme_preference.update(:v => params[:site_color_scheme])
31 if params[:map_color_scheme]
32 map_color_scheme_preference = current_user.preferences.find_or_create_by(:k => "map.color_scheme")
33 success &= map_color_scheme_preference.update(:v => params[:map_color_scheme])
37 # Use a partial so that it is rendered during the next page load in the correct language.
38 flash[:notice] = { :partial => "update_success_flash" }
39 redirect_to basic_preferences_path
41 flash.now[:error] = t ".failure"