Files
Saxonite/Workspace/SaxoniteCoreWebOnline/Views/Account/Profile-Eligibility.cshtml
T
andy 9f22b522df v1.3.0 Restructure Saxonite workspace and upgrade to .NET 10 (#1)
Move Saxonite’s projects into a dedicated `Workspace` folder and align the solution with .NET 10 and the current Common workspace. Update encryption integration, test project structure and coverage, and repository guidance and upgrade notes.

- Relocate application and library projects while retaining Git rename history.
- Split tests into Admin, Online, and Shared projects; add representative behavioral and serialization tests.
- Update Common integration, application version, and repository documentation.

Application version: 1.3.0

Reviewed-on: #1
Co-authored-by: andy <andy@sarand.com>
2026-10-16 18:24:16 +01:00

180 lines
9.4 KiB
Plaintext

@model Model_Account
@inject SaxLocaliser Localiser
@{
// Ensure view is only included once in page.
if (!Model.RegisterView(ViewContext)) return;
// Scripts.
Model.AdditionalFiles_JS.Add("js/sax-pro-elg.js");
}
<div class="sax-panel-section ProfileEligibility sax-populating">
<div class="sax-panel-info">
<div class="sax-header">
<div class="row">
<div class="col sax-action sax-edit"><div class="sax-caption">@Localiser["caption.my.eligibility"]</div></div>
<div class="fixed">
@* Burger menu *@
<ul class="nav navbar-nav navbar-light navbar-right sax-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 sax-dropdown-menu">
<li class="sax-dropdown-item sax-action sax-add"><div class="sax-label">@(Localiser["label.add"])</div></li>
<li class="sax-dropdown-item sax-action sax-info"><div class="sax-label">@(Localiser["caption.show.info"])</div></li>
</ul>
</li>
</ul>
@* Filter item templates *@
<div class="sax-panel-item-template">
@* Burger dropdown item template - ul is ignored *@
<ul class="sax-dropdown-menu ProfileEligibilities">
<li class="sax-dropdown-item sax-action"><div class="sax-label">...</div></li>
</ul>
</div>
</div>
</div>
</div>
<div class="sax-content">
<div class="sax-panel-results">
<div class="sax-panel-infotip hidden"><div class="sax-close"></div><div class="sax-info"></div></div>
<div class="sax-panel-messages"></div>
@* User Eligibility list. *@
<div class="sax-panel-item-list"></div>
</div>
</div>
@* Item templates *@
<div class="sax-panel-item-template">
@* User Eligibility template *@
<div class="sax-panel-item UserEligibility">
<div class="sax-header row">
<div class="col"><div class="sax-caption"><div class="sax-action EligibilityRegionName"></div></div></div>
<div class="fixed">
@* Burger menu *@
<ul class="nav navbar-nav navbar-light navbar-right sax-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 sax-dropdown-menu"></ul>
</li>
</ul>
</div>
</div>
<div class="sax-content">
<div class="row">
<div class="col-sm-6"><div class="EligibilityType sax-note"></div></div>
<div class="col-sm-6 text-sm-right"><div class="EligibilityExpiry sax-note">@Localiser["label.expires"]:&nbsp;<span class="EligibilityExpiresOn"></span></div></div>
</div>
</div>
</div>
@* User Eligibility Burger dropdown template - ul is ignored *@
<ul class="sax-dropdown-menu UserEligibility">
<li class="sax-dropdown-item sax-action"><div class="sax-label">...</div></li>
</ul>
</div>
@* User Eligibility Id form. *@
@using (Html.BeginForm(FormMethod.Post, new { @id = "frmUserEligibilityId", @class = "sax-form", @onSubmit = "return false;" }))
{
@Html.Hidden("Eligibility.Id", "", new { @id = "", @class = "UserEligibilityId sax-hidden" })
}
</div>
@* User Eligibility dialog *@
<div id="dlgUserEligibility" class="sax-dialog" title="@Localiser["account.caption.profile.eligibility"]">
<div class="spacer2"></div>
@using (Html.BeginForm(FormMethod.Post, new { @id = "frmUserEligibility", @class = "sax-form", @onSubmit = "return false;" }))
{
<input type="hidden" class="UserEligibilityId sax-hidden" name="Eligibility.Id" />
<input type="hidden" class="EligibilityExists sax-hidden" name="Eligibility.Exists" />
@* Region *@
<div class="sax-form-control EligibilityRegion">
<div class="row">
<div class="col-sm-3">
<div class="sax-label">
<label for="ifEligibilityRegionId"><span>@Localiser["label.region"]</span><span class="required">&nbsp;*</span></label>
</div>
</div>
<div class="col-sm">
<div class="sax-control row">
@Html.Hidden("Eligibility.RegionId", "", new { @id = "ifEligibilityRegionId", @class = "EligibilityRegionId" })
<div class="col"><input type="text" id="ifEligibilityRegionName" class="EligibilityRegionName sax-input" readonly="readonly" /></div>
<div class="fixed"><button class="SelectEligibilityRegion sax-button" style="min-width:auto;margin-left:4px;padding:4px 6px">@Localiser["label.select"]</button></div>
</div>
<div class="sax-message"></div>
</div>
</div>
</div>
@* Eligibility Type *@
<div class="sax-form-control EligibilityType">
<div class="row">
<div class="col-sm-3">
<div class="sax-label">
<label for="ifEligibilityType"><span>@Localiser["label.eligibility"]</span><span class="required">&nbsp;*</span></label>
</div>
</div>
<div class="col-sm">
<div class="sax-control">
@Html.DropDownList("Eligibility.Type", Model.EligibilityTypesForSelect, "", new { @id = "ifEligibilityType", @class = "EligibilityType sax-select", @readonly = "readonly", @maxlength = @Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserAccount_EmailAddress) })
</div>
<div class="sax-message"></div>
</div>
</div>
</div>
@* Info *@
<div class="sax-form-control EligibilityInfo">
<div class="row">
<div class="col-sm-3">
<div class="sax-label">
<label for="ifEligibilityInfo"><span>@Localiser["label.info"]</span></label>
</div>
</div>
<div class="col-sm">
<div class="sax-control">
@Html.TextArea("Eligibility.Info", "", new { @id = "ifEligibilityInfo", @class = "EligibilityInfo sax-textarea", @rows = 4, @maxlength = @Model.GetControlMaxLength(SaxDbDfn_Core.ColumnIdx.UserEligibility_Info) })
</div>
<div class="sax-message"></div>
</div>
</div>
</div>
@* Expiry *@
<div class="sax-form-control EligibilityExpiry">
<div class="row">
<div class="col-sm-3">
<div class="sax-label">
<label for="ifArticleRegionId"><span>@Localiser["label.expiry"]</span></label>
</div>
</div>
<div class="col-sm">
<div class="sax-control">
<div class="row EligibilityExpires">
<div class="fixed"><div class="pl16 pt4 pr8"><input type="checkbox" id="chkEligibilityExpires" class="EligibilityExpires sax-checkbox" />&nbsp;<span class="" onclick="$('#chkEligibilityExpires').click()">@Localiser["label.expires.on"]</span></div></div>
<div class="col">@Html.TextBox("Eligibility.ExpiresOn", "", new { @id = "ifEligibilityExpiresOn", @class = "sax-input sax-calendar EligibilityExpiresOn", @readonly = "readonly" })</div>
</div>
</div>
<div class="sax-message"></div>
</div>
</div>
</div>
}
<div class="spacer2"></div>
</div>
</div>
<script type="text/javascript">
sax.msg.eligibilityInfo = '@Localiser.GetJavascriptText("info.profile.eligibility")';
sax.dlg.title.addUserEligibility = '@Localiser.GetJavascriptText("account.caption.profile.eligibility.add")';
sax.dlg.title.updateUserEligibility = '@Localiser.GetJavascriptText("account.caption.profile.eligibility.update")';
sax.dlg.title.removeUserEligibility = '@Localiser.GetJavascriptText("account.caption.profile.eligibility.remove")';
sax.msg.removeUserEligibility = '@(Localiser.GetJavascriptText("msg.confirm.item.remove"))';
</script>