Index: app/helpers/users_helper.rb =================================================================== --- app/helpers/users_helper.rb (revision 3733) +++ app/helpers/users_helper.rb (working copy) @@ -45,6 +45,20 @@ end end + def change_status_options_for_select(user) + disabled = [] + disabled << User::STATUS_REGISTERED unless user.registered? + disabled << User::STATUS_LOCKED if user == User.current + + options_for_select([[l(:status_active), User::STATUS_ACTIVE], + [l(:status_registered), User::STATUS_REGISTERED], + [l(:status_locked), User::STATUS_LOCKED] + ], + :selected => user.status, + :disabled => disabled + ) + end + def user_settings_tabs tabs = [{:name => 'general', :partial => 'users/general', :label => :label_general}, {:name => 'memberships', :partial => 'users/memberships', :label => :label_project_plural} Index: app/views/users/_form.rhtml =================================================================== --- app/views/users/_form.rhtml (revision 3733) +++ app/views/users/_form.rhtml (working copy) @@ -16,6 +16,7 @@ <% end %>

<%= f.check_box :admin, :disabled => (@user == User.current) %>

+

<%= f.select :status, change_status_options_for_select(@user) %>

<%= call_hook(:view_users_form, :user => @user, :form => f) %>