Edit mode improvements
This commit is contained in:
		@ -62,6 +62,17 @@
 | 
			
		||||
            </select>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>
 | 
			
		||||
            <label for="Name" class="control-label">Edit Mode? </label>
 | 
			
		||||
        </td>
 | 
			
		||||
        <td>
 | 
			
		||||
            <select class="form-control" @bind="@editmode">
 | 
			
		||||
                <option value="True">Yes</option>
 | 
			
		||||
                <option value="False">No</option>
 | 
			
		||||
            </select>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>
 | 
			
		||||
            <label for="Name" class="control-label">Theme: </label>
 | 
			
		||||
@ -123,6 +134,7 @@
 | 
			
		||||
    string parentid;
 | 
			
		||||
    string order = "";
 | 
			
		||||
    string isnavigation = "True";
 | 
			
		||||
    string editmode = "False";
 | 
			
		||||
    string themetype;
 | 
			
		||||
    string layouttype = "";
 | 
			
		||||
    string icon = "";
 | 
			
		||||
@ -166,6 +178,7 @@
 | 
			
		||||
            page.Path = path;
 | 
			
		||||
            page.Order = (order == null ? 1 : Int32.Parse(order));
 | 
			
		||||
            page.IsNavigation = (isnavigation == null ? true : Boolean.Parse(isnavigation));
 | 
			
		||||
            page.EditMode = (editmode == null ? true : Boolean.Parse(editmode));
 | 
			
		||||
            page.ThemeType = themetype;
 | 
			
		||||
            page.LayoutType = (layouttype == null ? "" : layouttype);
 | 
			
		||||
            page.Icon = (icon == null ? "" : icon);
 | 
			
		||||
 | 
			
		||||
@ -62,6 +62,17 @@
 | 
			
		||||
            </select>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>
 | 
			
		||||
            <label for="Name" class="control-label">Edit Mode? </label>
 | 
			
		||||
        </td>
 | 
			
		||||
        <td>
 | 
			
		||||
            <select class="form-control" @bind="@editmode" readonly>
 | 
			
		||||
                <option value="True">Yes</option>
 | 
			
		||||
                <option value="False">No</option>
 | 
			
		||||
            </select>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>
 | 
			
		||||
            <label for="Name" class="control-label">Theme: </label>
 | 
			
		||||
@ -127,6 +138,7 @@
 | 
			
		||||
    string parentid;
 | 
			
		||||
    string order;
 | 
			
		||||
    string isnavigation;
 | 
			
		||||
    string editmode;
 | 
			
		||||
    string themetype;
 | 
			
		||||
    string layouttype;
 | 
			
		||||
    string icon;
 | 
			
		||||
@ -154,6 +166,7 @@
 | 
			
		||||
 | 
			
		||||
                order = page.Order.ToString();
 | 
			
		||||
                isnavigation = page.IsNavigation.ToString();
 | 
			
		||||
                editmode = page.EditMode.ToString();
 | 
			
		||||
                themetype = page.ThemeType;
 | 
			
		||||
                layouttype = page.LayoutType;
 | 
			
		||||
                icon = page.Icon;
 | 
			
		||||
 | 
			
		||||
@ -62,6 +62,17 @@
 | 
			
		||||
            </select>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>
 | 
			
		||||
            <label for="Name" class="control-label">Edit Mode? </label>
 | 
			
		||||
        </td>
 | 
			
		||||
        <td>
 | 
			
		||||
            <select class="form-control" @bind="@editmode">
 | 
			
		||||
                <option value="True">Yes</option>
 | 
			
		||||
                <option value="False">No</option>
 | 
			
		||||
            </select>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>
 | 
			
		||||
            <label for="Name" class="control-label">Theme: </label>
 | 
			
		||||
@ -127,6 +138,7 @@
 | 
			
		||||
    string parentid;
 | 
			
		||||
    string order;
 | 
			
		||||
    string isnavigation;
 | 
			
		||||
    string editmode;
 | 
			
		||||
    string themetype;
 | 
			
		||||
    string layouttype;
 | 
			
		||||
    string icon;
 | 
			
		||||
@ -161,6 +173,7 @@
 | 
			
		||||
                }
 | 
			
		||||
                order = page.Order.ToString();
 | 
			
		||||
                isnavigation = page.IsNavigation.ToString();
 | 
			
		||||
                editmode = page.EditMode.ToString();
 | 
			
		||||
                themetype = page.ThemeType;
 | 
			
		||||
                layouttype = page.LayoutType;
 | 
			
		||||
                icon = page.Icon;
 | 
			
		||||
@ -195,6 +208,7 @@
 | 
			
		||||
            page.Path = path;
 | 
			
		||||
            page.Order = (order == null ? 1 : Int32.Parse(order));
 | 
			
		||||
            page.IsNavigation = (isnavigation == null ? true : Boolean.Parse(isnavigation));
 | 
			
		||||
            page.EditMode = (editmode == null ? true : Boolean.Parse(editmode));
 | 
			
		||||
            page.ThemeType = themetype;
 | 
			
		||||
            page.LayoutType = (layouttype == null ? "" : layouttype);
 | 
			
		||||
            page.Icon = (icon == null ? "" : icon);
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,7 @@
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    <ActionLink Action="Add" Text="Add Page" Style="float: right; margin: 10px;" />
 | 
			
		||||
    <ActionLink Action="Add" Text="Add Page" />
 | 
			
		||||
    <table class="table table-borderless">
 | 
			
		||||
        <thead>
 | 
			
		||||
            <tr>
 | 
			
		||||
 | 
			
		||||
@ -55,7 +55,8 @@
 | 
			
		||||
    </table>
 | 
			
		||||
    <button type="button" class="btn btn-primary" @onclick="@SaveUser">Save</button>
 | 
			
		||||
    <button type="button" class="btn btn-secondary" @onclick="@Cancel">Cancel</button>
 | 
			
		||||
    <br /><br />
 | 
			
		||||
    <br />
 | 
			
		||||
    <br />
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@code {
 | 
			
		||||
 | 
			
		||||
@ -2,8 +2,9 @@
 | 
			
		||||
{
 | 
			
		||||
    public interface IModuleControl
 | 
			
		||||
    {
 | 
			
		||||
        string Title { get; }
 | 
			
		||||
        SecurityAccessLevel SecurityAccessLevel { get; }
 | 
			
		||||
        string Actions { get; } // can be specified as a comma delimited set of values
 | 
			
		||||
        SecurityAccessLevel SecurityAccessLevel { get; } // defines the security access level for this control - defaults to View
 | 
			
		||||
        string Title { get; } // title to display for this control - defaults to module title
 | 
			
		||||
        string Actions { get; } // allows for routing by configuration rather than by convention ( comma delimited ) - defaults to using component file name
 | 
			
		||||
        string ContainerType { get; } // container for embedding control - defaults to AdminContainer
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -12,12 +12,14 @@ namespace Oqtane.Modules
 | 
			
		||||
        [CascadingParameter]
 | 
			
		||||
        protected Module ModuleState { get; set; }
 | 
			
		||||
 | 
			
		||||
        public virtual string Title { get { return ""; } }
 | 
			
		||||
 | 
			
		||||
        public virtual SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.View; } set { } } // default security
 | 
			
		||||
 | 
			
		||||
        public virtual string Title { get { return ""; } }
 | 
			
		||||
 | 
			
		||||
        public virtual string Actions { get { return ""; } }
 | 
			
		||||
 | 
			
		||||
        public virtual string ContainerType { get { return ""; } }
 | 
			
		||||
 | 
			
		||||
        public string NavigateUrl()
 | 
			
		||||
        {
 | 
			
		||||
            return NavigateUrl(PageState.Page.Path);
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,7 @@
 | 
			
		||||
                Type containerType = Type.GetType(container);
 | 
			
		||||
                if (containerType != null)
 | 
			
		||||
                {
 | 
			
		||||
                    builder.OpenComponent(0, containerType); 
 | 
			
		||||
                    builder.OpenComponent(0, containerType);
 | 
			
		||||
                    builder.CloseComponent();
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
@ -49,7 +49,11 @@
 | 
			
		||||
            container = ModuleState.ContainerType;
 | 
			
		||||
            if (PageState.ModuleId != -1 && PageState.Control != "")
 | 
			
		||||
            {
 | 
			
		||||
                container = Constants.DefaultAdminContainer;
 | 
			
		||||
                container = ModuleState.AdminContainerType;
 | 
			
		||||
                if (container == "")
 | 
			
		||||
                {
 | 
			
		||||
                    container = Constants.DefaultAdminContainer;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return Task.CompletedTask;
 | 
			
		||||
 | 
			
		||||
@ -20,6 +20,7 @@ namespace Oqtane.Shared
 | 
			
		||||
        public int ModuleId { get; set; }
 | 
			
		||||
        public string Control { get; set; }
 | 
			
		||||
        public bool EditMode { get; set; }
 | 
			
		||||
        public bool DesignMode { get; set; }
 | 
			
		||||
        public int Reload { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -9,10 +9,13 @@
 | 
			
		||||
@inject IModuleService ModuleService
 | 
			
		||||
@inject IModuleDefinitionService ModuleDefinitionService
 | 
			
		||||
 | 
			
		||||
<div class="@paneadminborder">
 | 
			
		||||
    @((MarkupString)panetitle)
 | 
			
		||||
    @DynamicComponent
 | 
			
		||||
</div>
 | 
			
		||||
    <div class="@paneadminborder">
 | 
			
		||||
        @if (panetitle != "")
 | 
			
		||||
        {
 | 
			
		||||
            @((MarkupString)panetitle)
 | 
			
		||||
        }
 | 
			
		||||
        @DynamicComponent
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
@code {
 | 
			
		||||
    [CascadingParameter]
 | 
			
		||||
@ -28,11 +31,16 @@
 | 
			
		||||
 | 
			
		||||
    protected override void OnParametersSet()
 | 
			
		||||
    {
 | 
			
		||||
        if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, "Edit", PageState.Page.Permissions) && Name != Constants.AdminPane)
 | 
			
		||||
        if (PageState.DesignMode && UserSecurity.IsAuthorized(PageState.User, "Edit", PageState.Page.Permissions) && Name != Constants.AdminPane)
 | 
			
		||||
        {
 | 
			
		||||
            paneadminborder = "pane-admin-border";
 | 
			
		||||
            panetitle = "<div class=\"pane-admin-title\">" + Name + " Pane</div>";
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            paneadminborder = "";
 | 
			
		||||
            panetitle = "";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        DynamicComponent = builder =>
 | 
			
		||||
        {
 | 
			
		||||
@ -51,38 +59,38 @@
 | 
			
		||||
                        Type moduleType = Type.GetType(typename);
 | 
			
		||||
                        if (moduleType != null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var moduleobject = Activator.CreateInstance(moduleType);
 | 
			
		||||
                            // verify security access level for this module control
 | 
			
		||||
                            SecurityAccessLevel SecurityAccessLevel = (SecurityAccessLevel)moduleType.GetProperty("SecurityAccessLevel").GetValue(moduleobject, null);
 | 
			
		||||
                            bool authorized = false;
 | 
			
		||||
                            switch (SecurityAccessLevel)
 | 
			
		||||
                            if (PageState.Control == "Settings")
 | 
			
		||||
                            {
 | 
			
		||||
                                case SecurityAccessLevel.Anonymous:
 | 
			
		||||
                                    authorized = true;
 | 
			
		||||
                                    break;
 | 
			
		||||
                                case SecurityAccessLevel.View:
 | 
			
		||||
                                    authorized = UserSecurity.IsAuthorized(PageState.User, "View", module.Permissions);
 | 
			
		||||
                                    break;
 | 
			
		||||
                                case SecurityAccessLevel.Edit:
 | 
			
		||||
                                    authorized = UserSecurity.IsAuthorized(PageState.User, "Edit", module.Permissions);
 | 
			
		||||
                                    break;
 | 
			
		||||
                                case SecurityAccessLevel.Admin:
 | 
			
		||||
                                    authorized = UserSecurity.IsAuthorized(PageState.User, Constants.AdminRole);
 | 
			
		||||
                                    break;
 | 
			
		||||
                                case SecurityAccessLevel.Host:
 | 
			
		||||
                                    authorized = UserSecurity.IsAuthorized(PageState.User, Constants.HostRole);
 | 
			
		||||
                                    break;
 | 
			
		||||
                                authorized = UserSecurity.IsAuthorized(PageState.User, "Edit", PageState.Page.Permissions);
 | 
			
		||||
                            }
 | 
			
		||||
                            else
 | 
			
		||||
                            {
 | 
			
		||||
                                // verify security access level for this module control
 | 
			
		||||
                                switch (module.SecurityAccessLevel)
 | 
			
		||||
                                {
 | 
			
		||||
                                    case SecurityAccessLevel.Anonymous:
 | 
			
		||||
                                        authorized = true;
 | 
			
		||||
                                        break;
 | 
			
		||||
                                    case SecurityAccessLevel.View:
 | 
			
		||||
                                        authorized = UserSecurity.IsAuthorized(PageState.User, "View", module.Permissions);
 | 
			
		||||
                                        break;
 | 
			
		||||
                                    case SecurityAccessLevel.Edit:
 | 
			
		||||
                                        authorized = UserSecurity.IsAuthorized(PageState.User, "Edit", module.Permissions);
 | 
			
		||||
                                        break;
 | 
			
		||||
                                    case SecurityAccessLevel.Admin:
 | 
			
		||||
                                        authorized = UserSecurity.IsAuthorized(PageState.User, Constants.AdminRole);
 | 
			
		||||
                                        break;
 | 
			
		||||
                                    case SecurityAccessLevel.Host:
 | 
			
		||||
                                        authorized = UserSecurity.IsAuthorized(PageState.User, Constants.HostRole);
 | 
			
		||||
                                        break;
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                            if (authorized)
 | 
			
		||||
                            {
 | 
			
		||||
                                if (PageState.Control != "Settings")
 | 
			
		||||
                                if (PageState.Control != "Settings" && module.ControlTitle != "")
 | 
			
		||||
                                {
 | 
			
		||||
                                    // get module control title
 | 
			
		||||
                                    string title = (string)moduleType.GetProperty("Title").GetValue(moduleobject);
 | 
			
		||||
                                    if (title != "")
 | 
			
		||||
                                    {
 | 
			
		||||
                                        module.Title = title;
 | 
			
		||||
                                    }
 | 
			
		||||
                                    module.Title = module.ControlTitle;
 | 
			
		||||
                                }
 | 
			
		||||
                                builder.OpenComponent(0, Type.GetType(Constants.DefaultContainer));
 | 
			
		||||
                                builder.AddAttribute(1, "Module", module);
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,7 @@
 | 
			
		||||
@using System
 | 
			
		||||
@using Oqtane.Services
 | 
			
		||||
@using Oqtane.Models
 | 
			
		||||
@using Oqtane.Modules
 | 
			
		||||
@using System.Linq
 | 
			
		||||
@using System.Collections.Generic
 | 
			
		||||
@using Oqtane.Shared
 | 
			
		||||
@ -25,10 +26,10 @@
 | 
			
		||||
 | 
			
		||||
@code {
 | 
			
		||||
 | 
			
		||||
    [CascadingParameter] 
 | 
			
		||||
    [CascadingParameter]
 | 
			
		||||
    PageState PageState { get; set; }
 | 
			
		||||
 | 
			
		||||
    [Parameter] 
 | 
			
		||||
    [Parameter]
 | 
			
		||||
    public Action<PageState> OnStateChange { get; set; }
 | 
			
		||||
 | 
			
		||||
    PageState pagestate;
 | 
			
		||||
@ -58,7 +59,7 @@
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected override async Task OnParametersSetAsync()
 | 
			
		||||
    {        
 | 
			
		||||
    {
 | 
			
		||||
        if (PageState == null)
 | 
			
		||||
        {
 | 
			
		||||
            // misconfigured api calls should not be processed through the router
 | 
			
		||||
@ -68,7 +69,7 @@
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                System.Diagnostics.Debug.WriteLine(this.GetType().FullName + ": Error: " + _absoluteUri + " is not mapped to a Controller");
 | 
			
		||||
                System.Diagnostics.Debug.WriteLine(this.GetType().FullName + ": Error: API call to " + _absoluteUri + " is not mapped to a Controller");
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@ -87,12 +88,14 @@
 | 
			
		||||
        int moduleid = -1;
 | 
			
		||||
        string control = "";
 | 
			
		||||
        bool editmode = false;
 | 
			
		||||
        bool designmode = false;
 | 
			
		||||
        int reload = 0;
 | 
			
		||||
 | 
			
		||||
        if (PageState != null)
 | 
			
		||||
        {
 | 
			
		||||
            reload = PageState.Reload;
 | 
			
		||||
            editmode = PageState.EditMode;
 | 
			
		||||
            designmode = PageState.DesignMode;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (PageState == null || reload == Constants.ReloadApplication)
 | 
			
		||||
@ -190,7 +193,8 @@
 | 
			
		||||
            {
 | 
			
		||||
                page = pages.Where(item => item.Path == path).FirstOrDefault();
 | 
			
		||||
                reload = Constants.ReloadPage;
 | 
			
		||||
                editmode = false;
 | 
			
		||||
                editmode = page.EditMode;
 | 
			
		||||
                designmode = false;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            user = null;
 | 
			
		||||
@ -242,7 +246,8 @@
 | 
			
		||||
                    }
 | 
			
		||||
                    pagestate.Modules = modules;
 | 
			
		||||
                    pagestate.EditMode = editmode;
 | 
			
		||||
                    pagestate.Reload = 0;
 | 
			
		||||
                    pagestate.DesignMode = designmode;
 | 
			
		||||
                    pagestate.Reload = Constants.ReloadReset;
 | 
			
		||||
 | 
			
		||||
                    OnStateChange?.Invoke(pagestate);
 | 
			
		||||
                }
 | 
			
		||||
@ -330,6 +335,22 @@
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                module.ModuleType = typename.Replace("{Control}", control);
 | 
			
		||||
 | 
			
		||||
                // get IModuleControl properties
 | 
			
		||||
                typename = module.ModuleType;
 | 
			
		||||
                if (control == "Settings")
 | 
			
		||||
                {
 | 
			
		||||
                    typename = Constants.DefaultSettingsControl;
 | 
			
		||||
                }
 | 
			
		||||
                Type moduletype = Type.GetType(typename);
 | 
			
		||||
                if (moduletype != null)
 | 
			
		||||
                {
 | 
			
		||||
                    var moduleobject = Activator.CreateInstance(moduletype);
 | 
			
		||||
                    module.SecurityAccessLevel = (SecurityAccessLevel)moduletype.GetProperty("SecurityAccessLevel").GetValue(moduleobject, null);
 | 
			
		||||
                    module.ControlTitle = (string)moduletype.GetProperty("Title").GetValue(moduleobject);
 | 
			
		||||
                    module.Actions = (string)moduletype.GetProperty("Actions").GetValue(moduleobject);
 | 
			
		||||
                    module.AdminContainerType = (string)moduletype.GetProperty("ContainerType").GetValue(moduleobject);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            // ensure module's pane exists in current page and if not, assign it to the Admin pane
 | 
			
		||||
 | 
			
		||||
@ -170,10 +170,12 @@
 | 
			
		||||
            if (PageState.EditMode)
 | 
			
		||||
            {
 | 
			
		||||
                PageState.EditMode = false;
 | 
			
		||||
                PageState.DesignMode = false;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                PageState.EditMode = true;
 | 
			
		||||
                PageState.DesignMode = true;
 | 
			
		||||
            }
 | 
			
		||||
            PageState.Reload = Constants.ReloadPage;
 | 
			
		||||
            UriHelper.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + PageState.EditMode.ToString().ToLower()));
 | 
			
		||||
 | 
			
		||||
@ -8,7 +8,7 @@
 | 
			
		||||
@inject IUserService UserService
 | 
			
		||||
@inject IPageModuleService PageModuleService
 | 
			
		||||
 | 
			
		||||
@if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, "Edit", ModuleState.Permissions))
 | 
			
		||||
@if (PageState.DesignMode && UserSecurity.IsAuthorized(PageState.User, "Edit", ModuleState.Permissions))
 | 
			
		||||
{
 | 
			
		||||
    <div class="dropdown">
 | 
			
		||||
        <button type="button" class="btn dropdown-toggle" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></button>
 | 
			
		||||
 | 
			
		||||
@ -31,6 +31,7 @@ CREATE TABLE [dbo].[Page](
 | 
			
		||||
	[Order] [int] NOT NULL,
 | 
			
		||||
	[IsNavigation] [bit] NOT NULL,
 | 
			
		||||
	[LayoutType] [nvarchar](200) NOT NULL,
 | 
			
		||||
	[EditMode] [bit] NOT NULL,
 | 
			
		||||
	[CreatedBy] [nvarchar](256) NOT NULL,
 | 
			
		||||
	[CreatedOn] [datetime] NOT NULL,
 | 
			
		||||
	[ModifiedBy] [nvarchar](256) NOT NULL,
 | 
			
		||||
@ -411,8 +412,8 @@ GO
 | 
			
		||||
 | 
			
		||||
SET IDENTITY_INSERT [dbo].[Page] ON 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (1, 1, N'Page1', N'', N'Oqtane.Client.Themes.Theme1.Theme1, Oqtane.Client', N'oi-home', N'Left;Right', NULL, 1, 1, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (1, 1, N'Page1', N'', N'Oqtane.Client.Themes.Theme1.Theme1, Oqtane.Client', N'oi-home', N'Left;Right', NULL, 1, 1, N'', 0, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 1, 'View', -1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
@ -420,15 +421,15 @@ INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName],
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 1, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (2, 1, N'Page2', N'page2', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'oi-plus', N'Top;Bottom', NULL, 3, 1, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (2, 1, N'Page2', N'page2', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'oi-plus', N'Top;Bottom', NULL, 3, 1, N'', 0, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 2, 'View', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 2, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (3, 1, N'Page3', N'page3', N'Oqtane.Client.Themes.Theme3.Theme3, Oqtane.Client', N'oi-list-rich', N'Left;Right', NULL, 3, 1, N'Oqtane.Client.Themes.Theme3.HorizontalLayout, Oqtane.Client', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (3, 1, N'Page3', N'page3', N'Oqtane.Client.Themes.Theme3.Theme3, Oqtane.Client', N'oi-list-rich', N'Left;Right', NULL, 3, 1, N'Oqtane.Client.Themes.Theme3.HorizontalLayout, Oqtane.Client', 0, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 3, 'View', -1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
@ -436,22 +437,22 @@ INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName],
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 3, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (4, 1, N'Admin', N'admin', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'oi-home', N'Top;Bottom', NULL, 7, 1, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (4, 1, N'Admin', N'admin', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'oi-home', N'Top;Bottom', NULL, 7, 1, N'', '', 1, getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 4, 'View', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 4, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (5, 1, N'Page Management', N'admin/pages', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 1, 1, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (5, 1, N'Page Management', N'admin/pages', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 1, 1, N'', 1, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 5, 'View', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 5, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (6, 1, N'Login', N'login', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', NULL, 1, 0, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (6, 1, N'Login', N'login', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', NULL, 1, 0, N'', 0, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 6, 'View', -1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
@ -459,8 +460,8 @@ INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName],
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 6, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (7, 1, N'Register', N'register', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', NULL, 1, 0, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (7, 1, N'Register', N'register', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', NULL, 1, 0, N'', 0, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 7, 'View', -1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
@ -468,36 +469,36 @@ INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName],
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 7, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (8, 1, N'Site Management', N'admin/sites', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 0, 1, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (8, 1, N'Site Management', N'admin/sites', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 0, 1, N'', 1, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 8, 'View', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 8, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (9, 1, N'User Management', N'admin/users', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 2, 1, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (9, 1, N'User Management', N'admin/users', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 2, 1, N'', 1, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 9, 'View', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 9, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (10, 1, N'Module Management', N'admin/modules', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 3, 1, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (10, 1, N'Module Management', N'admin/modules', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 3, 1, N'', 1, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 10, 'View', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 10, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (11, 1, N'Theme Management', N'admin/themes', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 4, 1, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (11, 1, N'Theme Management', N'admin/themes', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 4, 1, N'', 1, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 11, 'View', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 11, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (12, 2, N'Page1', N'', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'oi-home', N'Top;Bottom', NULL, 1, 1, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (12, 2, N'Page1', N'', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'oi-home', N'Top;Bottom', NULL, 1, 1, N'', 0, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (2, 'Page', 12, 'View', -1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
@ -505,8 +506,8 @@ INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName],
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (2, 'Page', 12, 'Edit', 3, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (13, 2, N'Page2', N'page2', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'oi-home', N'Top;Bottom', NULL, 1, 1, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (13, 2, N'Page2', N'page2', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'oi-home', N'Top;Bottom', NULL, 1, 1, N'', 0, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (2, 'Page', 13, 'View', -1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
@ -514,8 +515,8 @@ INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName],
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (2, 'Page', 13, 'Edit', 3, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (14, 2, N'Login', N'login', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', NULL, 1, 0, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (14, 2, N'Login', N'login', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', NULL, 1, 0, N'', 0, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (2, 'Page', 14, 'View', -1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
@ -523,8 +524,8 @@ INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName],
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (2, 'Page', 14, 'Edit', 3, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (15, 2, N'Register', N'register', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', NULL, 1, 0, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (15, 2, N'Register', N'register', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', NULL, 1, 0, N'', 0, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (2, 'Page', 15, 'View', -1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
@ -532,15 +533,15 @@ INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName],
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (2, 'Page', 15, 'Edit', 3, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (16, 1, N'Role Management', N'admin/roles', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 5, 1, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (16, 1, N'Role Management', N'admin/roles', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', 4, 5, 1, N'', 1, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 16, 'View', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 16, 'Edit', 1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (17, 1, N'Profile', N'profile', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', NULL, 1, 0, N'', '', getdate(), '', getdate())
 | 
			
		||||
INSERT [dbo].[Page] ([PageId], [SiteId], [Name], [Path], [ThemeType], [Icon], [Panes], [ParentId], [Order], [IsNavigation], [LayoutType], [EditMode], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) 
 | 
			
		||||
VALUES (17, 1, N'Profile', N'profile', N'Oqtane.Client.Themes.Theme2.Theme2, Oqtane.Client', N'', N'Top;Bottom', NULL, 1, 0, N'', 0, '', getdate(), '', getdate())
 | 
			
		||||
GO
 | 
			
		||||
INSERT [dbo].[Permission] ([SiteId], [EntityName], [EntityId], [PermissionName], [RoleId], [UserId], [IsAuthorized], [CreatedBy], [CreatedOn], [ModifiedBy], [ModifiedOn]) VALUES (1, 'Page', 17, 'View', -1, null, 1, '', getdate(), '', getdate()) 
 | 
			
		||||
GO
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,5 @@
 | 
			
		||||
using System;
 | 
			
		||||
using Oqtane.Modules;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.ComponentModel.DataAnnotations.Schema;
 | 
			
		||||
 | 
			
		||||
@ -18,6 +19,7 @@ namespace Oqtane.Models
 | 
			
		||||
        [NotMapped]
 | 
			
		||||
        public string Permissions { get; set; }
 | 
			
		||||
 | 
			
		||||
        // PageModule properties
 | 
			
		||||
        [NotMapped]
 | 
			
		||||
        public int PageModuleId { get; set; }
 | 
			
		||||
        [NotMapped]
 | 
			
		||||
@ -30,11 +32,23 @@ namespace Oqtane.Models
 | 
			
		||||
        public int Order { get; set; }
 | 
			
		||||
        [NotMapped]
 | 
			
		||||
        public string ContainerType { get; set; }
 | 
			
		||||
 | 
			
		||||
        // SiteRouter properties
 | 
			
		||||
        [NotMapped]
 | 
			
		||||
        public string ModuleType { get; set; }
 | 
			
		||||
        [NotMapped]
 | 
			
		||||
        public int PaneModuleIndex { get; set; }
 | 
			
		||||
        [NotMapped]
 | 
			
		||||
        public int PaneModuleCount { get; set; }
 | 
			
		||||
 | 
			
		||||
        // IModuleControl properties
 | 
			
		||||
        [NotMapped]
 | 
			
		||||
        public SecurityAccessLevel SecurityAccessLevel { get; set; }
 | 
			
		||||
        [NotMapped]
 | 
			
		||||
        public string ControlTitle { get; set; }
 | 
			
		||||
        [NotMapped]
 | 
			
		||||
        public string Actions { get; set; }
 | 
			
		||||
        [NotMapped]
 | 
			
		||||
        public string AdminContainerType { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -16,6 +16,7 @@ namespace Oqtane.Models
 | 
			
		||||
        public string Icon { get; set; }
 | 
			
		||||
        public string Panes { get; set; }
 | 
			
		||||
        public bool IsNavigation { get; set; }
 | 
			
		||||
        public bool EditMode { get; set; }
 | 
			
		||||
 | 
			
		||||
        public string CreatedBy { get; set; }
 | 
			
		||||
        public DateTime CreatedOn { get; set; }
 | 
			
		||||
 | 
			
		||||
@ -19,5 +19,6 @@
 | 
			
		||||
        public const int ReloadApplication = 3;
 | 
			
		||||
        public const int ReloadSite = 2;
 | 
			
		||||
        public const int ReloadPage = 1;
 | 
			
		||||
        public const int ReloadReset = 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user