Portal signin via Control Instance
This commit is contained in:
@@ -0,0 +1,273 @@
|
||||
@* Account - User Account *@
|
||||
@model Model_UserAccount
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
ViewData["Title"] = "User Accounts";
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-res-pag.js");
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-usr.js");
|
||||
}
|
||||
|
||||
<div class="sbc-panel Users fullheight">
|
||||
|
||||
<script type="text/javascript">
|
||||
sbc.dlg.title.createItem = '@(Localiser.GetJavascriptText("caption.user.create"))';
|
||||
sbc.dlg.title.updateItem = '@(Localiser.GetJavascriptText("caption.user.update"))';
|
||||
</script>
|
||||
|
||||
<div class="sbc-panel-data sbc-flex">
|
||||
|
||||
@* Filter form - wrap header to include paging controls. *@
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmUserFilter", @class = "sbc-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
|
||||
<div class="sbc-panel-header">
|
||||
<div class="row">
|
||||
<div class="fixed">
|
||||
<partial name="~/Views/Common/ResultsPaging.cshtml" />
|
||||
</div>
|
||||
<div class="col center"><div class="sbc-panel-caption">@Localiser["label.users"]</div></div>
|
||||
<div class="fixed">
|
||||
@* Burger menu *@
|
||||
<ul class="nav navbar-nav navbar-dark navbar-right sbc-burger">
|
||||
<li class="dropdown-toggle caret-off">
|
||||
<a href="#" class="dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="navbar-toggler-icon"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right sbc-dropdown-menu">@* Menu items will be inserted here. *@</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Filter Panel *@
|
||||
<div class="sbc-panel-filter">
|
||||
<div class="row pb4">
|
||||
<div class="col-sm-5 sbc-label text-left text-sm-right">@Localiser["label.search"]</div>
|
||||
<div class="col-sm-7">
|
||||
@Html.TextBoxFor(model => model.Filter.Search, new { @id = "", @class = "FilterSearch", @maxlength = "32" })
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
|
||||
<div class="sbc-panel-item-table sbc-flex">
|
||||
<table class="sbc-item-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="pl-2">@Localiser["label.email"]</th>
|
||||
<th class="">@Localiser["label.name"]</th>
|
||||
<th class="center">@Localiser["label.phone"]</th>
|
||||
<th class="center">@Localiser["label.last.login"]</th>
|
||||
<th class="center">@Localiser["label.status"]</th>
|
||||
<th class="right" style="width:2%;"></th>
|
||||
</tr>
|
||||
<tr><td colspan="6"><div class="sbc-panel-messages"></div></td></tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@* Element templates *@
|
||||
<div class="sbc-panel-item-template">
|
||||
@* Filter Burger option template - ul is ignored *@
|
||||
<ul class="sbc-dropdown-menu UserFilter">
|
||||
<li class="sbc-dropdown-item sbc-action"><div class="sbc-label">XXX</div></li>
|
||||
</ul>
|
||||
@* User row template - table is ignored. *@
|
||||
<table class="">
|
||||
<tr class="sbc-row-item User">
|
||||
<td><div class="UserEmailAddress pl-1"></div></td>
|
||||
<td><div class="UserDisplayName"></div></td>
|
||||
<td><div class="UserPhone center"></div></td>
|
||||
<td><div class="UserLastLoginOn center"></div></td>
|
||||
<td><div class="UserStatusDesc center"></div></td>
|
||||
<td>
|
||||
<div class="right">
|
||||
@* Burger menu *@
|
||||
<ul class="nav navbar-nav navbar-light navbar-right sbc-burger">
|
||||
<li class="dropdown-toggle caret-off">
|
||||
<a href="#" class="dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="sbc-ellipsis-dot"></span><span class="sbc-ellipsis-dot"></span><span class="sbc-ellipsis-dot"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right sbc-dropdown-menu">@* Menu items will be inserted here. *@</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@* Item Burger option template - ul is ignored *@
|
||||
<ul class="sbc-dropdown-menu User">
|
||||
<li class="sbc-dropdown-item sbc-action"><div class="sbc-label">XXX</div></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmUserId", @onSubmit = "return false;" }))
|
||||
{
|
||||
@Html.HiddenFor(model => model.User.Id, new { @id = "", @class = "UserId" })
|
||||
}
|
||||
<div id="dlgUser" class="sbc-dialog">
|
||||
<div class="spacer2"></div>
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmUser", @class = "sbc-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
@Html.HiddenFor(model => model.User.Exists, new { @id = "", @class = "UserExists" })
|
||||
@Html.HiddenFor(model => model.User.Id, new { @id = "", @class = "UserId" })
|
||||
|
||||
@* Email Address *@
|
||||
<div class="sbc-form-control UserEmailAddress">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifUserEmailAddress"><span>@Localiser["label.email"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.User.EmailAddress, new { @id = "ifUserEmailAddress", @class = "UserEmailAddress sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.UserAccount_EmailAddress) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Title *@
|
||||
<div class="sbc-form-control UserTitle">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifUserTitle"><span>@Localiser["label.title"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.User.Title, new { @id = "ifUserTitle", @class = "UserTitle sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.UserAccount_Title) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* First Name *@
|
||||
<div class="sbc-form-control UserFirstName">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifUserFirstName"><span>@Localiser["label.first.name"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.User.FirstName, new { @id = "ifUserFirstName", @class = "UserFirstName sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.UserAccount_FirstName) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Initials *@
|
||||
<div class="sbc-form-control UserInitials">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifUserInitials"><span>@Localiser["label.initials"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.User.Initials, new { @id = "ifUserInitials", @class = "UserInitials sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.UserAccount_Initials) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Last Name *@
|
||||
<div class="sbc-form-control UserLastName">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifUserLastName"><span>@Localiser["label.last.name"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.User.LastName, new { @id = "ifUserLastName", @class = "UserLastName sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.UserAccount_LastName) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* PhoneMain *@
|
||||
<div class="sbc-form-control UserPhoneMain">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifUserPhoneMain"><span>@Localiser["label.phone"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.User.PhoneMain, new { @id = "ifUserPhoneMain", @class = "UserPhoneMain sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.UserAccount_PhoneMain) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* PhoneMobile *@
|
||||
<div class="sbc-form-control UserPhoneMobile">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifUserPhoneMobile"><span>@Localiser["label.mobile"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.User.PhoneMobile, new { @id = "ifUserPhoneMobile", @class = "UserPhoneMobile sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.UserAccount_PhoneMobile) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* PhoneAlt *@
|
||||
<div class="sbc-form-control UserPhoneAlt">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifUserPhoneAlt"><span>@Localiser["label.phone.alt"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.User.PhoneAlt, new { @id = "ifUserPhoneAlt", @class = "UserPhoneAlt sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.UserAccount_PhoneAlt) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* User Status *@
|
||||
<div class="sbc-form-control UserStatus">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="cbUserStatus"><span>@Localiser["label.status"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
<select id="cbUserStatus" class="sbc-select UserStatus" name="User.StatusCode"></select>
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
<div class="spacer2"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,25 @@
|
||||
@model SbmModel_Control
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
// Scripts.
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-res-pag.js");
|
||||
}
|
||||
|
||||
<script type="text/javascript">
|
||||
sbc.resultsPaging = sbc.resultsPaging || { fn: {}, msg: {}, contexts: [] };
|
||||
sbc.resultsPaging.msg.pageInfo = '@Localiser.GetJavascriptText("label.page.info", "{0}", "{1}")';
|
||||
</script>
|
||||
|
||||
@* Results paging *@
|
||||
<div class="sbc-results-paging hidden">
|
||||
|
||||
@Html.HiddenFor(model => model.Paging.PageNo, new { @id = "", @class = "PagingPageNo" })
|
||||
@Html.HiddenFor(model => model.Paging.PageLength, new { @id = "", @class = "PagingPageLength" })
|
||||
|
||||
<div class="iblock sbc-action sbc-paging-first"><img src="~/img/action/first24.png" alt="@(Localiser["label.first"])" title="@(Localiser["label.first"])" /></div>
|
||||
<div class="iblock sbc-action sbc-paging-prev"><img src="~/img/action/prev24.png" alt="@(Localiser["label.previous"])" title="@(Localiser["label.previous"])" /></div>
|
||||
<div class="iblock sbc-paging-info"></div>
|
||||
<div class="iblock sbc-action sbc-paging-next"><img src="~/img/action/next24.png" alt="@(Localiser["label.next"])" title="@(Localiser["label.next"])" /></div>
|
||||
<div class="iblock sbc-action sbc-paging-last"><img src="~/img/action/last24.png" alt="@(Localiser["label.last"])" title="@(Localiser["label.last"])" /></div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,53 @@
|
||||
@model SbmModel_Control
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
// Ensure view is only included once in page.
|
||||
if (!Model.RegisterView("Views/Common/SelectItem")) return;
|
||||
// Scripts.
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-sel-itm.js");
|
||||
}
|
||||
|
||||
<link rel="stylesheet" href="~/css/sbc-sel-itm.css?@Model.HrefVersion" />
|
||||
|
||||
<div id="dlgSelectItem" class="sbc-dialog sbc-form">
|
||||
|
||||
<div class="container-fluid h-100">
|
||||
|
||||
@* Selected Item *@
|
||||
<div class="SelectedItem">
|
||||
<div class="row">
|
||||
<div class="col-sm-12"><div class="sbc-label">@Localiser["label.item.selected"]:</div></div>
|
||||
<div class="col-sm-12"><div class="SelectedItemName"></div></div>
|
||||
</div>
|
||||
<div class="spacer2"></div>
|
||||
</div>
|
||||
|
||||
@* Item Filter *@
|
||||
<div class="ItemFilter sbc-form">
|
||||
<div class="row">
|
||||
<div class="col right"><div class="sbc-label">@Localiser["label.search"]</div></div>
|
||||
<div class="fixed"><input type="search" id="ifItemFilter" class="sbc-input" autocomplete="off" onkeyup="sbc.data.selectItem.fn.displayItems();" /></div>
|
||||
</div>
|
||||
<div class="spacer2"></div>
|
||||
</div>
|
||||
|
||||
@* Available items *@
|
||||
<div class="row">
|
||||
<div class="col"><div class="sbc-label bottom">@Localiser["label.items.available"]:</div></div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-sm-12 sbc-selectItem-items AvailableItems"></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="sbc-panel-item-template">
|
||||
<div class="sbc-panel-item Item">
|
||||
<div class="ItemName"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -1,4 +1,6 @@
|
||||
@{
|
||||
@model Model_Home
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
ViewData["Title"] = "Home Page";
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,222 @@
|
||||
@* Instance - Owner *@
|
||||
@model Model_Owner
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
ViewData["Title"] = "Owner Accounts";
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-res-pag.js");
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-ins-own.js");
|
||||
}
|
||||
|
||||
<div class="sbc-panel Owners fullheight">
|
||||
|
||||
<script type="text/javascript">
|
||||
sbc.dlg.title.createItem= '@(Localiser.GetJavascriptText("caption.owner.create"))';
|
||||
sbc.dlg.title.updateItem= '@(Localiser.GetJavascriptText("caption.owner.update"))';
|
||||
</script>
|
||||
|
||||
<div class="sbc-panel-data sbc-flex">
|
||||
|
||||
@* Filter form - wrap header to include paging controls. *@
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmOwnerFilter", @class = "sbc-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
|
||||
<div class="sbc-panel-header">
|
||||
<div class="row">
|
||||
<div class="fixed">
|
||||
<partial name="~/Views/Common/ResultsPaging.cshtml" />
|
||||
</div>
|
||||
<div class="col center"><div class="sbc-panel-caption">@Localiser["label.owners"]</div></div>
|
||||
<div class="fixed">
|
||||
@* Burger menu *@
|
||||
<ul class="nav navbar-nav navbar-dark navbar-right sbc-burger">
|
||||
<li class="dropdown-toggle caret-off">
|
||||
<a href="#" class="dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="navbar-toggler-icon"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right sbc-dropdown-menu">@* Menu items will be inserted here. *@</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Filter Panel *@
|
||||
<div class="sbc-panel-filter">
|
||||
<div class="row pb4">
|
||||
<div class="col-sm-5 sbc-label text-left text-sm-right">@Localiser["label.search"]</div>
|
||||
<div class="col-sm-7">
|
||||
@Html.TextBoxFor(model => model.Filter.Search, new { @id = "", @class = "FilterSearch", @maxlength = "32" })
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
|
||||
<div class="sbc-panel-item-table sbc-flex">
|
||||
<table class="sbc-item-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="pl-2">@Localiser["label.name"]</th>
|
||||
<th class="">@Localiser["label.contact"]</th>
|
||||
<th class="">@Localiser["label.email"]</th>
|
||||
<th class="center">@Localiser["label.phone"]</th>
|
||||
<th class="center">@Localiser["label.status"]</th>
|
||||
<th class="right" style="width:2%;"></th>
|
||||
</tr>
|
||||
<tr><td colspan="6"><div class="sbc-panel-messages"></div></td></tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@* Element templates *@
|
||||
<div class="sbc-panel-item-template">
|
||||
@* Filter Burger option template - ul is ignored *@
|
||||
<ul class="sbc-dropdown-menu OwnerFilter">
|
||||
<li class="sbc-dropdown-item sbc-action"><div class="sbc-label">XXX</div></li>
|
||||
</ul>
|
||||
@* Owner row template - table is ignored. *@
|
||||
<table class="">
|
||||
<tr class="sbc-row-item Owner">
|
||||
<td><div class="OwnerName pl-1"></div></td>
|
||||
<td><div class="OwnerContactName"></div></td>
|
||||
<td><div class="OwnerContactEmailAddress"></div></td>
|
||||
<td><div class="OwnerContactPhone center"></div></td>
|
||||
<td><div class="OwnerStatusDesc center"></div></td>
|
||||
<td>
|
||||
<div class="right">
|
||||
@* Burger menu *@
|
||||
<ul class="nav navbar-nav navbar-light navbar-right sbc-burger">
|
||||
<li class="dropdown-toggle caret-off">
|
||||
<a href="#" class="dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="sbc-ellipsis-dot"></span><span class="sbc-ellipsis-dot"></span><span class="sbc-ellipsis-dot"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right sbc-dropdown-menu">@* Menu items will be inserted here. *@</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@* Item Burger option template - ul is ignored *@
|
||||
<ul class="sbc-dropdown-menu Owner">
|
||||
<li class="sbc-dropdown-item sbc-action"><div class="sbc-label">XXX</div></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmOwnerId", @onSubmit = "return false;" }))
|
||||
{
|
||||
@Html.HiddenFor(model => model.Owner.Id, new { @id = "", @class = "OwnerId" })
|
||||
}
|
||||
<div id="dlgOwner" class="sbc-dialog">
|
||||
<div class="spacer2"></div>
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmOwner", @class = "sbc-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
@Html.HiddenFor(model => model.Owner.Exists, new { @id = "", @class = "OwnerExists" })
|
||||
@Html.HiddenFor(model => model.Owner.Id, new { @id = "", @class = "OwnerId" })
|
||||
|
||||
@* Name *@
|
||||
<div class="sbc-form-control OwnerName">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifOwnerName"><span>@Localiser["label.name"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Owner.Name, new { @id = "ifOwnerName", @class = "OwnerName sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.Owner_Name) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Contact Name *@
|
||||
<div class="sbc-form-control OwnerContactName">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifOwnerContactName"><span>@Localiser["label.contact"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Owner.ContactName, new { @id = "ifOwnerContactName", @class = "OwnerContactName sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.Owner_ContactName) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Contact Email Address *@
|
||||
<div class="sbc-form-control OwnerContactEmailAddress">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifOwnerContactEmailAddress"><span>@Localiser["label.email"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Owner.ContactEmailAddress, new { @id = "ifOwnerContactEmailAddress", @class = "OwnerContactEmailAddress sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.Owner_ContactEmailAddress) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* PhoneMain *@
|
||||
<div class="sbc-form-control OwnerContactPhoneMain">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifOwnerContactPhoneMain"><span>@Localiser["label.phone"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Owner.ContactPhoneMain, new { @id = "ifOwnerContactPhoneMain", @class = "OwnerContactPhoneMain sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.Owner_ContactPhoneMain) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* PhoneAlt *@
|
||||
<div class="sbc-form-control OwnerContactPhoneAlt">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifOwnerContactPhoneAlt"><span>@Localiser["label.phone.alt"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Owner.ContactPhoneAlt, new { @id = "ifOwnerContactPhoneAlt", @class = "OwnerContactPhoneAlt sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.Owner_ContactPhoneAlt) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Owner Status *@
|
||||
<div class="sbc-form-control OwnerStatus">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="cbOwnerStatus"><span>@Localiser["label.status"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
<select id="cbOwnerStatus" class="sbc-select OwnerStatus" name="Owner.StatusCode"></select>
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
<div class="spacer2"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,271 @@
|
||||
@* Instance - Repository *@
|
||||
@model Model_Repository
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
ViewData["Title"] = "Repository Accounts";
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-res-pag.js");
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-ins-rep.js");
|
||||
}
|
||||
|
||||
<div class="sbc-panel Repositories fullheight">
|
||||
|
||||
<script type="text/javascript">
|
||||
sbc.dlg.title.createItem = '@(Localiser.GetJavascriptText("caption.repository.create"))';
|
||||
sbc.dlg.title.updateItem = '@(Localiser.GetJavascriptText("caption.repository.update"))';
|
||||
sbc.lbl.selectOwner = '@(Localiser.GetJavascriptText("caption.select.owner"))';
|
||||
</script>
|
||||
|
||||
<div class="sbc-panel-data sbc-flex">
|
||||
|
||||
@* Filter form - wrap header to include paging controls. *@
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmRepositoryFilter", @class = "sbc-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
|
||||
<div class="sbc-panel-header">
|
||||
<div class="row">
|
||||
<div class="fixed">
|
||||
<partial name="~/Views/Common/ResultsPaging.cshtml" />
|
||||
</div>
|
||||
<div class="col center"><div class="sbc-panel-caption">@Localiser["label.repositories"]</div></div>
|
||||
<div class="fixed">
|
||||
@* Burger menu *@
|
||||
<ul class="nav navbar-nav navbar-dark navbar-right sbc-burger">
|
||||
<li class="dropdown-toggle caret-off">
|
||||
<a href="#" class="dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="navbar-toggler-icon"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right sbc-dropdown-menu">@* Menu items will be inserted here. *@</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Filter Panel *@
|
||||
<div class="sbc-panel-filter">
|
||||
<div class="row pb4">
|
||||
<div class="col-sm-5 sbc-label text-left text-sm-right">@Localiser["label.search"]</div>
|
||||
<div class="col-sm-7">
|
||||
@Html.TextBoxFor(model => model.Filter.Search, new { @id = "", @class = "FilterSearch", @maxlength = "32" })
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
|
||||
<div class="sbc-panel-item-table sbc-flex">
|
||||
<table class="sbc-item-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="pl-2">@Localiser["label.context"]</th>
|
||||
<th class="">@Localiser["label.owner"]</th>
|
||||
<th class="">@Localiser["label.server"]</th>
|
||||
<th class="">@Localiser["label.instance"]</th>
|
||||
<th class="">@Localiser["label.database"]</th>
|
||||
<th class="center">@Localiser["label.status"]</th>
|
||||
<th class="right" style="width:2%;"></th>
|
||||
</tr>
|
||||
<tr><td colspan="6"><div class="sbc-panel-messages"></div></td></tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@* Element templates *@
|
||||
<div class="sbc-panel-item-template">
|
||||
@* Filter Burger option template - ul is ignored *@
|
||||
<ul class="sbc-dropdown-menu RepositoryFilter">
|
||||
<li class="sbc-dropdown-item sbc-action"><div class="sbc-label">XXX</div></li>
|
||||
</ul>
|
||||
@* Repository row template - table is ignored. *@
|
||||
<table class="">
|
||||
<tr class="sbc-row-item Repository">
|
||||
<td><div class="RepositoryContext pl-1"></div></td>
|
||||
<td><div class="RepositoryOwnerName"></div></td>
|
||||
<td><div class="RepositoryServerName"></div></td>
|
||||
<td><div class="RepositoryInstanceName"></div></td>
|
||||
<td><div class="RepositoryDatabaseName"></div></td>
|
||||
<td><div class="RepositoryStatusDesc center"></div></td>
|
||||
<td>
|
||||
<div class="right">
|
||||
@* Burger menu *@
|
||||
<ul class="nav navbar-nav navbar-light navbar-right sbc-burger">
|
||||
<li class="dropdown-toggle caret-off">
|
||||
<a href="#" class="dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="sbc-ellipsis-dot"></span><span class="sbc-ellipsis-dot"></span><span class="sbc-ellipsis-dot"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right sbc-dropdown-menu">@* Menu items will be inserted here. *@</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@* Item Burger option template - ul is ignored *@
|
||||
<ul class="sbc-dropdown-menu Repository">
|
||||
<li class="sbc-dropdown-item sbc-action"><div class="sbc-label">XXX</div></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmRepositoryId", @onSubmit = "return false;" }))
|
||||
{
|
||||
@Html.HiddenFor(model => model.Repository.Id, new { @id = "", @class = "RepositoryId" })
|
||||
}
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmOwners", @onSubmit = "return false;" }))
|
||||
{
|
||||
}
|
||||
<div id="dlgRepository" class="sbc-dialog">
|
||||
<div class="spacer2"></div>
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmRepository", @class = "sbc-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
@Html.HiddenFor(model => model.Repository.Exists, new { @id = "", @class = "RepositoryExists" })
|
||||
@Html.HiddenFor(model => model.Repository.Id, new { @id = "", @class = "RepositoryId" })
|
||||
|
||||
@* Repository Owner *@
|
||||
<div class="sbc-form-control RepositoryOwner">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for=""><span>@Localiser["label.owner"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control row">
|
||||
<div class="col">
|
||||
@Html.HiddenFor(model => model.Repository.OwnerId, new { @id = "", @class = "RepositoryOwnerId" })
|
||||
<input type="text" class="RepositoryOwner sbc-input" readonly="readonly" />
|
||||
</div>
|
||||
<div class="fixed">
|
||||
<div class="sbc-action RepositoryOwnerSearch"><img src="~/img/action/search24.png" alt="" title="" /></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Repository Context *@
|
||||
<div class="sbc-form-control RepositoryContext">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifRepositoryContext"><span>@Localiser["label.context"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Repository.Context, new { @id = "ifRepositoryContext", @class = "RepositoryContext sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.Repository_Context) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Repository Server Name *@
|
||||
<div class="sbc-form-control RepositoryServerName">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifRepositoryServerName"><span>@Localiser["label.server"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Repository.ServerName, new { @id = "ifRepositoryServerName", @class = "RepositoryServerName sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.Repository_ServerName) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Repository Instance Name *@
|
||||
<div class="sbc-form-control RepositoryInstanceName">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifRepositoryInstanceName"><span>@Localiser["label.instance"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Repository.InstanceName, new { @id = "ifRepositoryInstanceName", @class = "RepositoryInstanceName sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.Repository_InstanceName) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Repository Database Name *@
|
||||
<div class="sbc-form-control RepositoryDatabaseName">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifRepositoryDatabaseName"><span>@Localiser["label.database"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Repository.DatabaseName, new { @id = "ifRepositoryDatabaseName", @class = "RepositoryDatabaseName sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.Repository_DatabaseName) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Repository User Name *@
|
||||
<div class="sbc-form-control RepositoryUserName">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifRepositoryUserName"><span>@Localiser["label.user"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Repository.UserName, new { @id = "ifRepositoryUserName", @class = "RepositoryUserName sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.Repository_UserName) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Repository Password *@
|
||||
<div class="sbc-form-control RepositoryPassword">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifRepositoryPassword"><span>@Localiser["label.password"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.PasswordFor(model => model.Repository.Password, new { @id = "ifRepositoryPassword", @class = "RepositoryPassword sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.Repository_Password) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Repository Status *@
|
||||
<div class="sbc-form-control RepositoryStatus">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="cbRepositoryStatus"><span>@Localiser["label.status"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
<select id="cbRepositoryStatus" class="sbc-select RepositoryStatus" name="Repository.StatusCode"></select>
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
<div class="spacer2"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@* Select Item dialog and script *@
|
||||
<partial name="~/Views/Common/SelectItem.cshtml" />
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,249 @@
|
||||
@* Instance - Param *@
|
||||
@model Model_Param
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
ViewData["Title"] = "Param Accounts";
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-res-pag.js");
|
||||
Model.AdditionalFiles_JS.Add("js/sbc-prm.js");
|
||||
}
|
||||
|
||||
<div class="sbc-panel Params fullheight">
|
||||
|
||||
<script type="text/javascript">
|
||||
sbc.dlg.title.createItem = '@(Localiser.GetJavascriptText("caption.param.create"))';
|
||||
sbc.dlg.title.updateItem = '@(Localiser.GetJavascriptText("caption.param.update"))';
|
||||
sbc.lbl.selectItem = '@(Localiser.GetJavascriptText("caption.select.item"))';
|
||||
sbc.msg.itemNotSelected = '@(Localiser.GetJavascriptText("msg.warn.item.not.selected"))';
|
||||
</script>
|
||||
|
||||
<div class="sbc-panel-data sbc-flex">
|
||||
|
||||
@* Filter form - wrap header to include paging controls. *@
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmParamFilter", @class = "sbc-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
|
||||
<div class="sbc-panel-header">
|
||||
<div class="row">
|
||||
<div class="fixed">
|
||||
<partial name="~/Views/Common/ResultsPaging.cshtml" />
|
||||
</div>
|
||||
<div class="col center"><div class="sbc-panel-caption">@Localiser["label.params"]</div></div>
|
||||
<div class="fixed">
|
||||
@* Burger menu *@
|
||||
<ul class="nav navbar-nav navbar-dark navbar-right sbc-burger">
|
||||
<li class="dropdown-toggle caret-off">
|
||||
<a href="#" class="dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="navbar-toggler-icon"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right sbc-dropdown-menu">@* Menu items will be inserted here. *@</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Filter Panel *@
|
||||
<div class="sbc-panel-filter">
|
||||
<div class="row">
|
||||
<div class="col-sm-8 row pb4">
|
||||
<div class="col-sm-3 sbc-label text-left text-sm-right">@Localiser["label.item"]</div>
|
||||
<div class="col row">
|
||||
<div class="fixed">
|
||||
@Html.DropDownListFor(model => model.Filter.ItemType, Model.GetParamItemTypesForSelect(), new { @id = "", @class = "FilterItemType mr-1" })
|
||||
</div>
|
||||
<div class="col-sm row">
|
||||
<input type="hidden" id="" name="Filter.ItemId" class="FilterItemId" />
|
||||
<div class="col">
|
||||
<input type="text" id="" class="FilterItem fullwidth" readonly="readonly" style="" />
|
||||
</div>
|
||||
<div class="fixed">
|
||||
<div class="sbc-action FilterItemSearch"><img src="/img/action/search24.png" alt="" title=""></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4 row pb4">
|
||||
<div class="col-sm-4 sbc-label text-left text-sm-right">@Localiser["label.search"]</div>
|
||||
<div class="col-sm-8">
|
||||
@Html.TextBoxFor(model => model.Filter.Search, new { @id = "", @class = "FilterSearch fullwidth", @maxlength = "32" })
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
|
||||
<div class="sbc-panel-item-table sbc-flex">
|
||||
<table class="sbc-item-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="pl-2">@Localiser["label.item"]</th>
|
||||
<th class="">@Localiser["label.context"]</th>
|
||||
<th class="">@Localiser["label.name"]</th>
|
||||
<th class="">@Localiser["label.value"]</th>
|
||||
<th class="center">@Localiser["label.status"]</th>
|
||||
<th class="right" style="width:2%;"></th>
|
||||
</tr>
|
||||
<tr><td colspan="6"><div class="sbc-panel-messages"></div></td></tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@* Element templates *@
|
||||
<div class="sbc-panel-item-template">
|
||||
@* Filter Burger option template - ul is ignored *@
|
||||
<ul class="sbc-dropdown-menu ParamFilter">
|
||||
<li class="sbc-dropdown-item sbc-action"><div class="sbc-label">XXX</div></li>
|
||||
</ul>
|
||||
@* Param row template - table is ignored. *@
|
||||
<table class="">
|
||||
<tr class="sbc-row-item Param">
|
||||
<td><div class="ParamItem pl-1"></div></td>
|
||||
<td><div class="ParamContext"></div></td>
|
||||
<td><div class="ParamName"></div></td>
|
||||
<td><div class="ParamValue"></div></td>
|
||||
<td><div class="ParamStatusDesc center"></div></td>
|
||||
<td>
|
||||
<div class="right">
|
||||
@* Burger menu *@
|
||||
<ul class="nav navbar-nav navbar-light navbar-right sbc-burger">
|
||||
<li class="dropdown-toggle caret-off">
|
||||
<a href="#" class="dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="sbc-ellipsis-dot"></span><span class="sbc-ellipsis-dot"></span><span class="sbc-ellipsis-dot"></span></a>
|
||||
<ul class="dropdown-menu dropdown-menu-right sbc-dropdown-menu">@* Menu items will be inserted here. *@</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@* Item Burger option template - ul is ignored *@
|
||||
<ul class="sbc-dropdown-menu Param">
|
||||
<li class="sbc-dropdown-item sbc-action"><div class="sbc-label">XXX</div></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmParamId", @onSubmit = "return false;" }))
|
||||
{
|
||||
@Html.HiddenFor(model => model.Param.Id, new { @id = "", @class = "ParamId" })
|
||||
}
|
||||
<div id="dlgParam" class="sbc-dialog">
|
||||
<div class="spacer2"></div>
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmParam", @class = "sbc-form", @onSubmit = "return false;" }))
|
||||
{
|
||||
@Html.HiddenFor(model => model.Param.Exists, new { @id = "", @class = "ParamExists sbc-input" })
|
||||
@Html.HiddenFor(model => model.Param.Id, new { @id = "", @class = "ParamId sbc-input" })
|
||||
|
||||
@* Item *@
|
||||
<div class="sbc-form-control ParamItem">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifParamName"><span>@Localiser["label.item"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.HiddenFor(model => model.Param.ItemType, new { @class = "ParamItemType sbc-input" })
|
||||
@Html.HiddenFor(model => model.Param.ItemId, new { @class = "ParamItemId sbc-input" })
|
||||
<input type="text" id="ifParamItem" class="ParamItem sbc-input" readonly="readonly" />
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Context *@
|
||||
<div class="sbc-form-control ParamContext">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifParamContext"><span>@Localiser["label.context"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Param.Context, new { @id = "ifParamContext", @class = "ParamContext sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.ItemParam_Context) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Name *@
|
||||
<div class="sbc-form-control ParamName">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifParamName"><span>@Localiser["label.name"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.Param.Name, new { @id = "ifParamName", @class = "ParamName sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.ItemParam_Name) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Value *@
|
||||
<div class="sbc-form-control ParamValue">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifParamValue"><span>@Localiser["label.value"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.HiddenFor(model => model.Param.ValueChanged, new { @id = "", @class = "ParamValueChanged sbc-input" })
|
||||
@Html.TextBoxFor(model => model.Param.Value, new { @id = "ifParamValue", @class = "ParamValue sbc-input", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.ItemParam_Value) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Notes *@
|
||||
<div class="sbc-form-control ParamNotes">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="ifParamNotes"><span>@Localiser["label.notes"]</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
@Html.TextAreaFor(model => model.Param.Notes, new { @id = "ifParamNotes", @class = "ParamNotes sbc-textarea", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.ItemParam_Notes) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Status *@
|
||||
<div class="sbc-form-control ParamStatus">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<div class="sbc-label">
|
||||
<label for="cbParamStatus"><span>@Localiser["label.status"]</span><span class="required"> *</span></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<div class="sbc-control">
|
||||
<select id="cbParamStatus" class="sbc-select ParamStatus" name="Param.StatusCode"></select>
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
<div class="spacer2"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@* Select Item dialog and script *@
|
||||
<partial name="~/Views/Common/SelectItem.cshtml" />
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,66 @@
|
||||
@model Model_Security
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
ViewData["Title"] = "Change Password";
|
||||
}
|
||||
|
||||
<div class="">
|
||||
<div class="sbc-panel-form security">
|
||||
|
||||
<div class="sbc-header"><div class="sbc-caption">@Localiser["security.caption.change.password"]</div></div>
|
||||
|
||||
<div class="sbc-content">
|
||||
<div class="spacer4"></div>
|
||||
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmChangePassword", @class = "sbc-form", @onsubmit = "return false;" }))
|
||||
{
|
||||
|
||||
@if (!Model.RequestPasswordMode)
|
||||
{
|
||||
/* Current password - required when setting password within user session. */
|
||||
<div class="sbc-form-control PasswordCurrent">
|
||||
<div class="sbc-label"><label for="ifPasswordCurrent"><span><span class="required">*</span> @Localiser["label.password.current"]</span></label></div>
|
||||
<div class="sbc-control">
|
||||
@Html.PasswordFor(model => model.PasswordCurrent, new { @id = "ifPasswordCurrent", @class = "sbc-input", @maxlength = Model.PasswordMaxLength })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 'Request Password' encrypted parameters from email link. */
|
||||
@Html.HiddenFor(model => model.rpe, new { @id = "ifRpe" });
|
||||
}
|
||||
|
||||
<div class="spacer4"></div>
|
||||
|
||||
<div class="sbc-form-control Password">
|
||||
<div class="sbc-label"><label for="ifPassword"><span><span class="required">*</span> @Localiser["label.password"]</span></label></div>
|
||||
<div class="sbc-control">
|
||||
@Html.PasswordFor(model => model.Password, new { @id = "ifPassword", @class = "sbc-input", @maxlength = Model.PasswordMaxLength })
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-auto sbc-label-text pt4">@Localiser["label.strength"] </div>
|
||||
<div id="" class="col-auto"><div id="prgPasswordStrength" class="col-auto"></div></div>
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
|
||||
<div class="sbc-form-control PasswordConfirm">
|
||||
<div class="sbc-label"><label for="ifPasswordConfirm"><span><span class="required">*</span> @Localiser["label.password.confirm"]</span></label></div>
|
||||
<div class="sbc-control">
|
||||
@Html.PasswordFor(model => model.PasswordConfirm, new { @id = "ifPasswordConfirm", @class = "sbc-input", @maxlength = Model.PasswordMaxLength })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
|
||||
<div class="spacer4"></div>
|
||||
|
||||
<div class="">
|
||||
<div id="pbChangePassword" class="sbc-button-action fullwidth pointer" style="margin:16px 0;">@Localiser["security.caption.change.password"]</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,37 @@
|
||||
@model Model_Security
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
ViewData["Title"] = "Request Password";
|
||||
}
|
||||
|
||||
<div class="">
|
||||
<div class="sbc-panel-form security">
|
||||
|
||||
<div class="sbc-header"><div class="sbc-caption">@Localiser["caption.request.password"]</div></div>
|
||||
|
||||
<div class="sbc-content">
|
||||
<div class="spacer4"></div>
|
||||
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmRequestPassword", @class = "sbc-form", @onsubmit = "return false;" }))
|
||||
{
|
||||
|
||||
<div class="sbc-form-control EmailAddress">
|
||||
<div class="sbc-label">
|
||||
<label for="ifEmailAddress"><span><span class="required">*</span> @Localiser["label.email.address"]</span></label>
|
||||
</div>
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.EmailAddress, new { @id = "ifEmailAddress", @class = "sbc-input lower", @maxlength = "128" })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
|
||||
<div class="spacer4"></div>
|
||||
|
||||
<div class="">
|
||||
<div id="pbRequestPassword" class="sbc-button-action fullwidth pointer" style="margin:16px 0;">@Localiser["caption.request.password"]</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,62 @@
|
||||
@model Model_Security
|
||||
@inject SbmLocaliser Localiser
|
||||
@{
|
||||
ViewData["Title"] = "Signin";
|
||||
}
|
||||
|
||||
<div class="">
|
||||
|
||||
<div class="sbc-panel-form security">
|
||||
|
||||
<div class="sbc-header"><div class="sbc-caption">@Localiser["label.signin"]</div></div>
|
||||
|
||||
<div class="sbc-content">
|
||||
<div class="spacer4"></div>
|
||||
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmSignIn", @class = "sbc-form", @onsubmit = "return false;" }))
|
||||
{
|
||||
|
||||
<div class="sbc-form-control EmailAddress">
|
||||
<div class="sbc-label">
|
||||
<label for="ifEmailAddress"><span><span class="required">*</span> @Localiser["label.email.address"]</span></label>
|
||||
</div>
|
||||
<div class="sbc-control">
|
||||
@Html.TextBoxFor(model => model.EmailAddress, new { @id = "ifEmailAddress", @class = "sbc-input lower", @maxlength = @Model.GetControlMaxLength(SbmDbDfn_Control.ColumnIdx.UserAccount_EmailAddress) })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
<div class="spacer2"></div>
|
||||
|
||||
<div class="sbc-form-control Password">
|
||||
<div class="sbc-label">
|
||||
<label for="ifPassword"><span><span class="required">*</span> @Localiser["label.password"]</span></label>
|
||||
</div>
|
||||
<div class="sbc-control">
|
||||
@Html.PasswordFor(model => model.Password, new { @id = "ifPassword", @class = "sbc-input", @maxlength = @Model.PasswordMaxLength })
|
||||
</div>
|
||||
<div class="sbc-message"></div>
|
||||
</div>
|
||||
<div class="spacer2"></div>
|
||||
|
||||
<div class="sbc-form-control">
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
@Html.CheckBoxFor(model => model.KeepMeSignedIn, new { @id = "chkKeepMeSignedIn" })
|
||||
|
||||
<span class="sbc-label pointer" onclick="$('#chkKeepMeSignedIn').click()">@Localiser["label.keep.signed.in"]</span>
|
||||
</div>
|
||||
<div class="col-6 right">
|
||||
<div class="sbc-action-link" style="font-size:12px;" onclick="sbc.goToPage('Security/RequestPassword');">@Localiser["label.forgotten.password"]</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="spacer2"></div>
|
||||
|
||||
<div class="">
|
||||
<div id="pbSignIn" class="sbc-button-action fullwidth pointer" style="margin:16px 0;">@Localiser["label.signin"]</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -5,49 +5,213 @@
|
||||
Application: BusinessMgr Web Control
|
||||
Purpose: Page template.
|
||||
*@
|
||||
@{
|
||||
// Model properties to become javascript values.
|
||||
var awaitingLogin = Model.AwaitingLogin ? "1" : "0";
|
||||
var keepLoggedIn = Model.KeepLoggedIn ? "1" : "0";
|
||||
var debug = Model.DebugMode ? "1" : "0";
|
||||
}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>@ViewData["Title"] - SaBusinessMgrCoreWebAdmin</title>
|
||||
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="~/css/site.css" />
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
@* IE11 incompatibility eg. 'border-radius' not recognised. Must be at top of head *@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
@if (Model.ProhibitCache)
|
||||
{
|
||||
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
|
||||
<meta http-equiv="Pragma" content="no-cache" />
|
||||
<meta http-equiv="Expires" content="0" />
|
||||
}
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="Content-Script-Type" content="application/javascript" />
|
||||
<title>@ViewData["Title"] - BusMgr Control</title>
|
||||
|
||||
@* Stylesheets *@
|
||||
<link rel="stylesheet" href="~/lib/jqueryui/jquery-ui.css" />
|
||||
<environment include="Development">
|
||||
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
|
||||
</environment>
|
||||
<environment exclude="Development">
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
|
||||
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
|
||||
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" />
|
||||
</environment>
|
||||
<link rel="stylesheet" href="~/css/sbc-base.css?@Model.HrefVersion" />
|
||||
<link rel="stylesheet" href="~/css/sbc-main.css?@Model.HrefVersion" />
|
||||
<link rel="stylesheet" href="~/css/sbc-data.css?@Model.HrefVersion" />
|
||||
<link rel="stylesheet" href="~/css/sbc-form.css?@Model.HrefVersion" />
|
||||
@foreach (var cssFile in Model.AdditionalFiles_CSS)
|
||||
{
|
||||
<link rel="stylesheet" href="~/@cssFile?@Model.HrefVersion" />
|
||||
}
|
||||
|
||||
@* Scripts *@
|
||||
<script>
|
||||
var sbc = sbc || { page: {}, mdl: {}, fn: {}, url: {}, links: {}, form: {}, data: {}, ajax: {}, msg: {}, lbl: {}, dlg: { title: {}, btn: {} }, $frm: {}, $dlg: {}, $pnl: {}, session: {}, kli: {} };
|
||||
sbc.url.base = '@Model.RedirectLocation.Base';
|
||||
sbc.url.home = '@Model.RedirectLocation.Home';
|
||||
sbc.url.sessionExpired = '@Model.RedirectLocation.Home_SessionExpired';
|
||||
sbc.links.facebook = '@Model.Links.Facebook';
|
||||
sbc.links.linkedin = '@Model.Links.LinkedIn';
|
||||
sbc.dlg.title.alert = '@Localiser.GetJavascriptText("dialog.title.alert")';
|
||||
sbc.dlg.title.confirm = '@Localiser.GetJavascriptText("dialog.title.confirm")';
|
||||
sbc.dlg.title.progress = '@Localiser.GetJavascriptText("dialog.title.progress")';
|
||||
sbc.dlg.title.signOut = '@Localiser.GetJavascriptText("dialog.title.signout")';
|
||||
sbc.lbl.yes = '@Localiser["label.yes"]';
|
||||
sbc.lbl.no = '@Localiser["label.no"]';
|
||||
sbc.lbl.ok = '@Localiser["label.ok"]';
|
||||
sbc.lbl.save = '@Localiser["label.save"]';
|
||||
sbc.lbl.close = '@Localiser["label.close"]';
|
||||
sbc.lbl.cancel = '@Localiser["label.cancel"]';
|
||||
sbc.lbl.refresh = '@(Localiser.GetJavascriptText("label.refresh"))';
|
||||
sbc.lbl.create = '@(Localiser.GetJavascriptText("label.create"))';
|
||||
sbc.lbl.edit = '@(Localiser.GetJavascriptText("label.edit"))';
|
||||
sbc.lbl.emails = '@(Localiser.GetJavascriptText("label.emails"))';
|
||||
sbc.lbl.charAvailable = '@Localiser.GetJavascriptText("info.char.available")';
|
||||
sbc.lbl.charsAvailable = '@Localiser.GetJavascriptText("info.chars.available", "{0}")';
|
||||
sbc.lbl.noneSelected = '@Localiser.GetJavascriptText("label.selected.none")';
|
||||
sbc.lbl.numberSelected = '@Localiser.GetJavascriptText("label.selected.count", "{0}")';
|
||||
sbc.msg.signOutConfirm = '@Localiser.GetJavascriptText("security.msg.signout.confirm")';
|
||||
sbc.msg.somethingGoneWrong = '@Localiser.GetJavascriptText("msg.something.gone.wrong")';
|
||||
sbc.msg.dataRefreshing = '@Localiser.GetJavascriptText("msg.data.refreshing")';
|
||||
sbc.msg.dataQuerying = '@Localiser.GetJavascriptText("msg.data.querying")';
|
||||
sbc.msg.dataNoneFound = '@Localiser.GetJavascriptText("msg.data.noneFound")';
|
||||
sbc.session.cookieName = '@Model.SessionCookieName';
|
||||
sbc.awaitingLogin = @awaitingLogin;
|
||||
sbc.kli.active = @keepLoggedIn;
|
||||
sbc.kli.interval = @(Sbm.Config.Control.Session.Cookie.KeepLoggedInTimeoutMillis);
|
||||
sbc.debugMode = @debug;
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">SaBusinessMgr-Control</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
|
||||
aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse">
|
||||
<ul class="navbar-nav flex-grow-1">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<div class="container">
|
||||
<main role="main" class="pb-3">
|
||||
@RenderBody()
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer class="border-top footer text-muted">
|
||||
<div class="container">
|
||||
@(Model.CopyrightNotice) - Sarand BusinessMgr
|
||||
</div>
|
||||
</footer>
|
||||
<script src="~/lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="~/js/site.js" asp-append-version="true"></script>
|
||||
@RenderSection("Scripts", required: false)
|
||||
@* Header *@
|
||||
<header id="sbc-page-header">
|
||||
|
||||
@* Navigation bar *@
|
||||
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">SBM Control</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
|
||||
aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse">
|
||||
<ul class="navbar-nav flex-grow-1">
|
||||
@if (Model.AwaitingLogin)
|
||||
{
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-dark" asp-area="" asp-controller="Policies" asp-action="Privacy">@Localiser["label.privacy"]</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-dark" asp-area="" asp-controller="Security" asp-action="">@Localiser["label.signin"]</a>
|
||||
</li>
|
||||
}
|
||||
else
|
||||
{
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">@Localiser["label.home"]</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link text-dark dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
@Localiser["label.accounts"]
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('Account/UserAccount');">@Localiser["label.users"]</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link text-dark dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
@Localiser["label.instances"]
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('Instance/Owner');">@Localiser["label.owners"]</div>
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('Instance/Repository');">@Localiser["label.repositories"]</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link text-dark dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
@Localiser["label.configuration"]
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('Param/Param');">@Localiser["label.params"]</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link text-dark dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
@Localiser["label.system"]
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('System/Database');">@Localiser["label.database"]</div>
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.goToPage('System/Logs');">@Localiser["label.logs"]</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link text-dark dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
@Localiser["label.security"]
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.navigateTo('Security/ChangePassword');">@Localiser["caption.change.password"]</div>
|
||||
<div class="dropdown-divider"></div>
|
||||
<div class="dropdown-item text-dark sbc-action" onclick="sbc.onSignOut();">@Localiser["label.signout"]</div>
|
||||
</div>
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
@* Page body *@
|
||||
<div id="sbc-page-body" class="container">
|
||||
<main role="main" class="pb-3 fullheight">
|
||||
@RenderBody()
|
||||
</main>
|
||||
</div>
|
||||
|
||||
@* Footer *@
|
||||
<footer id="sbc-page-footer" class="border-top footer text-muted">
|
||||
<div class="container">
|
||||
@(Model.CopyrightNotice) - Sarand BusinessMgr
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@* Form to allow page navigation. *@
|
||||
@using (@Html.BeginForm(FormMethod.Post, new { @id = "frmNavigate" })) { }
|
||||
<div id='sbc-please-wait'></div>
|
||||
|
||||
@* Scripts *@
|
||||
<environment include="Development">
|
||||
<script src="~/lib/jquery/dist/jquery.js"></script>
|
||||
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>
|
||||
</environment>
|
||||
<environment exclude="Development">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
|
||||
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
|
||||
asp-fallback-test="window.jQuery"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
|
||||
</script>
|
||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"
|
||||
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"
|
||||
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha384-xrRywqdh3PHs8keKZN+8zzc5TX0GRTLCcmivcbNJWm2rs5C8PRhcEn3czEjhAO9o">
|
||||
</script>
|
||||
</environment>
|
||||
<script src="~/lib/jqueryui/jquery-ui.js"></script>
|
||||
<script src="~/js/sbc-main.js?@Model.HrefVersion"></script>
|
||||
@foreach (var jsFile in Model.AdditionalFiles_JS)
|
||||
{
|
||||
<script src="~/@jsFile?@Model.HrefVersion"></script>
|
||||
}
|
||||
@RenderSection("Scripts", required: false)
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
@using Sarand.BusinessMgr.Net.Core.Web.App
|
||||
@using Sarand.BusinessMgr.Net.Core.Web.Control
|
||||
@using Sarand.BusinessMgr.Net.Core.Web.Control.Models
|
||||
@using Sarand.BusinessMgr.Net.Standard.Base.App
|
||||
@using Sarand.BusinessMgr.Net.Core.Web.App
|
||||
@using Sarand.BusinessMgr.Web.Control
|
||||
@using Sarand.BusinessMgr.Web.Control.Models
|
||||
@using Sarand.BusinessMgr.Web.Control.Models.Account
|
||||
@using Sarand.BusinessMgr.Web.Control.Models.Instance
|
||||
@using Sarand.BusinessMgr.Web.Control.Models.Param
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
|
||||
Reference in New Issue
Block a user