From bcda4c186f1afade963acbf9707362478ca33fa1 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Thu, 17 Jan 2019 12:42:38 +0100 Subject: [PATCH 1/4] Don't allow templates on element types --- .../views/templates/templates.controller.js | 11 ++++- .../views/templates/templates.html | 43 +++++++++++-------- src/Umbraco.Web.UI/Umbraco/config/lang/da.xml | 3 ++ src/Umbraco.Web.UI/Umbraco/config/lang/en.xml | 1 + .../Umbraco/config/lang/en_us.xml | 1 + .../Editors/ContentTypeController.cs | 9 ++++ 6 files changed, 48 insertions(+), 20 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.controller.js b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.controller.js index 849b5ccd7b..1d825fdf26 100644 --- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.controller.js @@ -19,13 +19,13 @@ vm.canCreateTemplate = false; vm.updateTemplatePlaceholder = false; vm.loadingTemplates = false; + vm.isElement = $scope.model.isElement; vm.createTemplate = createTemplate; /* ---------- INIT ---------- */ function onInit() { - vm.loadingTemplates = true; entityResource.getAll("Template").then(function (templates) { @@ -86,6 +86,15 @@ vm.canCreateTemplate = existingTemplate ? false : true; } + var unbindWatcher = $scope.$watch("model.isElement", + function(newValue, oldValue) { + vm.isElement = newValue; + } + ); + $scope.$on("$destroy", function () { + unbindWatcher(); + }); + onInit(); } diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html index 8084497441..de62e151a3 100644 --- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html +++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html @@ -1,5 +1,5 @@
- +
@@ -9,29 +9,34 @@
- - + + - - + +
+ + An Element type can't have any templates + diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml index 7a370ba90e..c8a5f5f37e 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml @@ -1225,6 +1225,9 @@ Mange hilsner fra Umbraco robotten Medlem kan redigere Vis på medlemsprofil fane har ingen sorteringsrækkefølge + Er en Element-type + En Element-type er tiltænkt brug i f.eks. Nested Content, ikke i indholdstræet + En Element-type kan ikke have nogen skabeloner Alternativt felt diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml index 987203442a..de6f56ab75 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml @@ -1520,6 +1520,7 @@ To manage your website, simply open the Umbraco back office and start adding con Allow varying by culture Is an Element type An Element type is meant to be used for instance in Nested Content, and not in the tree + An Element type can't have templates assigned Building models diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml index 1860d3afc9..360dff6195 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml @@ -1561,6 +1561,7 @@ To manage your website, simply open the Umbraco back office and start adding con Allow varying by culture Is an Element type An Element type is meant to be used for instance in Nested Content, and not in the tree + An Element type can't have any templates Add language diff --git a/src/Umbraco.Web/Editors/ContentTypeController.cs b/src/Umbraco.Web/Editors/ContentTypeController.cs index 397f6b3e9d..d7ca2d19f6 100644 --- a/src/Umbraco.Web/Editors/ContentTypeController.cs +++ b/src/Umbraco.Web/Editors/ContentTypeController.cs @@ -263,6 +263,15 @@ namespace Umbraco.Web.Editors } } + //Before we send this model into this saving/mapping pipeline, we also need to do some cleanup on templates. + //If the doc type is an element type, it can't have any templates assigned, so we need to reset the allowed templates here. + if (contentTypeSave.IsElement) + { + contentTypeSave.AllowedTemplates = new string[] { }; + contentTypeSave.DefaultTemplate = null; + } + + var savedCt = PerformPostSave( contentTypeSave: contentTypeSave, getContentType: i => Services.ContentTypeService.Get(i), From a01c3133455bc6b45709ef414765454c9dbe97ca Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Thu, 17 Jan 2019 20:56:47 +0100 Subject: [PATCH 2/4] Hide "allow as root" and "allowed child node types" for element types --- .../views/documenttypes/views/permissions/permissions.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/permissions/permissions.html b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/permissions/permissions.html index 0d74c655d7..e890921ad4 100644 --- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/permissions/permissions.html +++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/permissions/permissions.html @@ -3,7 +3,7 @@ -
+
@@ -19,7 +19,7 @@
-
+
From 8f205e7d8f8dd91057f5bad3812b9842ffb62f3f Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Thu, 17 Jan 2019 20:57:18 +0100 Subject: [PATCH 3/4] Hide list view config for element types --- .../src/views/documenttypes/views/listview/listview.html | 9 +++++++-- .../views/documenttypes/views/templates/templates.html | 2 +- src/Umbraco.Web.UI/Umbraco/config/lang/da.xml | 2 +- src/Umbraco.Web.UI/Umbraco/config/lang/en.xml | 2 +- src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml | 2 +- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/listview/listview.html b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/listview/listview.html index 7d435adc6d..5cd04bd834 100644 --- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/listview/listview.html +++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/listview/listview.html @@ -1,4 +1,4 @@ - +
@@ -15,4 +15,9 @@
-
\ No newline at end of file +
+ + This is not applicable for an Element type + diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html index de62e151a3..385979a572 100644 --- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html +++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html @@ -37,6 +37,6 @@ - An Element type can't have any templates + This is not applicable for an Element type
diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml index c8a5f5f37e..e182d46ad9 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml @@ -1227,7 +1227,7 @@ Mange hilsner fra Umbraco robotten fane har ingen sorteringsrækkefølge Er en Element-type En Element-type er tiltænkt brug i f.eks. Nested Content, ikke i indholdstræet - En Element-type kan ikke have nogen skabeloner + Dette benyttes ikke for en Element-type Alternativt felt diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml index de6f56ab75..46efb59378 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml @@ -1520,7 +1520,7 @@ To manage your website, simply open the Umbraco back office and start adding con Allow varying by culture Is an Element type An Element type is meant to be used for instance in Nested Content, and not in the tree - An Element type can't have templates assigned + This is not applicable for an Element type Building models diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml index 360dff6195..24a08c7526 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml @@ -1561,7 +1561,7 @@ To manage your website, simply open the Umbraco back office and start adding con Allow varying by culture Is an Element type An Element type is meant to be used for instance in Nested Content, and not in the tree - An Element type can't have any templates + This is not applicable for an Element type Add language From fa8a754f88e0ece375b267ff9f2b3bed21031db6 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Thu, 17 Jan 2019 20:57:39 +0100 Subject: [PATCH 4/4] Don't reset templates for element types --- src/Umbraco.Web/Editors/ContentTypeController.cs | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/Umbraco.Web/Editors/ContentTypeController.cs b/src/Umbraco.Web/Editors/ContentTypeController.cs index d7ca2d19f6..397f6b3e9d 100644 --- a/src/Umbraco.Web/Editors/ContentTypeController.cs +++ b/src/Umbraco.Web/Editors/ContentTypeController.cs @@ -263,15 +263,6 @@ namespace Umbraco.Web.Editors } } - //Before we send this model into this saving/mapping pipeline, we also need to do some cleanup on templates. - //If the doc type is an element type, it can't have any templates assigned, so we need to reset the allowed templates here. - if (contentTypeSave.IsElement) - { - contentTypeSave.AllowedTemplates = new string[] { }; - contentTypeSave.DefaultTemplate = null; - } - - var savedCt = PerformPostSave( contentTypeSave: contentTypeSave, getContentType: i => Services.ContentTypeService.Get(i),