Performance improvements, refactoring of multi-tenant support, split Alias and Tenant entities for cleaner separation of concerns, create an additional site during installation for demonstratng multitenancy
This commit is contained in:
		| @ -74,7 +74,7 @@ | ||||
|     string display = "display: none"; | ||||
|     List<ModuleDefinition> moduledefinitions; | ||||
|     Dictionary<string, string> containers = new Dictionary<string, string>(); | ||||
|     int pagemanagementmoduleid; | ||||
|     int pagemanagementmoduleid = -1; | ||||
|     string moduledefinitionname; | ||||
|     string pane; | ||||
|     string title = ""; | ||||
| @ -82,11 +82,13 @@ | ||||
|  | ||||
|     protected override async Task OnInitAsync() | ||||
|     { | ||||
|         //TODO: Move this to shared component.  This is used in this control Add, Edit, and Delete controls as well | ||||
|         moduledefinitions = await ModuleDefinitionService.GetModuleDefinitionsAsync(); | ||||
|         containers = ThemeService.GetContainerTypes(await ThemeService.GetThemesAsync()); | ||||
|         moduledefinitions = PageState.ModuleDefinitions; | ||||
|         containers = ThemeService.GetContainerTypes(PageState.Themes); | ||||
|         List<Module> modules = await ModuleService.GetModulesAsync(PageState.Site.SiteId, Constants.PageManagementModule); | ||||
|         pagemanagementmoduleid = modules.FirstOrDefault().ModuleId; | ||||
|         if (modules.Count > 0) | ||||
|         { | ||||
|             pagemanagementmoduleid = modules.FirstOrDefault().ModuleId; | ||||
|         } | ||||
|         if (UserService.IsAuthorized(PageState.User, PageState.Page.EditPermissions)) | ||||
|         { | ||||
|             display = "display: inline"; | ||||
| @ -117,23 +119,26 @@ | ||||
|         pagemodule.Order = 0; | ||||
|         pagemodule.ContainerType = containertype; | ||||
|         await PageModuleService.AddPageModuleAsync(pagemodule); | ||||
|         UriHelper.NavigateTo(PageState.Alias + PageState.Page.Path + "?reload=true"); | ||||
|         UriHelper.NavigateTo(NavigateUrl(true)); | ||||
|     } | ||||
|  | ||||
|     private string PageUrl(string action) | ||||
|     { | ||||
|         string url = ""; | ||||
|         switch (action) | ||||
|         if (pagemanagementmoduleid != -1) | ||||
|         { | ||||
|             case "Add": | ||||
|                 url = "admin/pages?mid=" + pagemanagementmoduleid.ToString() + "&ctl=" + action; | ||||
|                 break; | ||||
|             case "Edit": | ||||
|                 url = "admin/pages?mid=" + pagemanagementmoduleid.ToString() + "&ctl=" + action + "&id=" + PageState.Page.PageId.ToString(); | ||||
|                 break; | ||||
|             case "Delete": | ||||
|                 url = "admin/pages?mid=" + pagemanagementmoduleid.ToString() + "&ctl=" + action + "&id=" + PageState.Page.PageId.ToString(); | ||||
|                 break; | ||||
|             switch (action) | ||||
|             { | ||||
|                 case "Add": | ||||
|                     url = "admin/pages?mid=" + pagemanagementmoduleid.ToString() + "&ctl=" + action; | ||||
|                     break; | ||||
|                 case "Edit": | ||||
|                     url = "admin/pages?mid=" + pagemanagementmoduleid.ToString() + "&ctl=" + action + "&id=" + PageState.Page.PageId.ToString(); | ||||
|                     break; | ||||
|                 case "Delete": | ||||
|                     url = "admin/pages?mid=" + pagemanagementmoduleid.ToString() + "&ctl=" + action + "&id=" + PageState.Page.PageId.ToString(); | ||||
|                     break; | ||||
|             } | ||||
|         } | ||||
|         return url; | ||||
|     } | ||||
|  | ||||
| @ -29,13 +29,13 @@ | ||||
|     { | ||||
|         if (name == "Login") | ||||
|         { | ||||
|             UriHelper.NavigateTo(PageState.Alias + "login"); | ||||
|             UriHelper.NavigateTo(NavigateUrl("login")); | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             var interop = new Interop(jsRuntime); | ||||
|             await interop.SetCookie("user", "", 7); | ||||
|             UriHelper.NavigateTo(PageState.Alias, true); | ||||
|             UriHelper.NavigateTo(NavigateUrl(""), true); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| @using Oqtane.Themes | ||||
| @inherits ThemeObjectBase | ||||
|  | ||||
| <a href="@PageState.Uri.Scheme://@PageState.Uri.Authority"><img src="/Sites/@PageState.Site.SiteId/@PageState.Site.Logo" /></a> | ||||
| <a href="@PageState.Alias.Url"><img src="/Sites/@PageState.Site.SiteId/@PageState.Site.Logo" /></a> | ||||
|  | ||||
|  | ||||
| @ -9,7 +9,7 @@ | ||||
| <ul class="nav flex-column"> | ||||
|     @if (parent != null) | ||||
|     { | ||||
|         string url = PageState.Alias + parent.Path; | ||||
|         string url = NavigateUrl(); | ||||
|         <li class="nav-item px-3"> | ||||
|             <NavLink class="nav-link" href="@parent.Path" Match="NavLinkMatch.All"> | ||||
|                 <span class="oi oi-media-skip-backward" aria-hidden="true"></span> Back | ||||
| @ -20,7 +20,7 @@ | ||||
|     { | ||||
|         if (p.IsNavigation && UserService.IsAuthorized(PageState.User, p.ViewPermissions)) | ||||
|         { | ||||
|             string url = PageState.Alias + p.Path; | ||||
|             string url = NavigateUrl(p.Path); | ||||
|             <li class="nav-item px-3"> | ||||
|                 <NavLink class="nav-link" href="@url" Match="NavLinkMatch.All"> | ||||
|                     <span class="oi @p.Icon" aria-hidden="true"></span> @p.Name | ||||
|  | ||||
| @ -1,44 +0,0 @@ | ||||
| @using Oqtane.Themes | ||||
| @using Oqtane.Shared; | ||||
| @using Microsoft.JSInterop | ||||
| @inject IJSRuntime jsRuntime | ||||
|  | ||||
| @inherits ThemeObjectBase | ||||
|  | ||||
| <button type="button" class="btn btn-primary" onclick="@SetMode"> | ||||
|     @displayMode | ||||
| </button> | ||||
|  | ||||
| @functions { | ||||
|     string displayMode = ""; | ||||
|  | ||||
|     protected override async Task OnInitAsync() | ||||
|     { | ||||
|         var interop = new Interop(jsRuntime); | ||||
|         string value = await interop.GetCookie("blazor"); | ||||
|  | ||||
|         if (value == "client") | ||||
|         { | ||||
|             displayMode = "Server Mode"; | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             displayMode = "Client Mode"; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public async void SetMode() | ||||
|     { | ||||
|         var interop = new Interop(jsRuntime); | ||||
|         string mode = await interop.GetCookie("blazor"); | ||||
|         if (mode == "client") | ||||
|         { | ||||
|             mode = "server"; | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             mode = "client"; | ||||
|         } | ||||
|         await interop.SetCookie("blazor", mode, 7); | ||||
|     } | ||||
| } | ||||
| @ -81,7 +81,7 @@ | ||||
|                 await PageModuleService.UpdatePageModuleAsync(pagemodule); | ||||
|                 break; | ||||
|         } | ||||
|         UriHelper.NavigateTo(PageState.Alias + path); | ||||
|         UriHelper.NavigateTo(NavigateUrl(path)); | ||||
|     } | ||||
|  | ||||
|     public class ActionViewModel | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Shaun Walker
					Shaun Walker