94 lines
3.7 KiB
Plaintext
94 lines
3.7 KiB
Plaintext
@* View is decoupled from Transaction model as it may be included in other views, eg. Associations. *@
|
|
@model SbmModel_Portal
|
|
@inject SbmLocaliser Localiser
|
|
@{
|
|
/* Transaction - Maintain panel */
|
|
// Ensure view is only included once in page.
|
|
if (!Model.RegisterView(Html.ViewContext)) return;
|
|
Model.AdditionalFiles_JS.Add("js/sbm-trn.js");
|
|
Model_Transaction ModelTransaction = Model as Model_Transaction;
|
|
}
|
|
|
|
<div class="sbm-panel Transactions fullheight">
|
|
|
|
<script type="text/javascript">
|
|
</script>
|
|
|
|
<div class="sbm-panel-data sbm-flex">
|
|
|
|
@* Filter form - wrap header to include paging controls. *@
|
|
@using (@Html.BeginForm(FormMethod.Post, new { @id = "", @class = "frmTransactionFilter sbm-form", @onSubmit = "return false;" }))
|
|
{
|
|
@Html.Hidden("Filter.Mode", Model_Transaction.ViewMode.Maintain, new { @id = "" })
|
|
|
|
@* Header - Page caption, paging controls, actions. *@
|
|
<div class="sbm-panel-header">
|
|
<div class="row">
|
|
<div class="col"><partial name="~/Views/Common/ResultsPaging.cshtml" /></div>
|
|
<div class="fixed center"><div class="sbm-panel-caption">@Localiser["label.transactions"]</div></div>
|
|
<div class="col right">
|
|
@* Burger menu *@
|
|
<ul class="nav navbar-nav navbar-dark navbar-right sbm-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 sbm-dropdown-menu">@* Menu items will be inserted here. *@</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@* Filter Panel *@
|
|
<div class="sbm-panel-filter">
|
|
<div class="row">
|
|
@if (ModelTransaction?.GetFilterTransactionType() > 0)
|
|
{
|
|
@Html.Hidden("Filter.Type", ModelTransaction.Filter.Type, new { @id = "", @class = "FilterType sbm-input" })
|
|
<input type="hidden" class="FilterAssociationType" value="@ModelTransaction.GetFilterAssociationTypeCode()" />
|
|
}
|
|
else
|
|
{
|
|
<div class="col-sm-4 row pb4">
|
|
@* Transaction Category *@
|
|
<div class="col-4 col-sm-4 sbm-label text-left text-sm-right">@Localiser["label.type"]</div>
|
|
<div class="col-7 col-sm-8">
|
|
@Html.DropDownList("Filter.Type", Model.GetTransactionTypeCodesForFilterDropdown(), null, new { @id = "", @class = "FilterType sbm-select" })
|
|
</div>
|
|
</div>
|
|
}
|
|
<div class="col-sm-4 row pb4">
|
|
@* Transaction Status *@
|
|
<div class="col-4 col-sm-4 sbm-label text-left text-sm-right">@Localiser["label.status"]</div>
|
|
<div class="col-7 col-sm-8">
|
|
@Html.DropDownList("Filter.StatusCat", ModelTransaction?.GetTransactionStatusCatsForFilterDropdown() ?? Model.GetEmptyListForSelect(), null, new { @id = "", @class = "FilterStatusCat sbm-select" })
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-4 row pb4">
|
|
@* Transaction filter - code, description etc *@
|
|
<div class="col-4 col-sm-4 sbm-label text-left text-sm-right">@Localiser["label.search"]</div>
|
|
<div class="col-7 col-sm-8">
|
|
@Html.TextBox("Filter.Search", "", new { @type = "search", @id = "", @class = "FilterSearch sbm-input", @maxlength = "32" })
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-4 row pb4">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
<partial name="Panel-TransactionList.cshtml" />
|
|
|
|
</div>
|
|
|
|
<partial name="Panel-TransactionDialog.cshtml" />
|
|
|
|
</div>
|
|
|
|
@* Association panels. *@
|
|
<partial name="~/Views/Association/Panel-AssociationSelect.cshtml" />
|
|
<partial name="~/Views/Association/Panel-AssociationDialog.cshtml" />
|
|
|
|
@* Requirement panels. *@
|
|
<partial name="~/Views/Requirement/Panel-RequirementSelect.cshtml" />
|
|
<partial name="~/Views/Requirement/Panel-RequirementDialog.cshtml" />
|