diff --git a/app/assets/javascripts/app/controllers/_profile/language.js.coffee b/app/assets/javascripts/app/controllers/_profile/language.js.coffee index f46b07df2..70aae6ec2 100644 --- a/app/assets/javascripts/app/controllers/_profile/language.js.coffee +++ b/app/assets/javascripts/app/controllers/_profile/language.js.coffee @@ -25,7 +25,7 @@ class Index extends App.Controller update: (e) => e.preventDefault() params = @formParam(e.target) - error = @form.validate(params) + error = @form.validate(params) if error @formValidate( form: e.target, errors: error ) return false @@ -35,13 +35,13 @@ class Index extends App.Controller # get data @locale = params['locale'] @ajax( - id: 'preferences' - type: 'PUT' - url: @apiPath + '/users/preferences' - data: JSON.stringify(params) + id: 'preferences' + type: 'PUT' + url: @apiPath + '/users/preferences' + data: JSON.stringify({user:params}) processData: true - success: @success - error: @error + success: @success + error: @error ) success: (data, status, xhr) => diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 085093302..6637ffa71 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -509,8 +509,8 @@ curl http://localhost/api/v1/users/preferences.json -v -u #{login}:#{password} - params[:user].each {|key, value| current_user.preferences[key.to_sym] = value } + current_user.save end - current_user.save render :json => { :message => 'ok' }, :status => :ok end diff --git a/test/browser/prefereces_test.rb b/test/browser/prefereces_test.rb index a1c1f42fc..b15f646e6 100644 --- a/test/browser/prefereces_test.rb +++ b/test/browser/prefereces_test.rb @@ -47,9 +47,31 @@ class PreferencesTest < TestCase :area => 'body', :value => 'Language', }, + { + :execute => 'select', + :css => '.language_item select[name="locale"]', + :value => 'Deutsch', + }, + { + :execute => 'click', + :css => '.content button[type="submit"]', + }, + { + :execute => 'watch_for', + :area => 'body', + :value => 'Sprache', + }, + { + :execute => 'reload', + }, + { + :execute => 'watch_for', + :area => 'body', + :value => 'Sprache', + }, ], }, ] browser_signle_test_with_login(tests) end -end +end \ No newline at end of file