From 44013827988cb18d7c3b504f001256388da71abf Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Tue, 25 Feb 2014 10:15:43 +0200 Subject: [PATCH] Fix 500 error when try to update own profile in admin area --- app/controllers/admin/users_controller.rb | 4 +++- features/admin/users.feature | 6 ++++++ features/steps/admin/admin_users.rb | 13 +++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index bdbb9a3..5b06af7 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -68,7 +68,9 @@ class Admin::UsersController < Admin::ApplicationController params[:user].delete(:password_confirmation) end - user.admin = (admin && admin.to_i > 0) + if admin.present? + user.admin = !admin.to_i.zero? + end respond_to do |format| if user.update_attributes(params[:user], as: :admin) diff --git a/features/admin/users.feature b/features/admin/users.feature index 7f503cf..ce9f32f 100644 --- a/features/admin/users.feature +++ b/features/admin/users.feature @@ -14,3 +14,9 @@ Feature: Admin Users And Click save Then See username error message And Not changed form action url + + Scenario: Edit my user attributes + Given I visit admin users page + And click edit on my user + When I submit modified user + Then I see user attributes changed diff --git a/features/steps/admin/admin_users.rb b/features/steps/admin/admin_users.rb index 33c1344..659008d 100644 --- a/features/steps/admin/admin_users.rb +++ b/features/steps/admin/admin_users.rb @@ -31,4 +31,17 @@ class AdminUsers < Spinach::FeatureSteps And 'Not changed form action url' do page.should have_selector %(form[action="/admin/users/#{@user.username}"]) end + + step 'I submit modified user' do + check :user_can_create_group + click_button 'Save' + end + + step 'I see user attributes changed' do + page.should have_content 'Can create groups: Yes' + end + + step 'click edit on my user' do + find("#edit_user_#{current_user.id}").click + end end -- libgit2 0.21.2