From ccf9b7067135f37bde23c80456d21b2d1924f858 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Fri, 24 Jun 2016 17:14:47 -0400 Subject: [PATCH] When restoring a backup, disable emails. This prevents accidental sending of emails after a restore before the admin has had a chance to review everything. --- app/controllers/admin/backups_controller.rb | 1 + spec/controllers/admin/backups_controller_spec.rb | 2 ++ 2 files changed, 3 insertions(+) diff --git a/app/controllers/admin/backups_controller.rb b/app/controllers/admin/backups_controller.rb index 22e57fcc9a4..3539e2fa479 100644 --- a/app/controllers/admin/backups_controller.rb +++ b/app/controllers/admin/backups_controller.rb @@ -77,6 +77,7 @@ class Admin::BackupsController < Admin::AdminController client_id: params.fetch(:client_id), publish_to_message_bus: true, } + SiteSetting.set_and_log(:disable_emails, true, current_user) BackupRestore.restore!(current_user.id, opts) rescue BackupRestore::OperationRunningError render json: failed_json.merge(message: I18n.t("backup.operation_already_running")) diff --git a/spec/controllers/admin/backups_controller_spec.rb b/spec/controllers/admin/backups_controller_spec.rb index 050201a6ab0..82b9e69dd53 100644 --- a/spec/controllers/admin/backups_controller_spec.rb +++ b/spec/controllers/admin/backups_controller_spec.rb @@ -151,10 +151,12 @@ describe Admin::BackupsController do describe ".restore" do it "starts a restore" do + expect(SiteSetting.disable_emails).to eq(false) BackupRestore.expects(:restore!).with(@admin.id, filename: backup_filename, publish_to_message_bus: true, client_id: "foo") xhr :post, :restore, id: backup_filename, client_id: "foo" + expect(SiteSetting.disable_emails).to eq(true) expect(response).to be_success end