diff --git a/app/assets/javascripts/admin/controllers/admin_backups_index_controller.js b/app/assets/javascripts/admin/controllers/admin_backups_index_controller.js index c716ad4f32..119a375aa6 100644 --- a/app/assets/javascripts/admin/controllers/admin_backups_index_controller.js +++ b/app/assets/javascripts/admin/controllers/admin_backups_index_controller.js @@ -55,7 +55,10 @@ Discourse.AdminBackupsIndexController = Ember.ArrayController.extend({ I18n.t("no_value"), I18n.t("yes_value"), function(confirmed) { - if (confirmed) { self._toggleReadOnlyMode(true); } + if (confirmed) { + Discourse.User.currentProp("hideReadOnlyAlert", true); + self._toggleReadOnlyMode(true); + } } ); } else { diff --git a/app/assets/javascripts/admin/routes/admin_backups_route.js b/app/assets/javascripts/admin/routes/admin_backups_route.js index f77cf10b49..c835ea01c2 100644 --- a/app/assets/javascripts/admin/routes/admin_backups_route.js +++ b/app/assets/javascripts/admin/routes/admin_backups_route.js @@ -14,6 +14,7 @@ Discourse.AdminBackupsRoute = Discourse.Route.extend({ this.controllerFor("adminBackups").set("isOperationRunning", false); bootbox.alert(I18n.t("admin.backups.operations.failed", { operation: log.operation })); } else if (log.message === "[SUCCESS]") { + Discourse.User.currentProp("hideReadOnlyAlert", false); this.controllerFor("adminBackups").set("isOperationRunning", false); if (log.operation === "restore") { // redirect to homepage when the restore is done (session might be lost) @@ -53,6 +54,7 @@ Discourse.AdminBackupsRoute = Discourse.Route.extend({ I18n.t("yes_value"), function(confirmed) { if (confirmed) { + Discourse.User.currentProp("hideReadOnlyAlert", true); Discourse.Backup.start().then(function() { self.controllerFor("adminBackupsLogs").clear(); self.controllerFor("adminBackups").set("isOperationRunning", true); @@ -99,6 +101,7 @@ Discourse.AdminBackupsRoute = Discourse.Route.extend({ I18n.t("yes_value"), function(confirmed) { if (confirmed) { + Discourse.User.currentProp("hideReadOnlyAlert", true); backup.restore().then(function() { self.controllerFor("adminBackupsLogs").clear(); self.controllerFor("adminBackups").set("isOperationRunning", true); diff --git a/app/assets/javascripts/discourse/initializers/1_init_message_bus.js b/app/assets/javascripts/discourse/initializers/1_init_message_bus.js index 8d644b103c..17c114ff82 100644 --- a/app/assets/javascripts/discourse/initializers/1_init_message_bus.js +++ b/app/assets/javascripts/discourse/initializers/1_init_message_bus.js @@ -30,7 +30,7 @@ Discourse.addInitializer(function() { Discourse.MessageBus.subscribe("/global/read-only", function (enabled) { Discourse.set("isReadOnly", enabled); - if (enabled) { + if (enabled && !Discourse.User.currentProp("hideReadOnlyAlert")) { bootbox.alert(I18n.t("read_only_mode_enabled")); } });