diff --git a/src/Umbraco.Web.UI.Client/src/common/services/umbrequesthelper.service.js b/src/Umbraco.Web.UI.Client/src/common/services/umbrequesthelper.service.js index f0548faac7..fdc05d9297 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/umbrequesthelper.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/umbrequesthelper.service.js @@ -158,9 +158,10 @@ function umbRequestHelper($http, $q, umbDataFormatter, angularHelper, dialogServ //show a ysod dialog if (Umbraco.Sys.ServerVariables["isDebuggingEnabled"] === true) { - dialogService.ysodDialog({ - errorMsg: result.errorMsg, - data: result.data + eventsService.emit('app.ysod', + { + errorMsg: 'An error occured', + data: data }); } else { @@ -253,8 +254,9 @@ function umbRequestHelper($http, $q, umbDataFormatter, angularHelper, dialogServ } else if (Umbraco.Sys.ServerVariables["isDebuggingEnabled"] === true) { //show a ysod dialog - dialogService.ysodDialog({ - errorMsg: 'An error occurred', + eventsService.emit('app.ysod', + { + errorMsg: 'An error occured', data: data }); } diff --git a/src/Umbraco.Web.UI.Client/src/controllers/main.controller.js b/src/Umbraco.Web.UI.Client/src/controllers/main.controller.js index c953d96865..42d50b1ce7 100644 --- a/src/Umbraco.Web.UI.Client/src/controllers/main.controller.js +++ b/src/Umbraco.Web.UI.Client/src/controllers/main.controller.js @@ -118,6 +118,14 @@ function MainController($scope, $rootScope, $location, $routeParams, $timeout, $ })); + evts.push(eventsService.on("app.ysod", function(name, error) { + $scope.ysodOverlay = { + view: "ysod", + error: error, + show: true + }; + })); + //ensure to unregister from all events! $scope.$on('$destroy', function () { for (var e in evts) { diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/ysod/ysod.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/overlays/ysod/ysod.controller.js index 89f490d0d8..2b07b8830f 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/ysod/ysod.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/ysod/ysod.controller.js @@ -5,9 +5,9 @@ angular.module("umbraco") $scope.model.title = "Received an error from the server"; } - if ($scope.model.data && $scope.model.data.StackTrace) { + if ($scope.model.error && $scope.model.error.data && $scope.model.error.data.StackTrace) { //trim whitespace - $scope.model.data.StackTrace = $scope.model.data.StackTrace.trim(); + $scope.model.error.data.StackTrace = $scope.model.error.data.StackTrace.trim(); } }); diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/ysod/ysod.html b/src/Umbraco.Web.UI.Client/src/views/common/overlays/ysod/ysod.html index f28648a42a..4214f2d2d0 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/ysod/ysod.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/ysod/ysod.html @@ -1,15 +1,15 @@
{{model.data.ExceptionMessage || model.data.Message}}
+{{model.error.data.ExceptionMessage || model.error.data.Message}}
{{model.data.StackTrace}}
+ {{model.error.data.StackTrace}}