diff --git a/app/controllers/admin/backups_controller.rb b/app/controllers/admin/backups_controller.rb index 22e57fcc9..3539e2fa4 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 050201a6a..82b9e69dd 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