aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/admin_user_controller.rb1
-rw-r--r--app/views/admin_user/_form.html.erb9
-rw-r--r--db/migrate/20130919151140_add_can_make_batch_requests_to_user.rb5
-rw-r--r--spec/controllers/admin_user_controller_spec.rb23
-rw-r--r--spec/factories.rb1
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'