diff --git a/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js b/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js
index f8b0c8fef6..83f6414504 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js
@@ -286,6 +286,12 @@ angular.module('umbraco.services')
}
},
+ reloadNode: function (node) {
+ if(this.ui.treeEventHandler){
+ this.ui.treeEventHandler.reloadNode(node);
+ }
+ },
+
reloadSection: function (sectionAlias) {
if(this.ui.treeEventHandler){
this.ui.treeEventHandler.clearCache(sectionAlias);
diff --git a/src/Umbraco.Web.UI.Client/src/views/content/content.copy.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/content.copy.controller.js
index c915c978e8..3e15c08990 100644
--- a/src/Umbraco.Web.UI.Client/src/views/content/content.copy.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/content/content.copy.controller.js
@@ -1,6 +1,6 @@
angular.module("umbraco")
.controller("Umbraco.Editors.Content.CopyController",
- function ($scope, eventsService, contentResource, $log) {
+ function ($scope, eventsService, contentResource, navigationService, $log) {
var dialogOptions = $scope.$parent.dialogOptions;
$scope.dialogTreeEventHandler = $({});
@@ -18,7 +18,7 @@ angular.module("umbraco")
}
c.find("i.umb-tree-icon").hide()
- .after("");
+ .after("");
$scope.target = args.node;
$scope.selectedEl = c;
@@ -27,9 +27,12 @@ angular.module("umbraco")
$scope.copy = function(){
contentResource.copy({parentId: $scope.target.id, id: node.id, relateToOriginal: $scope.relate})
- .then(function(){
+ .then(function(path){
$scope.error = false;
$scope.success = true;
+
+ navigationService.syncPath(path, true);
+
},function(err){
$scope.success = false;
$scope.error = err;
diff --git a/src/Umbraco.Web.UI.Client/src/views/content/content.move.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/content.move.controller.js
index 7ba022353d..12acd9aa79 100644
--- a/src/Umbraco.Web.UI.Client/src/views/content/content.move.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/content/content.move.controller.js
@@ -1,6 +1,6 @@
//used for the media picker dialog
angular.module("umbraco").controller("Umbraco.Editors.Content.MoveController",
- function ($scope, eventsService, contentResource, $log) {
+ function ($scope, eventsService, contentResource, navigationService, $log) {
var dialogOptions = $scope.$parent.dialogOptions;
$scope.dialogTreeEventHandler = $({});
@@ -27,9 +27,15 @@ angular.module("umbraco").controller("Umbraco.Editors.Content.MoveController",
$scope.move = function(){
contentResource.move({parentId: $scope.target.id, id: node.id})
- .then(function(){
+ .then(function(path){
$scope.error = false;
$scope.success = true;
+
+ //reloads the parent
+ navigationService.reloadNode(dialogOptions.currentNode.parent);
+
+ //reloads the target
+ navigationService.syncPath(path, true);
},function(err){
$scope.success = false;
$scope.error = err;
diff --git a/src/Umbraco.Web.UI.Client/src/views/datatype/datatype.edit.controller.js b/src/Umbraco.Web.UI.Client/src/views/datatype/datatype.edit.controller.js
index baea7df43c..1bfac972c7 100644
--- a/src/Umbraco.Web.UI.Client/src/views/datatype/datatype.edit.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/datatype/datatype.edit.controller.js
@@ -101,6 +101,8 @@ function DataTypeEditController($scope, $routeParams, $location, dataTypeResourc
}
});
+ navigationService.syncPath([String(data.id)]);
+
}, function(err) {
//NOTE: in the case of data type values we are setting the orig/new props
diff --git a/src/Umbraco.Web/Editors/ContentController.cs b/src/Umbraco.Web/Editors/ContentController.cs
index d157a20818..a5fe178f34 100644
--- a/src/Umbraco.Web/Editors/ContentController.cs
+++ b/src/Umbraco.Web/Editors/ContentController.cs
@@ -458,13 +458,12 @@ namespace Umbraco.Web.Editors
///
///
[EnsureUserPermissionForContent("move.ParentId", 'M')]
- public HttpResponseMessage PostMove(MoveOrCopy move)
+ public string PostMove(MoveOrCopy move)
{
var toMove = ValidateMoveOrCopy(move);
Services.ContentService.Move(toMove, move.ParentId);
-
- return Request.CreateResponse(HttpStatusCode.OK);
+ return toMove.Path;
}
///
@@ -473,13 +472,12 @@ namespace Umbraco.Web.Editors
///
///
[EnsureUserPermissionForContent("copy.ParentId", 'C')]
- public HttpResponseMessage PostCopy(MoveOrCopy copy)
+ public string PostCopy(MoveOrCopy copy)
{
var toCopy = ValidateMoveOrCopy(copy);
- Services.ContentService.Copy(toCopy, copy.ParentId, copy.RelateToOriginal);
-
- return Request.CreateResponse(HttpStatusCode.OK);
+ var c = Services.ContentService.Copy(toCopy, copy.ParentId, copy.RelateToOriginal);
+ return c.Path;
}
///