@model Disco.Web.Areas.Config.Models.DeviceModel.ShowModel @{ Authorization.Require(Claims.Config.DeviceModel.Show); var canConfig = Authorization.Has(Claims.Config.DeviceModel.Configure); var canViewPlugins = Authorization.Has(Claims.Config.Plugin.Install); if (canConfig) { Html.BundleDeferred("~/ClientScripts/Modules/Disco-PropertyChangeHelpers"); } ViewBag.Title = Html.ToBreadcrumb("Configuration", MVC.Config.Config.Index(), "Device Models", MVC.Config.DeviceModel.Index(null), Model.DeviceModel.ToString()); }
Id: @Html.DisplayFor(model => model.DeviceModel.Id)
Description: @if (canConfig) { @Html.EditorFor(model => model.DeviceModel.Description) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader() } else { @Html.DisplayFor(model => model.DeviceModel.Description) }
Manufacturer: @Html.DisplayFor(model => model.DeviceModel.Manufacturer)
Model: @Html.DisplayFor(model => model.DeviceModel.Model)
Statistics
@Model.DeviceCount.ToString("n0") @(Model.DeviceCount == 1 ? "devices is" : "devices are") of this model type.
@if (Model.DeviceDecommissionedCount > 0) {
@Model.DeviceDecommissionedCount.ToString("n0") @(Model.DeviceDecommissionedCount == 1 ? "device is" : "devices are") decommissioned.
}
Default Purchase Date: @if (canConfig) { @Html.EditorFor(model => model.DeviceModel.DefaultPurchaseDate) @AjaxHelpers.AjaxLoader() } else { @CommonHelpers.FriendlyDate(Model.DeviceModel.DefaultPurchaseDate, "Unknown") }
Default Warranty Provider: @if (canConfig) { if (Model.WarrantyProviders.Count > 0) { @Html.DropDownListFor(model => model.DeviceModel.DefaultWarrantyProvider, Model.WarrantyProviders.ToSelectListItems(Model.DeviceModel.DefaultWarrantyProvider, true, "None")) @AjaxHelpers.AjaxLoader() } else { No warranty provider plugins installed } if (canViewPlugins) {

View the Plugin Catalogue to discover and install warranty provider plugins.

} } else { if (Model.DeviceModel.DefaultWarrantyProvider == null) { <None Specified> } else { var provider = Model.WarrantyProviders.FirstOrDefault(wp => wp.Id == Model.DeviceModel.DefaultWarrantyProvider); if (provider == null) { <None Specified> } else { @provider.Name } } }
Default Repair Provider: @if (canConfig) { if (Model.RepairProviders.Count > 0) { @Html.DropDownListFor(model => model.DeviceModel.DefaultRepairProvider, Model.RepairProviders.ToSelectListItems(Model.DeviceModel.DefaultRepairProvider, true, "None")) @AjaxHelpers.AjaxLoader() } else {
No repair provider plugins installed
} if (canViewPlugins) {

View the Plugin Catalogue to discover and install repair provider plugins.

} } else { if (Model.DeviceModel.DefaultRepairProvider == null) { <None Specified> } else { var provider = Model.RepairProviders.FirstOrDefault(wp => wp.Id == Model.DeviceModel.DefaultRepairProvider); if (provider == null) { <None Specified> } else { @provider.Name } } }
Type: @Html.DisplayFor(model => model.DeviceModel.ModelType)
Image: Model Image @if (canConfig) {
using (Html.BeginForm(MVC.API.DeviceModel.Image(Model.DeviceModel.Id, true, null), FormMethod.Post, new { enctype = "multipart/form-data" })) { } }

Components

@Html.Partial(MVC.Config.DeviceModel.Views._DeviceComponentsTable, Model.DeviceComponentsModel) @Html.Partial(MVC.Config.Shared.Views._DeviceGroupDocumentBulkGenerate, Model)
@if (Model.CanDelete) { @Html.ActionLinkButton("Delete", MVC.API.DeviceModel.Delete(Model.DeviceModel.Id, true), "buttonDelete") } @if (Model.DeviceCount > 0) { if (Authorization.Has(Claims.Device.Actions.Export)) { @Html.ActionLinkButton("Export Devices", MVC.Device.Export(null, Disco.Models.Services.Devices.DeviceExportTypes.Model, Model.DeviceModel.Id)) } if (Authorization.Has(Claims.Device.Search) && Model.DeviceCount > 0) { @Html.ActionLinkButton(string.Format("View {0} Device{1}", Model.DeviceCount, (Model.DeviceCount != 1 ? "s" : null)), MVC.Search.Query(Model.DeviceModel.Id.ToString(), "DeviceModel")) } }