From 2dba9992c7f7a222670855f7cd3c02f7370b843a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 2 Feb 2018 14:43:54 +0300 Subject: [PATCH] Added empty tenants page. --- Volo.Abp.sln | 13 +++++-- .../AbpDesk.Web.Mvc/AbpDesk.Web.Mvc.csproj | 2 + .../AbpDesk.Web.Mvc/AbpDeskWebMvcModule.cs | 7 +++- .../AbpIdentityWebModule.cs | 1 - .../AbpMultiTenancyWebModule.cs | 38 +++++++++++++++++++ .../AbpMultiTenancy/IdentityResource.cs | 12 ++++++ .../Resources/AbpMultiTenancy/en.json | 6 +++ .../Resources/AbpMultiTenancy/tr.json | 6 +++ .../AbpIdentityWebMainMenuContributor.cs | 24 ++++++++++++ .../Pages/MultiTenancy/Tenants/Index.cshtml | 7 ++++ .../MultiTenancy/Tenants/Index.cshtml.cs | 12 ++++++ .../Properties/launchSettings.json | 27 +++++++++++++ .../Volo.Abp.MultiTenancy.Web.csproj | 29 ++++++++++++++ 13 files changed, 179 insertions(+), 5 deletions(-) create mode 100644 src/Volo.Abp.MultiTenancy.Web/AbpMultiTenancyWebModule.cs create mode 100644 src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/IdentityResource.cs create mode 100644 src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/en.json create mode 100644 src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/tr.json create mode 100644 src/Volo.Abp.MultiTenancy.Web/Navigation/AbpIdentityWebMainMenuContributor.cs create mode 100644 src/Volo.Abp.MultiTenancy.Web/Pages/MultiTenancy/Tenants/Index.cshtml create mode 100644 src/Volo.Abp.MultiTenancy.Web/Pages/MultiTenancy/Tenants/Index.cshtml.cs create mode 100644 src/Volo.Abp.MultiTenancy.Web/Properties/launchSettings.json create mode 100644 src/Volo.Abp.MultiTenancy.Web/Volo.Abp.MultiTenancy.Web.csproj diff --git a/Volo.Abp.sln b/Volo.Abp.sln index 3e482dc366..b4bf0d2be1 100644 --- a/Volo.Abp.sln +++ b/Volo.Abp.sln @@ -234,13 +234,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Domai EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Domain.Shared", "src\Volo.Abp.MultiTenancy.Domain.Shared\Volo.Abp.MultiTenancy.Domain.Shared.csproj", "{4605A64C-B4E0-4A04-9BF2-501027375258}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.MultiTenancy.Application.Contracts", "src\Volo.Abp.MultiTenancy.Application.Contracts\Volo.Abp.MultiTenancy.Application.Contracts.csproj", "{6A99C679-EA3B-4324-8D6B-89DB8C7D3DA0}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Application.Contracts", "src\Volo.Abp.MultiTenancy.Application.Contracts\Volo.Abp.MultiTenancy.Application.Contracts.csproj", "{6A99C679-EA3B-4324-8D6B-89DB8C7D3DA0}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.MultiTenancy.Application", "src\Volo.Abp.MultiTenancy.Application\Volo.Abp.MultiTenancy.Application.csproj", "{FCEC7C9D-067F-452B-98C9-1878F7EA02EB}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Application", "src\Volo.Abp.MultiTenancy.Application\Volo.Abp.MultiTenancy.Application.csproj", "{FCEC7C9D-067F-452B-98C9-1878F7EA02EB}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Abp.MultiTenancy", "Abp.MultiTenancy", "{3CE22CAC-4B27-4EEC-A35E-C01219ED6E99}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.MultiTenancy.Application.Tests", "test\Volo.Abp.MultiTenancy.Application.Tests\Volo.Abp.MultiTenancy.Application.Tests.csproj", "{B65973F1-9EE0-4914-B6F2-D88F753E1D21}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MultiTenancy.Application.Tests", "test\Volo.Abp.MultiTenancy.Application.Tests\Volo.Abp.MultiTenancy.Application.Tests.csproj", "{B65973F1-9EE0-4914-B6F2-D88F753E1D21}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.MultiTenancy.Web", "src\Volo.Abp.MultiTenancy.Web\Volo.Abp.MultiTenancy.Web.csproj", "{0808036D-065B-4525-BF30-CBCEA062F8E9}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -628,6 +630,10 @@ Global {B65973F1-9EE0-4914-B6F2-D88F753E1D21}.Debug|Any CPU.Build.0 = Debug|Any CPU {B65973F1-9EE0-4914-B6F2-D88F753E1D21}.Release|Any CPU.ActiveCfg = Release|Any CPU {B65973F1-9EE0-4914-B6F2-D88F753E1D21}.Release|Any CPU.Build.0 = Release|Any CPU + {0808036D-065B-4525-BF30-CBCEA062F8E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0808036D-065B-4525-BF30-CBCEA062F8E9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0808036D-065B-4525-BF30-CBCEA062F8E9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0808036D-065B-4525-BF30-CBCEA062F8E9}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -745,6 +751,7 @@ Global {FCEC7C9D-067F-452B-98C9-1878F7EA02EB} = {CA154803-3589-47B3-B7CB-B18F94FE1EB6} {3CE22CAC-4B27-4EEC-A35E-C01219ED6E99} = {447C8A77-E5F0-4538-8687-7383196D04EA} {B65973F1-9EE0-4914-B6F2-D88F753E1D21} = {3CE22CAC-4B27-4EEC-A35E-C01219ED6E99} + {0808036D-065B-4525-BF30-CBCEA062F8E9} = {CA154803-3589-47B3-B7CB-B18F94FE1EB6} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5} diff --git a/src/AbpDesk/AbpDesk.Web.Mvc/AbpDesk.Web.Mvc.csproj b/src/AbpDesk/AbpDesk.Web.Mvc/AbpDesk.Web.Mvc.csproj index b98d7ce2f5..50e70c137d 100644 --- a/src/AbpDesk/AbpDesk.Web.Mvc/AbpDesk.Web.Mvc.csproj +++ b/src/AbpDesk/AbpDesk.Web.Mvc/AbpDesk.Web.Mvc.csproj @@ -27,6 +27,8 @@ + + diff --git a/src/AbpDesk/AbpDesk.Web.Mvc/AbpDeskWebMvcModule.cs b/src/AbpDesk/AbpDesk.Web.Mvc/AbpDeskWebMvcModule.cs index d34ce6b15d..961e80f919 100644 --- a/src/AbpDesk/AbpDesk.Web.Mvc/AbpDeskWebMvcModule.cs +++ b/src/AbpDesk/AbpDesk.Web.Mvc/AbpDeskWebMvcModule.cs @@ -27,6 +27,8 @@ using Volo.Abp.Modularity; using Volo.Abp.Ui.Navigation; using Volo.Abp.VirtualFileSystem; using Volo.Abp.IdentityServer.Jwt; +using Volo.Abp.MultiTenancy; +using Volo.Abp.MultiTenancy.Web; namespace AbpDesk.Web.Mvc { @@ -42,7 +44,9 @@ namespace AbpDesk.Web.Mvc typeof(AbpAutofacModule), typeof(AbpIdentityServerDomainModule), typeof(AbpIdentityServerEntityFrameworkCoreModule), - typeof(AbpAspNetCoreMultiTenancyModule) + typeof(AbpAspNetCoreMultiTenancyModule), + typeof(AbpMultiTenancyWebModule), + typeof(AbpMultiTenancyApplicationModule) )] public class AbpDeskWebMvcModule : AbpModule //TODO: Rename to AbpDeskWebModule, change default namespace to AbpDesk.Web { @@ -120,6 +124,7 @@ namespace AbpDesk.Web.Mvc options.FileSets.ReplaceEmbeddedByPyhsical(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap")); options.FileSets.ReplaceEmbeddedByPyhsical(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\Volo.Abp.Account.Web")); options.FileSets.ReplaceEmbeddedByPyhsical(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\Volo.Abp.Identity.Web")); + options.FileSets.ReplaceEmbeddedByPyhsical(Path.Combine(hostingEnvironment.ContentRootPath, "..\\..\\Volo.Abp.MultiTenancy.Web")); }); } } diff --git a/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs b/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs index 16b0be3c75..a0bb65dbef 100644 --- a/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs +++ b/src/Volo.Abp.Identity.Web/AbpIdentityWebModule.cs @@ -41,7 +41,6 @@ namespace Volo.Abp.Identity.Web services.Configure(options => { - //options.Resources.AddVirtual("en"); options.Resources.AddVirtualJson("en", "/Localization/Resources/AbpIdentity"); }); diff --git a/src/Volo.Abp.MultiTenancy.Web/AbpMultiTenancyWebModule.cs b/src/Volo.Abp.MultiTenancy.Web/AbpMultiTenancyWebModule.cs new file mode 100644 index 0000000000..c7ba169938 --- /dev/null +++ b/src/Volo.Abp.MultiTenancy.Web/AbpMultiTenancyWebModule.cs @@ -0,0 +1,38 @@ +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap; +using Volo.Abp.AutoMapper; +using Volo.Abp.Localization; +using Volo.Abp.Modularity; +using Volo.Abp.MultiTenancy.Web.Localization.Resources.AbpMultiTenancy; +using Volo.Abp.MultiTenancy.Web.Navigation; +using Volo.Abp.Ui.Navigation; +using Volo.Abp.VirtualFileSystem; + +namespace Volo.Abp.MultiTenancy.Web +{ + [DependsOn(typeof(AbpMultiTenancyApplicationContractsModule))] + [DependsOn(typeof(AbpAspNetCoreMvcUiBootstrapModule))] + [DependsOn(typeof(AbpAutoMapperModule))] + public class AbpMultiTenancyWebModule : AbpModule + { + public override void ConfigureServices(IServiceCollection services) + { + services.AddAssemblyOf(); + + services.Configure(options => + { + options.MenuContributors.Add(new AbpMultiTenancyWebMainMenuContributor()); + }); + + services.Configure(options => + { + options.FileSets.AddEmbedded("Volo.Abp.MultiTenancy.Web"); + }); + + services.Configure(options => + { + options.Resources.AddVirtualJson("en", "/Localization/Resources/AbpMultiTenancy"); + }); + } + } +} \ No newline at end of file diff --git a/src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/IdentityResource.cs b/src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/IdentityResource.cs new file mode 100644 index 0000000000..bdb618d6dc --- /dev/null +++ b/src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/IdentityResource.cs @@ -0,0 +1,12 @@ +using Volo.Abp.Localization; +using Volo.Abp.Localization.Resources.AbpValidation; + +namespace Volo.Abp.MultiTenancy.Web.Localization.Resources.AbpMultiTenancy +{ + [ShortLocalizationResourceName("AbpMultiTenancy")] + [InheritResource(typeof(AbpValidationResource))] + public class AbpMultiTenancyResource + { + + } +} diff --git a/src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/en.json b/src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/en.json new file mode 100644 index 0000000000..92e4e9582b --- /dev/null +++ b/src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/en.json @@ -0,0 +1,6 @@ +{ + "culture": "en", + "texts": { + + } +} \ No newline at end of file diff --git a/src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/tr.json b/src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/tr.json new file mode 100644 index 0000000000..6c8cd12915 --- /dev/null +++ b/src/Volo.Abp.MultiTenancy.Web/Localization/Resources/AbpMultiTenancy/tr.json @@ -0,0 +1,6 @@ +{ + "culture": "tr", + "texts": { + + } +} \ No newline at end of file diff --git a/src/Volo.Abp.MultiTenancy.Web/Navigation/AbpIdentityWebMainMenuContributor.cs b/src/Volo.Abp.MultiTenancy.Web/Navigation/AbpIdentityWebMainMenuContributor.cs new file mode 100644 index 0000000000..a1177dd623 --- /dev/null +++ b/src/Volo.Abp.MultiTenancy.Web/Navigation/AbpIdentityWebMainMenuContributor.cs @@ -0,0 +1,24 @@ +using System.Threading.Tasks; +using Volo.Abp.Ui.Navigation; + +namespace Volo.Abp.MultiTenancy.Web.Navigation +{ + public class AbpMultiTenancyWebMainMenuContributor : IMenuContributor + { + public Task ConfigureMenuAsync(MenuConfigurationContext context) + { + if (context.Menu.Name != StandardMenus.Main) + { + return Task.CompletedTask; + } + + context.Menu + .AddItem( + new ApplicationMenuItem("MultiTenancy", "MultiTenancy") + .AddItem(new ApplicationMenuItem("Tenants", "Tenants", url: "/MultiTenancy/Tenants")) + ); + + return Task.CompletedTask; + } + } +} \ No newline at end of file diff --git a/src/Volo.Abp.MultiTenancy.Web/Pages/MultiTenancy/Tenants/Index.cshtml b/src/Volo.Abp.MultiTenancy.Web/Pages/MultiTenancy/Tenants/Index.cshtml new file mode 100644 index 0000000000..1bcf45b39c --- /dev/null +++ b/src/Volo.Abp.MultiTenancy.Web/Pages/MultiTenancy/Tenants/Index.cshtml @@ -0,0 +1,7 @@ +@page +@using Volo.Abp.MultiTenancy.Web.Pages.MultiTenancy.Tenants +@model IndexModel +@{ +} + +Tenants page... \ No newline at end of file diff --git a/src/Volo.Abp.MultiTenancy.Web/Pages/MultiTenancy/Tenants/Index.cshtml.cs b/src/Volo.Abp.MultiTenancy.Web/Pages/MultiTenancy/Tenants/Index.cshtml.cs new file mode 100644 index 0000000000..f064c45145 --- /dev/null +++ b/src/Volo.Abp.MultiTenancy.Web/Pages/MultiTenancy/Tenants/Index.cshtml.cs @@ -0,0 +1,12 @@ +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace Volo.Abp.MultiTenancy.Web.Pages.MultiTenancy.Tenants +{ + public class IndexModel : PageModel + { + public void OnGet() + { + + } + } +} \ No newline at end of file diff --git a/src/Volo.Abp.MultiTenancy.Web/Properties/launchSettings.json b/src/Volo.Abp.MultiTenancy.Web/Properties/launchSettings.json new file mode 100644 index 0000000000..81ae15bd19 --- /dev/null +++ b/src/Volo.Abp.MultiTenancy.Web/Properties/launchSettings.json @@ -0,0 +1,27 @@ +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:62977/", + "sslPort": 0 + } + }, + "profiles": { + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "Volo.Abp.MultiTenancy.Web": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "applicationUrl": "http://localhost:62978/" + } + } +} \ No newline at end of file diff --git a/src/Volo.Abp.MultiTenancy.Web/Volo.Abp.MultiTenancy.Web.csproj b/src/Volo.Abp.MultiTenancy.Web/Volo.Abp.MultiTenancy.Web.csproj new file mode 100644 index 0000000000..b08faeef89 --- /dev/null +++ b/src/Volo.Abp.MultiTenancy.Web/Volo.Abp.MultiTenancy.Web.csproj @@ -0,0 +1,29 @@ + + + + + + netstandard2.0 + Volo.Abp.MultiTenancy.Web + Volo.Abp.MultiTenancy.Web + $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + Library + + + + + + + + + + + + + + + + + + +