From cf3795a8a4f014718d3fe810610cf1dd97c6f8e0 Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Tue, 2 Apr 2019 16:51:10 +0300 Subject: [PATCH] Add MyProjectNameConsts.IsMultiTenancyEnabled constant. --- .../Volo/Abp/Ui/Navigation/ApplicationMenuExtensions.cs | 9 +++++++++ .../MyProjectNameConsts.cs | 2 ++ .../MyProjectNameDomainModule.cs | 2 +- .../Menus/MyProjectNameMenuContributor.cs | 7 +++++++ .../MyProjectNameWebModule.cs | 6 ++++++ 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/ApplicationMenuExtensions.cs b/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/ApplicationMenuExtensions.cs index e69471e15d..b7aa7f97cf 100644 --- a/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/ApplicationMenuExtensions.cs +++ b/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/ApplicationMenuExtensions.cs @@ -39,6 +39,15 @@ namespace Volo.Abp.UI.Navigation return menuWithItems.Items.FirstOrDefault(mi => mi.Name == menuItemName); } + public static bool TryRemoveMenuItem( + [NotNull] this IHasMenuItems menuWithItems, + string menuItemName) + { + Check.NotNull(menuWithItems, nameof(menuWithItems)); + + return menuWithItems.Items.RemoveAll(item => item.Name == menuItemName) > 0; + } + [NotNull] public static IHasMenuItems SetSubItemOrder( [NotNull] this IHasMenuItems menuWithItems, diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameConsts.cs b/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameConsts.cs index d939cfca9f..f28dd57091 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameConsts.cs +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameConsts.cs @@ -5,5 +5,7 @@ public const string DbTablePrefix = "App"; public const string DbSchema = null; + + public const bool IsMultiTenancyEnabled = false; } } diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs b/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs index 9717644f7a..95f46011e8 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Domain/MyProjectNameDomainModule.cs @@ -40,7 +40,7 @@ namespace MyCompanyName.MyProjectName Configure(options => { - options.IsEnabled = true; + options.IsEnabled = MyProjectNameConsts.IsMultiTenancyEnabled; }); } } diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web/Menus/MyProjectNameMenuContributor.cs b/templates/mvc/src/MyCompanyName.MyProjectName.Web/Menus/MyProjectNameMenuContributor.cs index 1d8069465c..479618f160 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web/Menus/MyProjectNameMenuContributor.cs +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Web/Menus/MyProjectNameMenuContributor.cs @@ -2,6 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Localization; using MyCompanyName.MyProjectName.Localization.MyProjectName; +using Volo.Abp.TenantManagement.Web.Navigation; using Volo.Abp.UI.Navigation; namespace MyCompanyName.MyProjectName.Menus @@ -18,6 +19,12 @@ namespace MyCompanyName.MyProjectName.Menus private async Task ConfigureMainMenuAsync(MenuConfigurationContext context) { + if (!MyProjectNameConsts.IsMultiTenancyEnabled) + { + ApplicationMenuItem administration = context.Menu.GetAdministration(); + administration.TryRemoveMenuItem(TenantManagementMenuNames.GroupName); + } + var l = context.ServiceProvider.GetRequiredService>(); context.Menu.Items.Insert(0, new ApplicationMenuItem("MyProjectName.Home", l["Menu:Home"], "/")); diff --git a/templates/mvc/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs b/templates/mvc/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs index 97357b8ceb..330cf78fe2 100644 --- a/templates/mvc/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs +++ b/templates/mvc/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs @@ -178,6 +178,12 @@ namespace MyCompanyName.MyProjectName app.UseVirtualFiles(); app.UseAuthentication(); + + if (MyProjectNameConsts.IsMultiTenancyEnabled) + { + app.UseMultiTenancy(); + } + app.UseAbpRequestLocalization(); app.UseSwagger();