@@ -72,7 +72,7 @@ def json
7272 end
7373
7474 def create
75- @user = User . new ( permitted_attributes )
75+ @user = User . new ( user_params )
7676 authorize @user
7777
7878 if @user . save
@@ -88,7 +88,7 @@ def update
8888 @user = User . find ( params [ :id ] )
8989 authorize @user
9090
91- if @user . update ( params . require ( :user ) . permit ( %i[ name email deactivated ] ) )
91+ if update_user
9292 flash [ :success ] = 'Gebruiker geupdate'
9393 else
9494 flash [ :error ] = "Gebruiker updaten mislukt; #{ @user . errors . full_messages . join ( ', ' ) } "
@@ -140,8 +140,7 @@ def update_with_sofia_account # rubocop:disable Metrics/AbcSize, Metrics/MethodL
140140 end
141141 authorize @sofia_account
142142
143- if @user . update ( params . require ( :user ) . permit ( %i[ email sub_provider ] + ( current_user . treasurer? ? %i[ name deactivated ] : [ ] ) ,
144- sofia_account_attributes : %i[ id username ] ) )
143+ if @user . update ( params . require ( :user ) . permit ( policy ( @user ) . permitted_attributes_for_update_with_sofia_account ) )
145144 flash [ :success ] = 'Gegevens gewijzigd'
146145 else
147146 flash [ :error ] = "Gegevens wijzigen mislukt; #{ @user . errors . full_messages . join ( ', ' ) } "
@@ -152,6 +151,11 @@ def update_with_sofia_account # rubocop:disable Metrics/AbcSize, Metrics/MethodL
152151
153152 private
154153
154+ def update_user
155+ permitted_params = params . require ( :user ) . permit ( policy ( @user ) . permitted_attributes_for_update )
156+ @user . update ( permitted_params )
157+ end
158+
155159 def find_or_create_user ( user_json ) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
156160 fields = user_json [ 'attributes' ]
157161 u = User . find_or_initialize_by ( uid : user_json [ 'id' ] )
@@ -166,7 +170,7 @@ def find_or_create_user(user_json) # rubocop:disable Metrics/AbcSize, Metrics/Me
166170 u . save
167171 end
168172
169- def permitted_attributes
170- params . require ( :user ) . permit ( %w[ name email provider sub_provider ] )
173+ def user_params
174+ params . require ( :user ) . permit ( policy ( User . new ) . permitted_attributes )
171175 end
172176end
0 commit comments