diff options
author | Seb Bacon <seb.bacon@gmail.com> | 2012-06-12 12:59:52 +0100 |
---|---|---|
committer | Seb Bacon <seb.bacon@gmail.com> | 2012-06-12 12:59:52 +0100 |
commit | 3e5bef9dd6fb11f39abd6f8e06262da97157ab24 (patch) | |
tree | c3dfc45fdd0216b7faa2e8b95a831e0eb6b350d9 | |
parent | b51b6d503c208daaa1bc4ed99afd6652ccfcd8d7 (diff) |
After a dry-run, cause the public body "import" button to use the data uploaded in the dry-run. Fixes #507
-rw-r--r-- | app/controllers/admin_public_body_controller.rb | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/app/controllers/admin_public_body_controller.rb b/app/controllers/admin_public_body_controller.rb index be733ab7d..285523e11 100644 --- a/app/controllers/admin_public_body_controller.rb +++ b/app/controllers/admin_public_body_controller.rb @@ -139,17 +139,20 @@ class AdminPublicBodyController < AdminController end def import_csv + 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 if params[:csv_file] - 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 + else + csv_contents = session.delete(:previous_csv) + end + if !csv_contents.nil? + # Try with dry run first en = PublicBody.import_csv(csv_contents, params[:tag], params[:tag_behaviour], true, admin_http_auth_user(), I18n.available_locales) errors = en[0] notes = en[1] @@ -157,6 +160,7 @@ class AdminPublicBodyController < AdminController if errors.size == 0 if dry_run_only notes.push("Dry run was successful, real run would do as above.") + session[:previous_csv] = csv_contents else # And if OK, with real run en = PublicBody.import_csv(csv_contents, params[:tag], params[:tag_behaviour], false, admin_http_auth_user(), I18n.available_locales) |