@model Disco.Web.Models.Device.ShowModel @using Disco.Services.Devices.DeviceFlags; @{ Authorization.Require(Claims.Device.ShowFlagAssignments); var hasRemove = Authorization.Has(Claims.Device.Actions.RemoveFlags); var hasEdit = Authorization.Has(Claims.Device.Actions.EditFlags); var hasDeviceFlagShow = Authorization.Has(Claims.Config.DeviceFlag.Show); var activeAssignmentCount = Model.Device.DeviceFlagAssignments == null ? 0 : Model.Device.DeviceFlagAssignments.Count(a => !a.RemovedDate.HasValue); var flagAssignments = Model.Device.DeviceFlagAssignments.Select(a => Tuple.Create(a, DeviceFlagService.GetDeviceFlag(a.DeviceFlagId))).ToList(); }
@if (flagAssignments.Count > 0) { @foreach (var fa in flagAssignments.OrderByDescending(a => a.Item1.AddedDate)) { }
Name Added Comments Removed
@if (hasDeviceFlagShow) { @Html.ActionLink(fa.Item2.Name, MVC.Config.DeviceFlag.Index(fa.Item2.Id)) } else { @fa.Item2.Name } @CommonHelpers.FriendlyDateAndUser(fa.Item1.AddedDate, fa.Item1.AddedUser) @if (fa.Item1.OnAssignmentExpressionResult != null) {
@fa.Item1.OnAssignmentExpressionResult
}
@if (hasEdit) {
} @if (fa.Item1.Comments == null) {
[no comments]
} else {
@fa.Item1.Comments.ToHtmlComment()
@fa.Item1.Comments
}
@if (fa.Item1.RemovedDate.HasValue) { @CommonHelpers.FriendlyDateAndUser(fa.Item1.RemovedDate.Value, fa.Item1.RemovedUser) if (fa.Item1.OnUnassignmentExpressionResult != null) {
@fa.Item1.OnUnassignmentExpressionResult
} } else if (fa.Item1.CanRemove()) { Remove }
@using (Html.BeginForm(MVC.API.DeviceFlagAssignment.RemoveDevice())) {

 Are you sure?

}
@using (Html.BeginForm(MVC.API.DeviceFlagAssignment.UpdateComments())) {

Comments:

}
} else {
This device has no associated flags
}