117 lines
5.2 KiB
Plaintext
117 lines
5.2 KiB
Plaintext
@model Disco.Web.Areas.Config.Models.DeviceBatch.IndexModel
|
|
@{
|
|
Authorization.Require(Claims.Config.DeviceBatch.Show);
|
|
ViewBag.Title = Html.ToBreadcrumb("Configuration", MVC.Config.Config.Index(), "Device Batches");
|
|
var hasDecommissionedBatches = Model.DeviceBatches.Any(db => db.DeviceCount > 0 && db.DeviceDecommissionedCount >= db.DeviceCount);
|
|
var showTags = hasDecommissionedBatches || Model.DeviceBatches.Any(i => i.IsLinked);
|
|
}
|
|
<div id="Config_DeviceBatches">
|
|
@if (Model.DeviceBatches.Count == 0)
|
|
{
|
|
<div class="form" style="width: 450px; padding: 100px 0;">
|
|
<h2>No device batches are configured</h2>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
if (hasDecommissionedBatches)
|
|
{
|
|
<a id="Config_DeviceBatches_ShowDecommissioned" href="#" class="button small">Show Decommissioned (@(Model.DeviceBatches.Count(db => db.DeviceCount > 0 && db.DeviceDecommissionedCount >= db.DeviceCount)))</a>
|
|
<script>
|
|
$(function () {
|
|
$('#Config_DeviceBatches_ShowDecommissioned').click(function () {
|
|
$(this).remove();
|
|
$('#Config_DeviceBatches_List')
|
|
.find('tr.hidden').removeClass('hidden')
|
|
.filter('.decommissioned-padding').remove();
|
|
return false;
|
|
}).detach().appendTo('#layout_PageHeading');
|
|
})
|
|
</script>
|
|
}
|
|
<table id="Config_DeviceBatches_List" class="tableData">
|
|
<tr>
|
|
<th>Name</th>
|
|
<th>Default Model</th>
|
|
<th>Purchase Date</th>
|
|
<th>Warranty Expires</th>
|
|
<th>Insurance Expires</th>
|
|
<th>Device Count</th>
|
|
@if (showTags)
|
|
{
|
|
<th> </th>
|
|
}
|
|
</tr>
|
|
@foreach (var item in Model.DeviceBatches)
|
|
{
|
|
var isDecommissioned = item.DeviceCount > 0 && item.DeviceDecommissionedCount >= item.DeviceCount;
|
|
<tr class="@(isDecommissioned ? "hidden" : null)">
|
|
<td>
|
|
@Html.ActionLink(item.Name, MVC.Config.DeviceBatch.Index(item.Id))
|
|
</td>
|
|
<td>
|
|
@item.DefaultDeviceModel
|
|
</td>
|
|
<td>
|
|
@CommonHelpers.FriendlyDate(item.PurchaseDate)
|
|
</td>
|
|
<td>
|
|
@CommonHelpers.FriendlyDate(item.WarrantyExpires, "Unknown")
|
|
</td>
|
|
<td>
|
|
@CommonHelpers.FriendlyDate(item.InsuredUntil, item.InsuranceSupplier == null ? "N/A" : "Unknown")
|
|
@(item.InsuranceSupplier == null ? string.Empty : string.Format("[{0}]", item.InsuranceSupplier))
|
|
</td>
|
|
<td>
|
|
@if (item.DeviceCount > 0 && Authorization.Has(Claims.Device.Search))
|
|
{
|
|
<span>@Html.ActionLink(string.Format("View {0}", item.DeviceCount), MVC.Search.Query(item.Id.ToString(), "DeviceBatch"))</span>
|
|
}
|
|
else
|
|
{
|
|
<span>@item.DeviceCount.ToString("n0")</span>
|
|
}
|
|
@if (item.PurchaseUnitQuantity.HasValue)
|
|
{
|
|
<span>/ @(item.PurchaseUnitQuantity.Value.ToString("n0"))</span>
|
|
}
|
|
@if (item.DeviceDecommissionedCount > 0)
|
|
{
|
|
<span class="smallMessage" title="@(item.DeviceDecommissionedCount.ToString("n0")) Decommissioned">(@(item.DeviceDecommissionedCount.ToString("n0")))</span>
|
|
}
|
|
</td>
|
|
@if (showTags)
|
|
{
|
|
<td>
|
|
@if (item.IsLinked)
|
|
{
|
|
<i class="fa fa-link fa-lg success" title="Is Linked"></i>
|
|
}
|
|
@if (isDecommissioned)
|
|
{
|
|
<i class="fa fa-minus-square fa-lg alert" title="Decommissioned"></i>
|
|
}
|
|
</td>
|
|
}
|
|
</tr>
|
|
if (isDecommissioned)
|
|
{
|
|
<tr class="hidden decommissioned-padding"></tr>
|
|
}
|
|
}
|
|
</table>
|
|
}
|
|
</div>
|
|
@if (Authorization.HasAny(Claims.Config.DeviceBatch.Create, Claims.Config.DeviceBatch.ShowTimeline))
|
|
{
|
|
<div class="actionBar">
|
|
@if (Authorization.Has(Claims.Config.DeviceBatch.ShowTimeline) && Model.DeviceBatches.Count > 0)
|
|
{
|
|
@Html.ActionLinkButton("Timeline", MVC.Config.DeviceBatch.Timeline())
|
|
}
|
|
@if (Authorization.HasAll(Claims.Config.DeviceBatch.Create, Claims.Config.DeviceBatch.Configure))
|
|
{
|
|
@Html.ActionLinkButton("Create Device Batch", MVC.Config.DeviceBatch.Create())
|
|
}
|
|
</div>
|
|
} |