Skip to content

Commit 830de9a

Browse files
committed
Fix and refactor admin menus.
1 parent 273165b commit 830de9a

7 files changed

Lines changed: 61 additions & 60 deletions

File tree

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using Microsoft.Extensions.Localization;
2+
using System;
3+
using System.Diagnostics.CodeAnalysis;
4+
5+
namespace OrchardCore.Navigation;
6+
7+
public static class NavigationBuilderExtensions
8+
{
9+
/// <summary>
10+
/// Applies <paramref name="callback"/> inside the Admin > Settings > Commerce menu.
11+
/// </summary>
12+
[SuppressMessage(
13+
"StyleCop.CSharp.NamingRules",
14+
"SA1313:Parameter names should begin with lower-case letter",
15+
Justification = "String localizer convention.")]
16+
public static NavigationBuilder AddCommerce(
17+
this NavigationBuilder builder,
18+
IStringLocalizer T,
19+
Action<NavigationBuilder> callback) =>
20+
builder
21+
.Add(T["Settings"], settings => settings
22+
.Add(T["Commerce"], commerce => callback(commerce.Id("settings-commerce"))));
23+
}

src/Modules/OrchardCore.Commerce.Payment.Exactly/AdminMenu.cs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,9 @@ public AdminMenu(IHttpContextAccessor hca, IStringLocalizer<AdminMenu> stringLoc
1313
{ }
1414

1515
protected override void Build(NavigationBuilder builder) =>
16-
builder
17-
.Add(T["Configuration"], configuration => configuration
18-
.Add(T["Commerce"], commerce => commerce
19-
.Add(T["Exactly API"], T["Exactly API"], entry => entry
20-
.SiteSettings(ExactlySettingsDisplayDriver.EditorGroupId)
21-
.Permission(Permissions.ManageExactlySettings)
22-
.LocalNav())
23-
));
16+
builder.AddCommerce(T, commerce => commerce
17+
.Add(T["Exactly API"], T["Exactly API"], entry => entry
18+
.SiteSettings(ExactlySettingsDisplayDriver.EditorGroupId)
19+
.Permission(Permissions.ManageExactlySettings)
20+
.LocalNav()));
2421
}

src/Modules/OrchardCore.Commerce.Payment.Stripe/AdminMenu.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@ public AdminMenu(IHttpContextAccessor hca, IStringLocalizer<AdminMenu> stringLoc
1313
{ }
1414

1515
protected override void Build(NavigationBuilder builder) =>
16-
builder
17-
.Add(T["Configuration"], configuration => configuration
18-
.Add(T["Commerce"], commerce => commerce
19-
.Add(T["Stripe API"], T["Stripe API"], stripeApi => stripeApi
20-
.SiteSettings(StripeApiSettingsDisplayDriver.GroupId)
21-
.Permission(Permissions.ManageStripeApiSettings)
22-
.LocalNav())));
16+
builder.AddCommerce(T, commerce => commerce
17+
.Add(T["Stripe API"], T["Stripe API"], stripeApi => stripeApi
18+
.SiteSettings(StripeApiSettingsDisplayDriver.GroupId)
19+
.Permission(Permissions.ManageStripeApiSettings)
20+
.LocalNav()));
2321
}

src/Modules/OrchardCore.Commerce.Payment/AdminMenu.cs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,9 @@ public AdminMenu(IHttpContextAccessor hca, IStringLocalizer<AdminMenu> stringLoc
1313
{ }
1414

1515
protected override void Build(NavigationBuilder builder) =>
16-
builder
17-
.Add(T["Configuration"], configuration => configuration
18-
.Add(T["Commerce"], commerce => commerce
19-
.Add(T["Address Display"], T["Address Display"], entry => entry
20-
.SiteSettings(CheckoutAddressSettingsDisplayDriver.GroupId)
21-
.Permission(Permissions.ManageAddressDisplaySettings)
22-
.LocalNav())
23-
));
16+
builder.AddCommerce(T, commerce => commerce
17+
.Add(T["Address Display"], T["Address Display"], entry => entry
18+
.SiteSettings(CheckoutAddressSettingsDisplayDriver.GroupId)
19+
.Permission(Permissions.ManageAddressDisplaySettings)
20+
.LocalNav()));
2421
}

src/Modules/OrchardCore.Commerce.Tax/Navigation/TaxRateAdminMenu.cs

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,9 @@ public TaxRateAdminMenu(IHttpContextAccessor hca, IStringLocalizer<TaxRateAdminM
1616
{ }
1717

1818
protected override void Build(NavigationBuilder builder) =>
19-
builder
20-
.Add(T["Configuration"], configuration => configuration
21-
.Add(T["Commerce"], commerce => commerce
22-
.Add(T["Custom Tax Rates"], T["Custom Tax Rates"], entry => entry
23-
.Action("Index", "Admin", new
24-
{
25-
area = "OrchardCore.Settings",
26-
groupId = nameof(TaxRateSettings),
27-
})
28-
.Permission(TaxRatePermissions.ManageCustomTaxRates)
29-
.LocalNav())));
19+
builder.AddCommerce(T, commerce => commerce
20+
.Add(T["Custom Tax Rates"], T["Custom Tax Rates"], entry => entry
21+
.SiteSettings(nameof(TaxRateSettings))
22+
.Permission(TaxRatePermissions.ManageCustomTaxRates)
23+
.LocalNav()));
3024
}

src/Modules/OrchardCore.Commerce.Tax/Navigation/TaxSettingsAdminMenu.cs

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,9 @@ public TaxSettingsAdminMenu(IHttpContextAccessor hca, IStringLocalizer<TaxSettin
1515
}
1616

1717
protected override void Build(NavigationBuilder builder) =>
18-
builder
19-
.Add(T["Configuration"], configuration => configuration
20-
.Add(T["Commerce"], commerce => commerce
21-
.Add(T["Tax"], T["Tax"], entry => entry
22-
.Action("Index", "Admin", new
23-
{
24-
area = "OrchardCore.Settings",
25-
groupId = TaxSettingsDisplayDriver.GroupId,
26-
})
27-
.Permission(TaxRatePermissions.ManageTaxSettings)
28-
.LocalNav())));
18+
builder.AddCommerce(T, commerce => commerce
19+
.Add(T["Tax"], T["Tax"], entry => entry
20+
.SiteSettings(TaxSettingsDisplayDriver.GroupId)
21+
.Permission(TaxRatePermissions.ManageTaxSettings)
22+
.LocalNav()));
2923
}

src/Modules/OrchardCore.Commerce/AdminMenu.cs

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,17 @@ public AdminMenu(IHttpContextAccessor hca, IStringLocalizer<AdminMenu> stringLoc
1414
{ }
1515

1616
protected override void Build(NavigationBuilder builder) =>
17-
builder
18-
.Add(T["Configuration"], configuration => configuration
19-
.Add(T["Commerce"], commerce => commerce
20-
.Add(T["Currency"], T["Currency"], entry => entry
21-
.SiteSettings(CurrencySettingsDisplayDriver.GroupId)
22-
.Permission(Permissions.ManageCurrencySettings)
23-
.LocalNav())
24-
.Add(T["Price Display"], T["Price Display"], entry => entry
25-
.SiteSettings(PriceDisplaySettingsDisplayDriver.GroupId)
26-
.Permission(Permissions.ManagePriceDisplaySettings)
27-
.LocalNav())
28-
.Add(T["Region"], T["Region"], region => region
29-
.SiteSettings(RegionSettingsDisplayDriver.GroupId)
30-
.Permission(Permissions.ManageRegionSettings)
31-
.LocalNav())));
17+
builder.AddCommerce(T, commerce => commerce
18+
.Add(T["Currency"], T["Currency"], entry => entry
19+
.SiteSettings(CurrencySettingsDisplayDriver.GroupId)
20+
.Permission(Permissions.ManageCurrencySettings)
21+
.LocalNav())
22+
.Add(T["Price Display"], T["Price Display"], entry => entry
23+
.SiteSettings(PriceDisplaySettingsDisplayDriver.GroupId)
24+
.Permission(Permissions.ManagePriceDisplaySettings)
25+
.LocalNav())
26+
.Add(T["Region"], T["Region"], region => region
27+
.SiteSettings(RegionSettingsDisplayDriver.GroupId)
28+
.Permission(Permissions.ManageRegionSettings)
29+
.LocalNav()));
3230
}

0 commit comments

Comments
 (0)