From 2204a57a8d2b0d143e473e4c9e50540d34e718a7 Mon Sep 17 00:00:00 2001 From: Elitsa Marinovska Date: Wed, 13 Jan 2021 11:02:29 +0100 Subject: [PATCH] Signature changes of GetMenuForNode() & PerformGetMenuForNode() --- .../Trees/ContentBlueprintTreeController.cs | 5 +++-- .../Trees/ContentTreeController.cs | 6 +++--- .../Trees/ContentTreeControllerBase.cs | 4 ++-- .../Trees/ContentTypeTreeController.cs | 5 +++-- .../Trees/DataTypeTreeController.cs | 5 +++-- .../Trees/DictionaryTreeController.cs | 5 +++-- .../Trees/FileSystemTreeController.cs | 5 +++-- .../Trees/LanguageTreeController.cs | 3 ++- .../Trees/LogViewerTreeController.cs | 5 +++-- src/Umbraco.Web.BackOffice/Trees/MacrosTreeController.cs | 5 +++-- src/Umbraco.Web.BackOffice/Trees/MediaTreeController.cs | 9 +++++---- .../Trees/MediaTypeTreeController.cs | 5 +++-- src/Umbraco.Web.BackOffice/Trees/MemberTreeController.cs | 4 ++-- .../Trees/MemberTypeAndGroupTreeControllerBase.cs | 5 +++-- .../Trees/PackagesTreeController.cs | 5 +++-- .../Trees/RelationTypeTreeController.cs | 5 +++-- .../Trees/TemplatesTreeController.cs | 3 ++- src/Umbraco.Web.BackOffice/Trees/TreeControllerBase.cs | 8 ++++---- src/Umbraco.Web.BackOffice/Trees/UserTreeController.cs | 5 +++-- 19 files changed, 56 insertions(+), 41 deletions(-) diff --git a/src/Umbraco.Web.BackOffice/Trees/ContentBlueprintTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/ContentBlueprintTreeController.cs index e232bf03b9..f1ea8329b8 100644 --- a/src/Umbraco.Web.BackOffice/Trees/ContentBlueprintTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/ContentBlueprintTreeController.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Umbraco.Core; using Umbraco.Core.Models; using Umbraco.Core.Models.Entities; @@ -112,7 +113,7 @@ namespace Umbraco.Web.BackOffice.Trees return nodes; } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { var menu = _menuItemCollectionFactory.Create(); diff --git a/src/Umbraco.Web.BackOffice/Trees/ContentTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/ContentTreeController.cs index 5cdd356296..8ec0bfe449 100644 --- a/src/Umbraco.Web.BackOffice/Trees/ContentTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/ContentTreeController.cs @@ -143,7 +143,7 @@ namespace Umbraco.Web.BackOffice.Trees return null; } - protected override MenuItemCollection PerformGetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult PerformGetMenuForNode(string id, FormCollection queryStrings) { if (id == Constants.System.RootString) { @@ -187,12 +187,12 @@ namespace Umbraco.Web.BackOffice.Trees int iid; if (int.TryParse(id, out iid) == false) { - throw new HttpResponseException(HttpStatusCode.NotFound); + return NotFound(); } var item = _entityService.Get(iid, UmbracoObjectTypes.Document); if (item == null) { - throw new HttpResponseException(HttpStatusCode.NotFound); + return NotFound(); } //if the user has no path access for this node, all they can do is refresh diff --git a/src/Umbraco.Web.BackOffice/Trees/ContentTreeControllerBase.cs b/src/Umbraco.Web.BackOffice/Trees/ContentTreeControllerBase.cs index 047778720b..14120825c9 100644 --- a/src/Umbraco.Web.BackOffice/Trees/ContentTreeControllerBase.cs +++ b/src/Umbraco.Web.BackOffice/Trees/ContentTreeControllerBase.cs @@ -253,7 +253,7 @@ namespace Umbraco.Web.BackOffice.Trees return parts.Length >= 2 && int.TryParse(parts[1], out id) ? id : 0; } - protected abstract MenuItemCollection PerformGetMenuForNode(string id, FormCollection queryStrings); + protected abstract ActionResult PerformGetMenuForNode(string id, FormCollection queryStrings); protected abstract UmbracoObjectTypes UmbracoObjectType { get; } @@ -432,7 +432,7 @@ namespace Umbraco.Web.BackOffice.Trees /// /// /// - protected sealed override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected sealed override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { if (RecycleBinId.ToInvariantString() == id) { diff --git a/src/Umbraco.Web.BackOffice/Trees/ContentTypeTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/ContentTypeTreeController.cs index 25c48b94bd..defe628123 100644 --- a/src/Umbraco.Web.BackOffice/Trees/ContentTypeTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/ContentTypeTreeController.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Umbraco.Core; using Umbraco.Core.Models; using Umbraco.Core.Services; @@ -97,7 +98,7 @@ namespace Umbraco.Web.BackOffice.Trees return nodes; } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { var menu = _menuItemCollectionFactory.Create(); diff --git a/src/Umbraco.Web.BackOffice/Trees/DataTypeTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/DataTypeTreeController.cs index 30389fb1be..9a8c94e686 100644 --- a/src/Umbraco.Web.BackOffice/Trees/DataTypeTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/DataTypeTreeController.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Http; @@ -15,6 +15,7 @@ using Umbraco.Web.Common.Attributes; using Umbraco.Web.Trees; using Umbraco.Web.WebApi; using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; using Umbraco.Web.Common.Authorization; using Umbraco.Core.Trees; @@ -119,7 +120,7 @@ namespace Umbraco.Web.BackOffice.Trees }; } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { var menu = _menuItemCollectionFactory.Create(); diff --git a/src/Umbraco.Web.BackOffice/Trees/DictionaryTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/DictionaryTreeController.cs index 2dd145c654..ae9131c9e7 100644 --- a/src/Umbraco.Web.BackOffice/Trees/DictionaryTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/DictionaryTreeController.cs @@ -1,7 +1,8 @@ -using System; +using System; using System.Linq; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Umbraco.Core; using Umbraco.Core.Models; using Umbraco.Core.Services; @@ -109,7 +110,7 @@ namespace Umbraco.Web.BackOffice.Trees /// All of the query string parameters passed from jsTree /// /// - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { var menu = _menuItemCollectionFactory.Create(); diff --git a/src/Umbraco.Web.BackOffice/Trees/FileSystemTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/FileSystemTreeController.cs index 74d2ee90f8..54c3462fde 100644 --- a/src/Umbraco.Web.BackOffice/Trees/FileSystemTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/FileSystemTreeController.cs @@ -1,8 +1,9 @@ -using System; +using System; using System.IO; using System.Linq; using System.Net; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Umbraco.Core; using Umbraco.Core.IO; using Umbraco.Core.Services; @@ -148,7 +149,7 @@ namespace Umbraco.Web.BackOffice.Trees return menu; } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { //if root node no need to visit the filesystem so lets just create the menu and return it if (id == Constants.System.RootString) diff --git a/src/Umbraco.Web.BackOffice/Trees/LanguageTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/LanguageTreeController.cs index ecd1c954ac..44f0111f13 100644 --- a/src/Umbraco.Web.BackOffice/Trees/LanguageTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/LanguageTreeController.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Umbraco.Core.Services; using Umbraco.Web.BackOffice.Filters; using Umbraco.Web.Common.Attributes; @@ -30,7 +31,7 @@ namespace Umbraco.Web.BackOffice.Trees return new TreeNodeCollection(); } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { //We don't have any menu item options (such as create/delete/reload) & only use the root node to load a custom UI return null; diff --git a/src/Umbraco.Web.BackOffice/Trees/LogViewerTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/LogViewerTreeController.cs index b03b2d9926..e3b76b8af1 100644 --- a/src/Umbraco.Web.BackOffice/Trees/LogViewerTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/LogViewerTreeController.cs @@ -1,5 +1,6 @@ -using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Umbraco.Core.Services; using Umbraco.Web.BackOffice.Filters; using Umbraco.Web.Common.Attributes; @@ -30,7 +31,7 @@ namespace Umbraco.Web.BackOffice.Trees return new TreeNodeCollection(); } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { //We don't have any menu item options (such as create/delete/reload) & only use the root node to load a custom UI return null; diff --git a/src/Umbraco.Web.BackOffice/Trees/MacrosTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/MacrosTreeController.cs index 518c1b5495..57d2169be5 100644 --- a/src/Umbraco.Web.BackOffice/Trees/MacrosTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/MacrosTreeController.cs @@ -1,4 +1,4 @@ -using System.Linq; +using System.Linq; using Microsoft.AspNetCore.Http; using Umbraco.Core.Services; using Umbraco.Web.Models.Trees; @@ -9,6 +9,7 @@ using Umbraco.Web.Trees; using Umbraco.Web.WebApi; using Constants = Umbraco.Core.Constants; using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; using Umbraco.Web.Common.Authorization; namespace Umbraco.Web.BackOffice.Trees @@ -57,7 +58,7 @@ namespace Umbraco.Web.BackOffice.Trees return nodes; } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { var menu = _menuItemCollectionFactory.Create(); diff --git a/src/Umbraco.Web.BackOffice/Trees/MediaTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/MediaTreeController.cs index d284624999..1354fc3d7c 100644 --- a/src/Umbraco.Web.BackOffice/Trees/MediaTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/MediaTreeController.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net; @@ -21,6 +21,7 @@ using Umbraco.Web.Security; using Umbraco.Web.Trees; using Umbraco.Web.WebApi; using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; using Umbraco.Web.Common.Authorization; using Umbraco.Core.Trees; @@ -97,7 +98,7 @@ namespace Umbraco.Web.BackOffice.Trees return node; } - protected override MenuItemCollection PerformGetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult PerformGetMenuForNode(string id, FormCollection queryStrings) { var menu = MenuItemCollectionFactory.Create(); @@ -122,12 +123,12 @@ namespace Umbraco.Web.BackOffice.Trees if (int.TryParse(id, out var iid) == false) { - throw new HttpResponseException(HttpStatusCode.NotFound); + return NotFound(); } var item = _entityService.Get(iid, UmbracoObjectTypes.Media); if (item == null) { - throw new HttpResponseException(HttpStatusCode.NotFound); + return NotFound(); } //if the user has no path access for this node, all they can do is refresh diff --git a/src/Umbraco.Web.BackOffice/Trees/MediaTypeTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/MediaTypeTreeController.cs index 424a0b2451..7555895483 100644 --- a/src/Umbraco.Web.BackOffice/Trees/MediaTypeTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/MediaTypeTreeController.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Http; @@ -14,6 +14,7 @@ using Umbraco.Web.Common.Attributes; using Umbraco.Web.Trees; using Umbraco.Web.WebApi; using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; using Umbraco.Web.Common.Authorization; using Umbraco.Core.Trees; @@ -81,7 +82,7 @@ namespace Umbraco.Web.BackOffice.Trees return nodes; } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { var menu = _menuItemCollectionFactory.Create(); diff --git a/src/Umbraco.Web.BackOffice/Trees/MemberTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/MemberTreeController.cs index 378a90da83..b480e36422 100644 --- a/src/Umbraco.Web.BackOffice/Trees/MemberTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/MemberTreeController.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Http; @@ -125,7 +125,7 @@ namespace Umbraco.Web.BackOffice.Trees return nodes; } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { var menu = _menuItemCollectionFactory.Create(); diff --git a/src/Umbraco.Web.BackOffice/Trees/MemberTypeAndGroupTreeControllerBase.cs b/src/Umbraco.Web.BackOffice/Trees/MemberTypeAndGroupTreeControllerBase.cs index d758d8b7f9..b9f5ed7ede 100644 --- a/src/Umbraco.Web.BackOffice/Trees/MemberTypeAndGroupTreeControllerBase.cs +++ b/src/Umbraco.Web.BackOffice/Trees/MemberTypeAndGroupTreeControllerBase.cs @@ -1,5 +1,6 @@ -using System.Collections.Generic; +using System.Collections.Generic; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Umbraco.Core; using Umbraco.Core.Services; using Umbraco.Web.Actions; @@ -32,7 +33,7 @@ namespace Umbraco.Web.BackOffice.Trees return nodes; } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { var menu = MenuItemCollectionFactory.Create(); diff --git a/src/Umbraco.Web.BackOffice/Trees/PackagesTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/PackagesTreeController.cs index 5c96bb4d64..66c7e4a7d1 100644 --- a/src/Umbraco.Web.BackOffice/Trees/PackagesTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/PackagesTreeController.cs @@ -1,5 +1,6 @@ -using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Umbraco.Core.Services; using Umbraco.Web.BackOffice.Filters; using Umbraco.Web.Common.Attributes; @@ -52,7 +53,7 @@ namespace Umbraco.Web.BackOffice.Trees return TreeNodeCollection.Empty; } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { //doesn't have a menu, this is a full screen app without tree nodes return _menuItemCollectionFactory.Create(); diff --git a/src/Umbraco.Web.BackOffice/Trees/RelationTypeTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/RelationTypeTreeController.cs index a36c2f36a9..c394af26aa 100644 --- a/src/Umbraco.Web.BackOffice/Trees/RelationTypeTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/RelationTypeTreeController.cs @@ -1,4 +1,4 @@ -using System.Linq; +using System.Linq; using Microsoft.AspNetCore.Http; using Umbraco.Web.Models.Trees; using Umbraco.Core; @@ -10,6 +10,7 @@ using Umbraco.Web.Common.Attributes; using Umbraco.Web.Trees; using Umbraco.Web.WebApi; using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; using Umbraco.Web.Common.Authorization; namespace Umbraco.Web.BackOffice.Trees @@ -34,7 +35,7 @@ namespace Umbraco.Web.BackOffice.Trees _relationService = relationService; } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { var menu = _menuItemCollectionFactory.Create(); diff --git a/src/Umbraco.Web.BackOffice/Trees/TemplatesTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/TemplatesTreeController.cs index eb08dbe629..b3178f8657 100644 --- a/src/Umbraco.Web.BackOffice/Trees/TemplatesTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/TemplatesTreeController.cs @@ -3,6 +3,7 @@ using System.Globalization; using System.Linq; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Umbraco.Core; using Umbraco.Core.Models; using Umbraco.Core.Models.Entities; @@ -93,7 +94,7 @@ namespace Umbraco.Web.BackOffice.Trees /// /// /// - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { var menu = _menuItemCollectionFactory.Create(); diff --git a/src/Umbraco.Web.BackOffice/Trees/TreeControllerBase.cs b/src/Umbraco.Web.BackOffice/Trees/TreeControllerBase.cs index ad4266e5e5..3d9bf989b3 100644 --- a/src/Umbraco.Web.BackOffice/Trees/TreeControllerBase.cs +++ b/src/Umbraco.Web.BackOffice/Trees/TreeControllerBase.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Linq; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; @@ -55,7 +55,7 @@ namespace Umbraco.Web.BackOffice.Trees /// /// /// - protected abstract MenuItemCollection GetMenuForNode(string id, [ModelBinder(typeof(HttpQueryStringModelBinder))]FormCollection queryStrings); + protected abstract ActionResult GetMenuForNode(string id, [ModelBinder(typeof(HttpQueryStringModelBinder))]FormCollection queryStrings); /// /// The name to display on the root node @@ -148,12 +148,12 @@ namespace Umbraco.Web.BackOffice.Trees /// /// /// - public MenuItemCollection GetMenu(string id, [ModelBinder(typeof(HttpQueryStringModelBinder))]FormCollection queryStrings) + public ActionResult GetMenu(string id, [ModelBinder(typeof(HttpQueryStringModelBinder))]FormCollection queryStrings) { if (queryStrings == null) queryStrings = FormCollection.Empty; var menu = GetMenuForNode(id, queryStrings); //raise the event - OnMenuRendering(this, new MenuRenderingEventArgs(id, menu, queryStrings)); + OnMenuRendering(this, new MenuRenderingEventArgs(id, menu.Value, queryStrings)); return menu; } diff --git a/src/Umbraco.Web.BackOffice/Trees/UserTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/UserTreeController.cs index 960ed76ac5..45bb1cdf83 100644 --- a/src/Umbraco.Web.BackOffice/Trees/UserTreeController.cs +++ b/src/Umbraco.Web.BackOffice/Trees/UserTreeController.cs @@ -1,5 +1,6 @@ -using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; using Umbraco.Core.Services; using Umbraco.Web.Common.Attributes; using Umbraco.Web.Common.Authorization; @@ -49,7 +50,7 @@ namespace Umbraco.Web.BackOffice.Trees return TreeNodeCollection.Empty; } - protected override MenuItemCollection GetMenuForNode(string id, FormCollection queryStrings) + protected override ActionResult GetMenuForNode(string id, FormCollection queryStrings) { //doesn't have a menu, this is a full screen app without tree nodes return _menuItemCollectionFactory.Create();