| 
									
										
										
										
											2016-11-15 16:56:29 +01:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-13 06:32:13 +09:00
										 |  |  | class Settings::PreferencesController < Settings::BaseController | 
					
						
							| 
									
										
										
										
											2017-01-28 03:56:10 +01:00
										 |  |  |   layout 'admin' | 
					
						
							| 
									
										
										
										
											2016-10-14 02:28:49 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |   before_action :authenticate_user! | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-06 18:03:30 +01:00
										 |  |  |   def show; end | 
					
						
							| 
									
										
										
										
											2016-10-14 02:28:49 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def update | 
					
						
							| 
									
										
										
										
											2017-04-20 21:26:52 -04:00
										 |  |  |     user_settings.update(user_settings_params.to_h) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if current_user.update(user_params) | 
					
						
							| 
									
										
										
										
											2017-05-23 00:58:41 +09:00
										 |  |  |       I18n.locale = current_user.locale | 
					
						
							| 
									
										
										
										
											2016-11-15 23:02:57 +01:00
										 |  |  |       redirect_to settings_preferences_path, notice: I18n.t('generic.changes_saved_msg') | 
					
						
							| 
									
										
										
										
											2016-10-14 02:28:49 +02:00
										 |  |  |     else | 
					
						
							| 
									
										
										
										
											2017-04-19 09:37:42 -04:00
										 |  |  |       render :show | 
					
						
							| 
									
										
										
										
											2016-10-14 02:28:49 +02:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   private | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-20 21:26:52 -04:00
										 |  |  |   def user_settings | 
					
						
							|  |  |  |     UserSettingsDecorator.new(current_user) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-14 02:28:49 +02:00
										 |  |  |   def user_params | 
					
						
							| 
									
										
										
										
											2017-04-20 21:26:52 -04:00
										 |  |  |     params.require(:user).permit( | 
					
						
							| 
									
										
										
										
											2017-05-01 11:42:13 -04:00
										 |  |  |       :locale, | 
					
						
							| 
									
										
										
										
											2018-06-17 13:54:02 +02:00
										 |  |  |       chosen_languages: [] | 
					
						
							| 
									
										
										
										
											2017-04-20 21:26:52 -04:00
										 |  |  |     ) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def user_settings_params | 
					
						
							|  |  |  |     params.require(:user).permit( | 
					
						
							|  |  |  |       :setting_default_privacy, | 
					
						
							| 
									
										
										
										
											2017-07-10 21:00:32 +09:00
										 |  |  |       :setting_default_sensitive, | 
					
						
							| 
									
										
										
										
											2018-06-17 18:57:31 +02:00
										 |  |  |       :setting_default_language, | 
					
						
							| 
									
										
										
										
											2017-07-19 00:14:43 +09:00
										 |  |  |       :setting_unfollow_modal, | 
					
						
							| 
									
										
										
										
											2017-04-20 21:26:52 -04:00
										 |  |  |       :setting_boost_modal, | 
					
						
							| 
									
										
										
										
											2017-05-29 11:56:13 -04:00
										 |  |  |       :setting_delete_modal, | 
					
						
							| 
									
										
										
										
											2017-04-20 21:26:52 -04:00
										 |  |  |       :setting_auto_play_gif, | 
					
						
							| 
									
										
										
										
											2018-09-25 12:09:35 +09:00
										 |  |  |       :setting_display_media, | 
					
						
							| 
									
										
										
										
											2018-09-24 04:44:01 +01:00
										 |  |  |       :setting_expand_spoilers, | 
					
						
							| 
									
										
										
										
											2017-10-16 00:36:15 -07:00
										 |  |  |       :setting_reduce_motion, | 
					
						
							| 
									
										
										
										
											2017-07-06 13:39:56 -07:00
										 |  |  |       :setting_system_font_ui, | 
					
						
							| 
									
										
										
										
											2017-07-14 16:41:02 +02:00
										 |  |  |       :setting_noindex, | 
					
						
							| 
									
										
										
										
											2017-09-19 07:36:23 -07:00
										 |  |  |       :setting_theme, | 
					
						
							| 
									
										
										
										
											2018-05-18 02:26:51 +02:00
										 |  |  |       :setting_hide_network, | 
					
						
							| 
									
										
										
										
											2018-12-09 13:03:01 +01:00
										 |  |  |       :setting_aggregate_reblogs, | 
					
						
							| 
									
										
										
										
											2019-02-02 19:18:15 +01:00
										 |  |  |       :setting_show_application, | 
					
						
							| 
									
										
										
										
											2019-04-10 00:35:49 +02:00
										 |  |  |       notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account), | 
					
						
							| 
									
										
										
										
											2017-04-20 21:26:52 -04:00
										 |  |  |       interactions: %i(must_be_follower must_be_following) | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2016-10-14 02:28:49 +02:00
										 |  |  |   end | 
					
						
							|  |  |  | end |