aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/admin_public_body_controller.rb
diff options
context:
space:
mode:
authorFrancis Irving <francis@mysociety.org>2010-07-13 23:54:46 +0100
committerFrancis Irving <francis@mysociety.org>2010-07-13 23:54:46 +0100
commit59395b3bdf19aed7bf5f77656afa6c31dad7e138 (patch)
treeb6e4c9f9e5b4a9f792a550ce3af727ae32b1cba1 /app/controllers/admin_public_body_controller.rb
parent452ac41f05f655a9fd23c8df4796f26632c23050 (diff)
parentda2c0aaf5f0d07baa3a355033a92d5dd295f2f13 (diff)
Merge branch 'master' into francis-profile-photo
Conflicts: app/views/user/show.rhtml commonlib spec/controllers/user_controller_spec.rb
Diffstat (limited to 'app/controllers/admin_public_body_controller.rb')
-rw-r--r--app/controllers/admin_public_body_controller.rb28
1 files changed, 20 insertions, 8 deletions
diff --git a/app/controllers/admin_public_body_controller.rb b/app/controllers/admin_public_body_controller.rb
index 74a3a86c6..bce04ff98 100644
--- a/app/controllers/admin_public_body_controller.rb
+++ b/app/controllers/admin_public_body_controller.rb
@@ -120,7 +120,15 @@ class AdminPublicBodyController < AdminController
def import_csv
if params[:csv_file]
- if not params[:tag].empty?
+ if !params[:tag].empty?
+ if params['commit'] == 'Dry run'
+ dry_run_only = true
+ elsif params['commit'] == 'Upload'
+ dry_run_only = false
+ else
+ raise "internal error, unknown button label"
+ end
+
# Try with dry run first
csv_contents = params[:csv_file].read
en = PublicBody.import_csv(csv_contents, params[:tag], true, admin_http_auth_user())
@@ -128,14 +136,18 @@ class AdminPublicBodyController < AdminController
notes = en[1]
if errors.size == 0
- # And if OK, with real run
- en = PublicBody.import_csv(csv_contents, params[:tag], false, admin_http_auth_user())
- errors = en[0]
- notes = en[1]
- if errors.size != 0
- raise "dry run mismatched real run"
+ if dry_run_only
+ notes.push("Dry run was successful, real run would do as above.")
+ else
+ # And if OK, with real run
+ en = PublicBody.import_csv(csv_contents, params[:tag], false, admin_http_auth_user())
+ errors = en[0]
+ notes = en[1]
+ if errors.size != 0
+ raise "dry run mismatched real run"
+ end
+ notes.push("Import was successful.")
end
- notes.push("Import was successful.")
end
@errors = errors.join("\n")
@notes = notes.join("\n")