diff --git a/src/Umbraco.Web.UI/config/trees.config b/src/Umbraco.Web.UI/config/trees.config
index cf546ed6f5..2b99f8751f 100644
--- a/src/Umbraco.Web.UI/config/trees.config
+++ b/src/Umbraco.Web.UI/config/trees.config
@@ -11,7 +11,6 @@
-
@@ -20,7 +19,8 @@
-
+
+
@@ -29,7 +29,7 @@
-
+
diff --git a/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs b/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs
index 145a0f5947..5cb63d7409 100644
--- a/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs
+++ b/src/Umbraco.Web/Trees/ContentBlueprintTreeController.cs
@@ -19,7 +19,7 @@ namespace Umbraco.Web.Trees
/// This authorizes based on access to the content section even though it exists in the settings
///
[UmbracoApplicationAuthorize(Constants.Applications.Content)]
- [Tree(Constants.Applications.Settings, Constants.Trees.ContentBlueprints, null, sortOrder: 10)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.ContentBlueprints, null, sortOrder: 12)]
[PluginController("UmbracoTrees")]
[CoreTree]
public class ContentBlueprintTreeController : TreeController
@@ -30,7 +30,7 @@ namespace Umbraco.Web.Trees
var root = base.CreateRootNode(queryStrings);
//this will load in a custom UI instead of the dashboard for the root node
- root.RoutePath = string.Format("{0}/{1}/{2}", Constants.Applications.Settings, Constants.Trees.ContentBlueprints, "intro");
+ root.RoutePath = $"{Constants.Applications.Settings}/{Constants.Trees.ContentBlueprints}/intro";
return root;
}
@@ -58,7 +58,7 @@ namespace Umbraco.Web.Trees
.Select(entity =>
{
var treeNode = CreateTreeNode(entity, Constants.ObjectTypes.DocumentBlueprint, id, queryStrings, "icon-item-arrangement", true);
- treeNode.Path = string.Format("-1,{0}", entity.Id);
+ treeNode.Path = $"-1,{entity.Id}";
treeNode.NodeType = "document-type-blueprints";
//TODO: This isn't the best way to ensure a noop process for clicking a node but it works for now.
treeNode.AdditionalData["jsClickCallback"] = "javascript:void(0);";
@@ -92,8 +92,9 @@ namespace Umbraco.Web.Trees
if (id == Constants.System.Root.ToInvariantString())
{
// root actions
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)), true);
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
+ menu.Items.Add(Services.TextService.Localize(
+ $"actions/{ActionRefresh.Instance.Alias}"), true);
return menu;
}
var cte = Services.EntityService.Get(int.Parse(id), UmbracoObjectTypes.DocumentType);
diff --git a/src/Umbraco.Web/Trees/DataTypeTreeController.cs b/src/Umbraco.Web/Trees/DataTypeTreeController.cs
index 99b94b544c..6544786d0e 100644
--- a/src/Umbraco.Web/Trees/DataTypeTreeController.cs
+++ b/src/Umbraco.Web/Trees/DataTypeTreeController.cs
@@ -17,7 +17,7 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.DataTypes)]
- [Tree(Constants.Applications.Settings, Constants.Trees.DataTypes, null, sortOrder:7)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.DataTypes, null, sortOrder:3)]
[PluginController("UmbracoTrees")]
[CoreTree]
public class DataTypeTreeController : TreeController, ISearchableTree
@@ -87,7 +87,7 @@ namespace Umbraco.Web.Trees
menu.DefaultMenuAlias = ActionNew.Instance.Alias;
// root actions
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
menu.Items.Add(Services.TextService.Localize("actions", ActionRefresh.Instance.Alias), true);
return menu;
}
@@ -98,9 +98,9 @@ namespace Umbraco.Web.Trees
//set the default to create
menu.DefaultMenuAlias = ActionNew.Instance.Alias;
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
- menu.Items.Add(new MenuItem("rename", Services.TextService.Localize(String.Format("actions/{0}", "rename")))
+ menu.Items.Add(new MenuItem("rename", Services.TextService.Localize("actions/rename"))
{
Icon = "icon icon-edit"
});
@@ -108,9 +108,10 @@ namespace Umbraco.Web.Trees
if (container.HasChildren == false)
{
//can delete data type
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionDelete.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionDelete.Instance.Alias}"));
}
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)), hasSeparator: true);
+ menu.Items.Add(Services.TextService.Localize(
+ $"actions/{ActionRefresh.Instance.Alias}"), hasSeparator: true);
}
else
{
@@ -118,10 +119,10 @@ namespace Umbraco.Web.Trees
if (sysIds.Contains(int.Parse(id)) == false)
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionDelete.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionDelete.Instance.Alias}"));
}
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionMove.Instance.Alias)), hasSeparator: true);
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionMove.Instance.Alias}"), hasSeparator: true);
}
return menu;
diff --git a/src/Umbraco.Web/Trees/DictionaryTreeController.cs b/src/Umbraco.Web/Trees/DictionaryTreeController.cs
index dda14f5054..27039832c9 100644
--- a/src/Umbraco.Web/Trees/DictionaryTreeController.cs
+++ b/src/Umbraco.Web/Trees/DictionaryTreeController.cs
@@ -13,7 +13,7 @@ namespace Umbraco.Web.Trees
[UmbracoTreeAuthorize(Constants.Trees.Dictionary)]
[Mvc.PluginController("UmbracoTrees")]
[CoreTree]
- [Tree(Constants.Applications.Translation, Constants.Trees.Dictionary, null, sortOrder: 3)]
+ [Tree(Constants.Applications.Translation, Constants.Trees.Dictionary, null, sortOrder: 0)]
public class DictionaryTreeController : TreeController
{
protected override TreeNode CreateRootNode(FormDataCollection queryStrings)
diff --git a/src/Umbraco.Web/Trees/LanguageTreeController.cs b/src/Umbraco.Web/Trees/LanguageTreeController.cs
index eadb5c50d0..b65906d152 100644
--- a/src/Umbraco.Web/Trees/LanguageTreeController.cs
+++ b/src/Umbraco.Web/Trees/LanguageTreeController.cs
@@ -7,7 +7,7 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.Languages)]
- [Tree(Constants.Applications.Settings, Constants.Trees.Languages, null, sortOrder: 5)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.Languages, null, sortOrder: 11)]
[PluginController("UmbracoTrees")]
[CoreTree]
public class LanguageTreeController : TreeController
@@ -33,7 +33,7 @@ namespace Umbraco.Web.Trees
var root = base.CreateRootNode(queryStrings);
//this will load in a custom UI instead of the dashboard for the root node
- root.RoutePath = string.Format("{0}/{1}/{2}", Constants.Applications.Settings, Constants.Trees.Languages, "overview");
+ root.RoutePath = $"{Constants.Applications.Settings}/{Constants.Trees.Languages}/overview";
root.Icon = "icon-globe";
root.HasChildren = false;
root.MenuUrl = null;
diff --git a/src/Umbraco.Web/Trees/MacrosTreeController.cs b/src/Umbraco.Web/Trees/MacrosTreeController.cs
index e1d0e17acc..66f92ffdc0 100644
--- a/src/Umbraco.Web/Trees/MacrosTreeController.cs
+++ b/src/Umbraco.Web/Trees/MacrosTreeController.cs
@@ -13,10 +13,11 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.Macros)]
- [Tree(Constants.Applications.Settings, Constants.Trees.Macros, "Macros", sortOrder: 2)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.Macros, "Macros", sortOrder: 4)]
[PluginController("UmbracoTrees")]
[CoreTree]
- public class MacrosTreeController : TreeController
+ public class
+ MacrosTreeController : TreeController
{
protected override TreeNodeCollection GetTreeNodes(string id, FormDataCollection queryStrings)
{
diff --git a/src/Umbraco.Web/Trees/MediaTypeTreeController.cs b/src/Umbraco.Web/Trees/MediaTypeTreeController.cs
index 086c1a5194..55a15b683c 100644
--- a/src/Umbraco.Web/Trees/MediaTypeTreeController.cs
+++ b/src/Umbraco.Web/Trees/MediaTypeTreeController.cs
@@ -16,7 +16,7 @@ using Umbraco.Web.Search;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.MediaTypes)]
- [Tree(Constants.Applications.Settings, Constants.Trees.MediaTypes, null, sortOrder:9)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.MediaTypes, null, sortOrder:1)]
[Mvc.PluginController("UmbracoTrees")]
[CoreTree]
public class MediaTypeTreeController : TreeController, ISearchableTree
@@ -73,8 +73,9 @@ namespace Umbraco.Web.Trees
menu.DefaultMenuAlias = ActionNew.Instance.Alias;
// root actions
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
+ menu.Items.Add(Services.TextService.Localize(
+ $"actions/{ActionRefresh.Instance.Alias}"));
return menu;
}
@@ -84,9 +85,9 @@ namespace Umbraco.Web.Trees
//set the default to create
menu.DefaultMenuAlias = ActionNew.Instance.Alias;
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
- menu.Items.Add(new MenuItem("rename", Services.TextService.Localize(String.Format("actions/{0}", "rename")))
+ menu.Items.Add(new MenuItem("rename", Services.TextService.Localize("actions/rename"))
{
Icon = "icon icon-edit"
});
@@ -94,9 +95,10 @@ namespace Umbraco.Web.Trees
if (container.HasChildren == false)
{
//can delete doc type
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionDelete.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionDelete.Instance.Alias}"));
}
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)), hasSeparator: true);
+ menu.Items.Add(Services.TextService.Localize(
+ $"actions/{ActionRefresh.Instance.Alias}"), hasSeparator: true);
}
else
{
@@ -105,28 +107,29 @@ namespace Umbraco.Web.Trees
if (enableInheritedMediaTypes)
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"));
//no move action if this is a child doc type
if (parent == null)
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionMove.Instance.Alias)), true);
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionMove.Instance.Alias}"), true);
}
}
else
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionMove.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionMove.Instance.Alias}"));
//no move action if this is a child doc type
if (parent == null)
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionMove.Instance.Alias)), true);
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionMove.Instance.Alias}"), true);
}
}
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionCopy.Instance.Alias)));
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionDelete.Instance.Alias)));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionCopy.Instance.Alias}"));
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionDelete.Instance.Alias}"));
if (enableInheritedMediaTypes)
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)), true);
+ menu.Items.Add(Services.TextService.Localize(
+ $"actions/{ActionRefresh.Instance.Alias}"), true);
}
return menu;
diff --git a/src/Umbraco.Web/Trees/MemberGroupTreeController.cs b/src/Umbraco.Web/Trees/MemberGroupTreeController.cs
index d1a0d2c318..b9910c7b31 100644
--- a/src/Umbraco.Web/Trees/MemberGroupTreeController.cs
+++ b/src/Umbraco.Web/Trees/MemberGroupTreeController.cs
@@ -8,7 +8,7 @@ using Umbraco.Web.WebApi.Filters;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.MemberGroups)]
- [Tree(Constants.Applications.Members, Constants.Trees.MemberGroups, null, sortOrder: 2)]
+ [Tree(Constants.Applications.Members, Constants.Trees.MemberGroups, null, sortOrder: 1)]
[Mvc.PluginController("UmbracoTrees")]
[CoreTree]
public class MemberGroupTreeController : MemberTypeAndGroupTreeControllerBase
diff --git a/src/Umbraco.Web/Trees/MemberTypeTreeController.cs b/src/Umbraco.Web/Trees/MemberTypeTreeController.cs
index 10b5d35b6e..56b836ce8a 100644
--- a/src/Umbraco.Web/Trees/MemberTypeTreeController.cs
+++ b/src/Umbraco.Web/Trees/MemberTypeTreeController.cs
@@ -8,7 +8,7 @@ using Umbraco.Web.WebApi.Filters;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.MemberTypes)]
- [Tree(Constants.Applications.Settings, Constants.Trees.MemberTypes, null, sortOrder: 1)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.MemberTypes, null, sortOrder: 2)]
public class MemberTypeTreeController : MemberTypeAndGroupTreeControllerBase
{
protected override IEnumerable GetTreeNodesFromService(string id, FormDataCollection queryStrings)
diff --git a/src/Umbraco.Web/Trees/PackagesTreeController.cs b/src/Umbraco.Web/Trees/PackagesTreeController.cs
index 8e572139ca..31f577ad85 100644
--- a/src/Umbraco.Web/Trees/PackagesTreeController.cs
+++ b/src/Umbraco.Web/Trees/PackagesTreeController.cs
@@ -27,7 +27,7 @@ namespace Umbraco.Web.Trees
{
var root = base.CreateRootNode(queryStrings);
- root.RoutePath = $"{Constants.Applications.Packages}/{Constants.Trees.Packages}/{"overview"}";
+ root.RoutePath = $"{Constants.Applications.Packages}/{Constants.Trees.Packages}/overview";
root.Icon = "icon-box";
@@ -47,9 +47,7 @@ namespace Umbraco.Web.Trees
.Select(dt =>
{
var node = CreateTreeNode(dt.Data.Id.ToString(), id, queryStrings, dt.Data.Name, "icon-inbox", false,
- string.Format("/{0}/framed/{1}",
- queryStrings.GetValue("application"),
- Uri.EscapeDataString("developer/Packages/EditPackage.aspx?id=" + dt.Data.Id)));
+ $"/{queryStrings.GetValue("application")}/framed/{Uri.EscapeDataString("developer/Packages/EditPackage.aspx?id=" + dt.Data.Id)}");
return node;
}));
}
@@ -85,16 +83,16 @@ namespace Umbraco.Web.Trees
// Root actions
if (id == "-1")
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)))
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"))
.ConvertLegacyMenuItem(null, Constants.Trees.Packages, queryStrings.GetValue("application"));
}
else if (id == "created")
{
- menu.Items.Add(Services.TextService.Localize(string.Format("actions/{0}", ActionNew.Instance.Alias)))
+ menu.Items.Add(Services.TextService.Localize($"actions/{ActionNew.Instance.Alias}"))
.ConvertLegacyMenuItem(null, Constants.Trees.Packages, queryStrings.GetValue("application"));
menu.Items.Add(
- Services.TextService.Localize(string.Format("actions/{0}", ActionRefresh.Instance.Alias)), true);
+ Services.TextService.Localize($"actions/{ActionRefresh.Instance.Alias}"), true);
}
else
{
diff --git a/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs b/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs
index 43fe068334..882cfb2c9f 100644
--- a/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs
+++ b/src/Umbraco.Web/Trees/PartialViewMacrosTreeController.cs
@@ -10,7 +10,7 @@ namespace Umbraco.Web.Trees
///
/// Tree for displaying partial view macros in the developer app
///
- [Tree(Constants.Applications.Settings, Constants.Trees.PartialViewMacros, null, sortOrder: 6)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.PartialViewMacros, null, sortOrder: 8)]
[UmbracoTreeAuthorize(Constants.Trees.PartialViewMacros)]
[PluginController("UmbracoTrees")]
[CoreTree]
diff --git a/src/Umbraco.Web/Trees/PartialViewsTreeController.cs b/src/Umbraco.Web/Trees/PartialViewsTreeController.cs
index aaaeb2d175..41c53fdc99 100644
--- a/src/Umbraco.Web/Trees/PartialViewsTreeController.cs
+++ b/src/Umbraco.Web/Trees/PartialViewsTreeController.cs
@@ -11,7 +11,7 @@ namespace Umbraco.Web.Trees
///
/// Tree for displaying partial views in the settings app
///
- [Tree(Constants.Applications.Settings, Constants.Trees.PartialViews, null, sortOrder: 2)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.PartialViews, null, sortOrder: 7)]
[UmbracoTreeAuthorize(Constants.Trees.PartialViews)]
[PluginController("UmbracoTrees")]
[CoreTree]
diff --git a/src/Umbraco.Web/Trees/RelationTypeTreeController.cs b/src/Umbraco.Web/Trees/RelationTypeTreeController.cs
index 0a70c446a0..e35a9a23b6 100644
--- a/src/Umbraco.Web/Trees/RelationTypeTreeController.cs
+++ b/src/Umbraco.Web/Trees/RelationTypeTreeController.cs
@@ -12,7 +12,7 @@ using Umbraco.Core.Models.Entities;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.RelationTypes)]
- [Tree(Constants.Applications.Settings, Constants.Trees.RelationTypes, null, sortOrder: 4)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.RelationTypes, null, sortOrder: 5)]
[Mvc.PluginController("UmbracoTrees")]
[CoreTree]
public class RelationTypeTreeController : TreeController
diff --git a/src/Umbraco.Web/Trees/ScriptsTreeController.cs b/src/Umbraco.Web/Trees/ScriptsTreeController.cs
index 57a50cde5d..97053993b4 100644
--- a/src/Umbraco.Web/Trees/ScriptsTreeController.cs
+++ b/src/Umbraco.Web/Trees/ScriptsTreeController.cs
@@ -6,7 +6,7 @@ using Umbraco.Web.Models.Trees;
namespace Umbraco.Web.Trees
{
- [Tree(Constants.Applications.Settings, Constants.Trees.Scripts, "Scripts", "icon-folder", "icon-folder", sortOrder: 4)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.Scripts, "Scripts", "icon-folder", "icon-folder", sortOrder: 10)]
public class ScriptsTreeController : FileSystemTreeController
{
protected override IFileSystem FileSystem => Current.FileSystems.ScriptsFileSystem; // fixme inject
diff --git a/src/Umbraco.Web/Trees/StylesheetsTreeController.cs b/src/Umbraco.Web/Trees/StylesheetsTreeController.cs
index 650407296e..365f427e18 100644
--- a/src/Umbraco.Web/Trees/StylesheetsTreeController.cs
+++ b/src/Umbraco.Web/Trees/StylesheetsTreeController.cs
@@ -4,7 +4,7 @@ using Umbraco.Web.Composing;
namespace Umbraco.Web.Trees
{
- [Tree(Constants.Applications.Settings, Constants.Trees.Stylesheets, "Stylesheets", "icon-folder", "icon-folder", sortOrder: 3)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.Stylesheets, "Stylesheets", "icon-folder", "icon-folder", sortOrder: 9)]
public class StylesheetsTreeController : FileSystemTreeController
{
protected override IFileSystem FileSystem => Current.FileSystems.StylesheetsFileSystem; // fixme inject
diff --git a/src/Umbraco.Web/Trees/TemplatesTreeController.cs b/src/Umbraco.Web/Trees/TemplatesTreeController.cs
index d9aa0f21a0..521475413c 100644
--- a/src/Umbraco.Web/Trees/TemplatesTreeController.cs
+++ b/src/Umbraco.Web/Trees/TemplatesTreeController.cs
@@ -19,7 +19,7 @@ using Constants = Umbraco.Core.Constants;
namespace Umbraco.Web.Trees
{
[UmbracoTreeAuthorize(Constants.Trees.Templates)]
- [Tree(Constants.Applications.Settings, Constants.Trees.Templates, null, sortOrder:1)]
+ [Tree(Constants.Applications.Settings, Constants.Trees.Templates, null, sortOrder:6)]
[PluginController("UmbracoTrees")]
[CoreTree]
public class TemplatesTreeController : TreeController, ISearchableTree
@@ -70,7 +70,7 @@ namespace Umbraco.Web.Trees
//Create the normal create action
var item = menu.Items.Add(Services.TextService.Localize("actions", ActionNew.Instance.Alias));
- item.NavigateToRoute(string.Format("{0}/templates/edit/{1}?create=true", queryStrings.GetValue("application"), id));
+ item.NavigateToRoute($"{queryStrings.GetValue("application")}/templates/edit/{id}?create=true");
if (id == Constants.System.Root.ToInvariantString())
{