]> cat aescling's git repositories - mastodon.git/blob - app/controllers/settings/preferences_controller.rb
Allow selecting default posting language instead of auto-detect (#7828)
[mastodon.git] / app / controllers / settings / preferences_controller.rb
1 # frozen_string_literal: true
2
3 class Settings::PreferencesController < ApplicationController
4 layout 'admin'
5
6 before_action :authenticate_user!
7
8 def show; end
9
10 def update
11 user_settings.update(user_settings_params.to_h)
12
13 if current_user.update(user_params)
14 I18n.locale = current_user.locale
15 redirect_to settings_preferences_path, notice: I18n.t('generic.changes_saved_msg')
16 else
17 render :show
18 end
19 end
20
21 private
22
23 def user_settings
24 UserSettingsDecorator.new(current_user)
25 end
26
27 def user_params
28 params.require(:user).permit(
29 :locale,
30 chosen_languages: []
31 )
32 end
33
34 def user_settings_params
35 params.require(:user).permit(
36 :setting_default_privacy,
37 :setting_default_sensitive,
38 :setting_default_language,
39 :setting_unfollow_modal,
40 :setting_boost_modal,
41 :setting_delete_modal,
42 :setting_auto_play_gif,
43 :setting_display_sensitive_media,
44 :setting_reduce_motion,
45 :setting_system_font_ui,
46 :setting_noindex,
47 :setting_theme,
48 :setting_hide_network,
49 notification_emails: %i(follow follow_request reblog favourite mention digest),
50 interactions: %i(must_be_follower must_be_following)
51 )
52 end
53 end
This page took 0.087806 seconds and 4 git commands to generate.