From c455c1f930726d0516541a4413721fd5bb34058b Mon Sep 17 00:00:00 2001 From: Per Ploug Date: Mon, 19 Oct 2015 08:44:21 +0200 Subject: [PATCH] Fixed: U4-7175 Discard changes overlay sometimes breaks the url --- .../views/documenttypes/create.controller.js | 5 +- .../src/views/mediatypes/create.controller.js | 4 +- .../views/membertypes/create.controller.js | 48 +++++++++++++++++ .../src/views/membertypes/create.html | 51 +++++++++++++++++++ 4 files changed, 102 insertions(+), 6 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/views/membertypes/create.controller.js create mode 100644 src/Umbraco.Web.UI.Client/src/views/membertypes/create.html diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/create.controller.js b/src/Umbraco.Web.UI.Client/src/views/documenttypes/create.controller.js index 87ae27a279..0c9d027646 100644 --- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/create.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/create.controller.js @@ -30,7 +30,6 @@ function DocumentTypesCreateController($scope, $location, navigationService, con formHelper.resetForm({ scope: $scope }); var section = appState.getSectionState("currentSection"); - $location.path("/" + section + "/documenttypes/list/" + folderId); }, function(err) { @@ -43,14 +42,14 @@ function DocumentTypesCreateController($scope, $location, navigationService, con $scope.createDocType = function() { $location.search('create', null); $location.search('notemplate', null); - $location.path("/settings/documenttypes/edit/" + node.id).search("create", true); + $location.path("/settings/documenttypes/edit/" + node.id).search("create", "true"); navigationService.hideMenu(); } $scope.createComponent = function() { $location.search('create', null); $location.search('notemplate', null); - $location.path("/settings/documenttypes/edit/" + node.id).search("create", true).search("notemplate", true); + $location.path("/settings/documenttypes/edit/" + node.id).search("create", "true").search("notemplate", "true"); navigationService.hideMenu(); } } diff --git a/src/Umbraco.Web.UI.Client/src/views/mediatypes/create.controller.js b/src/Umbraco.Web.UI.Client/src/views/mediatypes/create.controller.js index 3497573169..d6303ea264 100644 --- a/src/Umbraco.Web.UI.Client/src/views/mediatypes/create.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/mediatypes/create.controller.js @@ -31,8 +31,6 @@ function MediaTypesCreateController($scope, $location, navigationService, mediaT var section = appState.getSectionState("currentSection"); - $location.path("/" + section + "/mediatypes/list/" + folderId); - }, function(err) { //TODO: Handle errors @@ -42,7 +40,7 @@ function MediaTypesCreateController($scope, $location, navigationService, mediaT $scope.createMediaType = function() { $location.search('create', null); - $location.path("/settings/mediatypes/edit/" + node.id).search("create", true); + $location.path("/settings/mediatypes/edit/" + node.id).search("create", "true"); navigationService.hideMenu(); } } diff --git a/src/Umbraco.Web.UI.Client/src/views/membertypes/create.controller.js b/src/Umbraco.Web.UI.Client/src/views/membertypes/create.controller.js new file mode 100644 index 0000000000..e696bd45d6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/membertypes/create.controller.js @@ -0,0 +1,48 @@ +/** + * @ngdoc controller + * @name Umbraco.Editors.MemberType.CreateController + * @function + * + * @description + * The controller for the member type creation dialog + */ +function MemberTypesCreateController($scope, $location, navigationService, memberTypeResource, formHelper, appState) { + + $scope.model = { + folderName: "", + creatingFolder: false + }; + + var node = $scope.dialogOptions.currentNode; + + $scope.showCreateFolder = function() { + $scope.model.creatingFolder = true; + } + + $scope.createFolder = function () { + if (formHelper.submitForm({ scope: $scope, formCtrl: this.createFolderForm, statusMessage: "Creating folder..." })) { + memberTypeResource.createFolder(node.id, $scope.model.folderName).then(function (folderId) { + + navigationService.hideMenu(); + var currPath = node.path ? node.path : "-1"; + navigationService.syncTree({ tree: "membertypes", path: currPath + "," + folderId, forceReload: true, activate: true }); + + formHelper.resetForm({ scope: $scope }); + + var section = appState.getSectionState("currentSection"); + + }, function(err) { + + //TODO: Handle errors + }); + }; + } + + $scope.createMemberType = function() { + $location.search('create', null); + $location.path("/settings/membertypes/edit/" + node.id).search("create", "true"); + navigationService.hideMenu(); + } +} + +angular.module('umbraco').controller("Umbraco.Editors.MemberTypes.CreateController", MemberTypesCreateController); diff --git a/src/Umbraco.Web.UI.Client/src/views/membertypes/create.html b/src/Umbraco.Web.UI.Client/src/views/membertypes/create.html new file mode 100644 index 0000000000..37f83aea5f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/membertypes/create.html @@ -0,0 +1,51 @@ + + +