diff options
-rw-r--r-- | app/controllers/admin_user_controller.rb | 1 | ||||
-rw-r--r-- | app/views/admin_user/_form.html.erb | 9 | ||||
-rw-r--r-- | db/migrate/20130919151140_add_can_make_batch_requests_to_user.rb | 5 | ||||
-rw-r--r-- | spec/controllers/admin_user_controller_spec.rb | 23 | ||||
-rw-r--r-- | spec/factories.rb | 1 |
5 files changed, 37 insertions, 2 deletions
diff --git a/app/controllers/admin_user_controller.rb b/app/controllers/admin_user_controller.rb index 929b93e0e..940a5fe8f 100644 --- a/app/controllers/admin_user_controller.rb +++ b/app/controllers/admin_user_controller.rb @@ -48,6 +48,7 @@ class AdminUserController < AdminController @admin_user.ban_text = params[:admin_user][:ban_text] @admin_user.about_me = params[:admin_user][:about_me] @admin_user.no_limit = params[:admin_user][:no_limit] + @admin_user.can_make_batch_requests = params[:admin_user][:can_make_batch_requests] if @admin_user.valid? @admin_user.save! diff --git a/app/views/admin_user/_form.html.erb b/app/views/admin_user/_form.html.erb index e7175d09c..f1edc0927 100644 --- a/app/views/admin_user/_form.html.erb +++ b/app/views/admin_user/_form.html.erb @@ -64,3 +64,12 @@ </div> </div> </div> +<div class="control-group"> + <label for="admin_user_can_make_batch_requests" class="control-label">Can make batch requests</label> + <div class="controls"> + <%= check_box 'admin_user', 'can_make_batch_requests' %> + <div class="help-block"> + allows the user to send a request to multiple authorities at once + </div> + </div> +</div> diff --git a/db/migrate/20130919151140_add_can_make_batch_requests_to_user.rb b/db/migrate/20130919151140_add_can_make_batch_requests_to_user.rb new file mode 100644 index 000000000..cc9d8e76f --- /dev/null +++ b/db/migrate/20130919151140_add_can_make_batch_requests_to_user.rb @@ -0,0 +1,5 @@ +class AddCanMakeBatchRequestsToUser < ActiveRecord::Migration + def change + add_column :users, :can_make_batch_requests, :boolean, :default => false, :null => false + end +end diff --git a/spec/controllers/admin_user_controller_spec.rb b/spec/controllers/admin_user_controller_spec.rb index a6e5a0d7e..99894a414 100644 --- a/spec/controllers/admin_user_controller_spec.rb +++ b/spec/controllers/admin_user_controller_spec.rb @@ -15,13 +15,32 @@ describe AdminUserController, "when administering users" do it "shows a user" do get :show, :id => users(:bob_smith_user) end - + it "logs in as another user" do get :login_as, :id => users(:bob_smith_user).id post_redirect = PostRedirect.get_last_post_redirect response.should redirect_to(:controller => 'user', :action => 'confirm', :email_token => post_redirect.email_token) end - + # See also "allows an admin to log in as another user" in spec/integration/admin_spec.rb end +describe AdminUserController, "when updating a user" do + + it "saves a change to 'can_make_batch_requests'" do + user = FactoryGirl.create(:user) + user.can_make_batch_requests?.should be_false + post :update, {:id => user.id, :admin_user => {:can_make_batch_requests => '1', + :name => user.name, + :email => user.email, + :admin_level => user.admin_level, + :ban_text => user.ban_text, + :about_me => user.about_me, + :no_limit => user.no_limit}} + flash[:notice].should == 'User successfully updated.' + response.should be_redirect + user = User.find(user.id) + user.can_make_batch_requests?.should be_true + end + +end diff --git a/spec/factories.rb b/spec/factories.rb index 7d8f94ac1..189fb02cb 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -123,6 +123,7 @@ FactoryGirl.define do salt "-6116981980.392287733335677" hashed_password '6b7cd45a5f35fd83febc0452a799530398bfb6e8' # jonespassword email_confirmed true + ban_text "" factory :admin_user do name 'Admin User' admin_level 'super' |