From 09ff84a3ef6459819d8d8bc7eed4b76c3fdc3e88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Mon, 18 Mar 2024 01:28:20 +0100 Subject: [PATCH] Replace AdminRouteAttribute with AdminAttribute. --- Lombiq.HelpfulLibraries.OrchardCore/Docs/Mvc.md | 4 ---- .../Mvc/AdminRouteAttribute.cs | 1 + .../Mvc/AdminRouteAttributeRouteMapper.cs | 2 ++ Lombiq.HelpfulLibraries.OrchardCore/Mvc/TypedRoute.cs | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Lombiq.HelpfulLibraries.OrchardCore/Docs/Mvc.md b/Lombiq.HelpfulLibraries.OrchardCore/Docs/Mvc.md index a4d54c77..8070ee90 100644 --- a/Lombiq.HelpfulLibraries.OrchardCore/Docs/Mvc.md +++ b/Lombiq.HelpfulLibraries.OrchardCore/Docs/Mvc.md @@ -19,7 +19,3 @@ If you also use our [UI Testing Toolbox](https://github.com/Lombiq/UI-Testing-To ## `WidgetFilterBase` A base class for creating filters that insert a content as widget in a specified zone with permission check. - -## `[AdminRoute]` - -`[AdminRoute("My/Path/{id}")]` can be applied to any MVC action method. It work the same way as if you used [Route("Admin/My/Path/{id}")] except the admin prefix is no longer hard coded. This functionality is enabled by registering its mapper as a DI service using the `AdminRouteAttributeRouteMapper.AddToServices(services)` static method. diff --git a/Lombiq.HelpfulLibraries.OrchardCore/Mvc/AdminRouteAttribute.cs b/Lombiq.HelpfulLibraries.OrchardCore/Mvc/AdminRouteAttribute.cs index 664cd9e4..339d3c8c 100644 --- a/Lombiq.HelpfulLibraries.OrchardCore/Mvc/AdminRouteAttribute.cs +++ b/Lombiq.HelpfulLibraries.OrchardCore/Mvc/AdminRouteAttribute.cs @@ -2,6 +2,7 @@ namespace Lombiq.HelpfulLibraries.OrchardCore.Mvc; +[Obsolete("Use the [Admin(route)] attribute instead.")] [AttributeUsage(AttributeTargets.Method)] public sealed class AdminRouteAttribute : Attribute { diff --git a/Lombiq.HelpfulLibraries.OrchardCore/Mvc/AdminRouteAttributeRouteMapper.cs b/Lombiq.HelpfulLibraries.OrchardCore/Mvc/AdminRouteAttributeRouteMapper.cs index 3af98164..6cc61afc 100644 --- a/Lombiq.HelpfulLibraries.OrchardCore/Mvc/AdminRouteAttributeRouteMapper.cs +++ b/Lombiq.HelpfulLibraries.OrchardCore/Mvc/AdminRouteAttributeRouteMapper.cs @@ -5,6 +5,7 @@ using Microsoft.Extensions.Options; using OrchardCore.Admin; using OrchardCore.Mvc.Routing; +using System; using System.Reflection; namespace Lombiq.HelpfulLibraries.OrchardCore.Mvc; @@ -25,6 +26,7 @@ namespace Lombiq.HelpfulLibraries.OrchardCore.Mvc; /// It can be added to the DI service collection using the static method. /// /// +[Obsolete("Use the [Admin(route)] attribute instead of [AdminRoute(route)].")] public class AdminRouteAttributeRouteMapper : IAreaControllerRouteMapper { private readonly string _adminUrlPrefix; diff --git a/Lombiq.HelpfulLibraries.OrchardCore/Mvc/TypedRoute.cs b/Lombiq.HelpfulLibraries.OrchardCore/Mvc/TypedRoute.cs index 0e362ff3..2e10490f 100644 --- a/Lombiq.HelpfulLibraries.OrchardCore/Mvc/TypedRoute.cs +++ b/Lombiq.HelpfulLibraries.OrchardCore/Mvc/TypedRoute.cs @@ -93,7 +93,7 @@ public string ToString(HttpContext httpContext) public override string ToString() { var routeTemplate = _action.GetCustomAttribute()?.Template ?? - _action.GetCustomAttribute()?.Template; + _action.GetCustomAttribute()?.Template; var (route, arguments) = routeTemplate != null && !string.IsNullOrWhiteSpace(routeTemplate) ? GetRouteFromTemplate(routeTemplate, _arguments) : ($"{_area}/{_controller.ControllerName()}/{_action.GetCustomAttribute()?.Name ?? _action.Name}", _arguments);