diff --git a/Disco.Web/Views/Device/DeviceParts/_Subject.cshtml b/Disco.Web/Views/Device/DeviceParts/_Subject.cshtml
index 4f3b3f65..7e56be98 100644
--- a/Disco.Web/Views/Device/DeviceParts/_Subject.cshtml
+++ b/Disco.Web/Views/Device/DeviceParts/_Subject.cshtml
@@ -187,15 +187,35 @@
- @if (Model.DeviceDetails != null && Model.DeviceDetails.Details.Count > 0)
+ @if (Model.DeviceDetails != null && Model.DeviceDetails.Details.Count(d => !d.Key.EndsWith("&")) > 0)
{
@@ -283,15 +303,35 @@
}
- @if (Model.AssignedUserDetails != null && Model.AssignedUserDetails.Details.Count > 0)
+ @if (Model.AssignedUserDetails != null && Model.AssignedUserDetails.Details.Count(d => !d.Key.EndsWith("&")) > 0)
{
\r\n
#line 196 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
- Write(detail.Key);
+ Write(detail.Key.TrimEnd('*'));
#line default
#line hidden
-WriteLiteral(": ");
+WriteLiteral(":\r\n");
- #line 196 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
- Write(Html.Partial(MVC.Shared.Views._CustomDetailValueRender, detail));
+ #line 197 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+
+
+ #line default
+ #line hidden
+
+ #line 197 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ if (detail.Key.EndsWith("*"))
+ {
#line default
#line hidden
-WriteLiteral("\r\n
\r\n");
+WriteLiteral(" \r\n <
" \r\n");
- #line 211 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 231 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line default
#line hidden
- #line 211 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 231 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (assignedUser != null)
{
@@ -896,27 +966,27 @@ WriteLiteral(" (Model.HasAssignedUserPhoto ? "hasPhoto" : "noPhoto"
+ #line 233 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+, Tuple.Create(Tuple.Create(" ", 13464), Tuple.Create (Model.HasAssignedUserPhoto ? "hasPhoto" : "noPhoto"
#line default
#line hidden
-, 12285), false)
+, 13465), false)
);
WriteLiteral(">\r\n");
- #line 214 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 234 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line default
#line hidden
- #line 214 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 234 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (Model.HasAssignedUserPhoto)
{
@@ -931,20 +1001,20 @@ WriteLiteral(">\r\n (Url.Action(MVC.API.User.Photo(assignedUser.UserId))
+ #line 237 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ , Tuple.Create(Tuple.Create("", 13815), Tuple.Create(Url.Action(MVC.API.User.Photo(assignedUser.UserId))
#line default
#line hidden
-, 12635), false)
+, 13815), false)
);
WriteLiteral(" />\r\n \r\n");
- #line 219 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 239 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -959,13 +1029,13 @@ WriteLiteral(" title=\"Display Name\"");
WriteLiteral(">\r\n");
- #line 221 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 241 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line default
#line hidden
- #line 221 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 241 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (Authorization.Has(Claims.User.Show))
{
@@ -973,14 +1043,14 @@ WriteLiteral(">\r\n");
#line default
#line hidden
- #line 223 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 243 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Html.ActionLink(assignedUser.DisplayName, MVC.User.Show(assignedUser.UserId)));
#line default
#line hidden
- #line 223 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 243 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
else
@@ -990,14 +1060,14 @@ WriteLiteral(">\r\n");
#line default
#line hidden
- #line 227 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 247 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(assignedUser.DisplayName);
#line default
#line hidden
- #line 227 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 247 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -1014,7 +1084,7 @@ WriteLiteral(" title=\"Id\"");
WriteLiteral(">");
- #line 230 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 250 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(assignedUser.FriendlyId());
@@ -1023,13 +1093,13 @@ WriteLiteral(">");
WriteLiteral("\r\n");
- #line 231 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 251 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line default
#line hidden
- #line 231 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 251 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (Authorization.Has(Claims.User.ShowDetails))
{
if (!string.IsNullOrWhiteSpace(assignedUser.PhoneNumber))
@@ -1046,21 +1116,21 @@ WriteLiteral(" title=\"Phone Number\"");
WriteLiteral(">(assignedUser.PhoneNumber
+ #line 255 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ , Tuple.Create(Tuple.Create("", 15165), Tuple.Create(assignedUser.PhoneNumber
#line default
#line hidden
-, 13985), false)
+, 15165), false)
);
WriteLiteral(">");
- #line 235 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 255 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(assignedUser.PhoneNumber);
@@ -1069,7 +1139,7 @@ WriteLiteral(">");
WriteLiteral("\r\n");
- #line 236 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 256 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
if (!string.IsNullOrWhiteSpace(assignedUser.EmailAddress))
{
@@ -1085,21 +1155,21 @@ WriteLiteral(" title=\"Email Address\"");
WriteLiteral(">(Model.Device.AssignedUser.EmailAddress
+ #line 259 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ , Tuple.Create(Tuple.Create("", 15553), Tuple.Create(Model.Device.AssignedUser.EmailAddress
#line default
#line hidden
-, 14373), false)
+, 15553), false)
);
WriteLiteral(">");
- #line 239 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 259 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(assignedUser.EmailAddress);
@@ -1108,7 +1178,7 @@ WriteLiteral(">");
WriteLiteral("\r\n");
- #line 240 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 260 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
}
@@ -1118,7 +1188,7 @@ WriteLiteral("\r\n");
WriteLiteral(" ");
- #line 242 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 262 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (Authorization.Has(Claims.User.ShowFlagAssignments))
{
@@ -1132,13 +1202,13 @@ WriteLiteral(" id=\"Device_Show_User_Flags\"");
WriteLiteral(">\r\n");
- #line 245 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 265 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line default
#line hidden
- #line 245 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 265 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
foreach (var flag in assignedUser.UserFlagAssignments.Where(f => !f.RemovedDate.HasValue).Select(f => Tuple.Create(f, UserFlagService.GetUserFlag(f.UserFlagId))))
{
@@ -1147,26 +1217,26 @@ WriteLiteral(">\r\n");
#line hidden
WriteLiteral(" (flag.Item2.Icon
+ #line 267 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+, Tuple.Create(Tuple.Create("", 16281), Tuple.Create(flag.Item2.Icon
#line default
#line hidden
-, 15101), false)
-, Tuple.Create(Tuple.Create(" ", 15119), Tuple.Create("fa-fw", 15120), true)
-, Tuple.Create(Tuple.Create(" ", 15125), Tuple.Create("d-", 15126), true)
+, 16281), false)
+, Tuple.Create(Tuple.Create(" ", 16299), Tuple.Create("fa-fw", 16300), true)
+, Tuple.Create(Tuple.Create(" ", 16305), Tuple.Create("d-", 16306), true)
- #line 247 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
- , Tuple.Create(Tuple.Create("", 15128), Tuple.Create(flag.Item2.IconColour
+ #line 267 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ , Tuple.Create(Tuple.Create("", 16308), Tuple.Create(flag.Item2.IconColour
#line default
#line hidden
-, 15128), false)
+, 16308), false)
);
WriteLiteral(">\r\n ");
- #line 249 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 269 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(flag.Item2.Name);
@@ -1189,7 +1259,7 @@ WriteLiteral(">");
WriteLiteral("");
- #line 249 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 269 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (flag.Item1.Comments != null)
{
@@ -1202,7 +1272,7 @@ WriteLiteral(" class=\"comments\"");
WriteLiteral(">");
- #line 250 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 270 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(flag.Item1.Comments.ToHtmlComment());
@@ -1211,7 +1281,7 @@ WriteLiteral(">");
WriteLiteral("");
- #line 250 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 270 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
#line default
@@ -1223,7 +1293,7 @@ WriteLiteral(" class=\"added\"");
WriteLiteral(">");
- #line 250 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 270 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(CommonHelpers.FriendlyDateAndUser(flag.Item1.AddedDate, flag.Item1.AddedUserId));
@@ -1233,7 +1303,7 @@ WriteLiteral("\r\n
" \r\n");
- #line 253 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 273 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -1276,7 +1346,7 @@ WriteLiteral(">\r\n $(functio
" \r\n \r\n");
- #line 285 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 305 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -1285,8 +1355,8 @@ WriteLiteral(">\r\n $(functio
WriteLiteral(" ");
- #line 286 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
- if (Model.AssignedUserDetails != null && Model.AssignedUserDetails.Details.Count > 0)
+ #line 306 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ if (Model.AssignedUserDetails != null && Model.AssignedUserDetails.Details.Count(d => !d.Key.EndsWith("&")) > 0)
{
@@ -1301,14 +1371,14 @@ WriteLiteral(" class=\"status clearfix\"");
WriteLiteral(">\r\n");
- #line 289 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 309 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line default
#line hidden
- #line 289 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
- foreach (var detail in Model.AssignedUserDetails.Details)
+ #line 309 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ foreach (var detail in Model.AssignedUserDetails.Details.Where(d => !d.Key.EndsWith("&")))
{
@@ -1318,34 +1388,104 @@ WriteLiteral(" \r\n
" ");
- #line 292 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
- Write(detail.Key);
+ #line 312 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ Write(detail.Key.TrimEnd('*'));
#line default
#line hidden
-WriteLiteral(": ");
+WriteLiteral(":\r\n");
- #line 292 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
- Write(Html.Partial(MVC.Shared.Views._CustomDetailValueRender, detail));
+ #line 313 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+
+
+ #line default
+ #line hidden
+
+ #line 313 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ if (detail.Key.EndsWith("*"))
+ {
#line default
#line hidden
-WriteLiteral("\r\n \r\n");
+WriteLiteral(" [reveal]\r\n");
+
+WriteLiteral(" ");
- #line 294 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 316 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ Write(Html.Partial(MVC.Shared.Views._CustomDetailValueRender, detail));
+
+
+ #line default
+ #line hidden
+WriteLiteral("\r\n");
+
+
+ #line 317 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ }
+ else
+ {
+
+
+ #line default
+ #line hidden
+
+ #line 320 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ Write(Html.Partial(MVC.Shared.Views._CustomDetailValueRender, detail));
+
+
+ #line default
+ #line hidden
+
+ #line 320 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+
+ }
+
+
+ #line default
+ #line hidden
+WriteLiteral(" \r\n");
+
+
+ #line 323 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
#line default
#line hidden
-WriteLiteral(" \r\n");
+WriteLiteral("
+
+");
- #line 296 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 336 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -1354,7 +1494,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" \r\n");
- #line 298 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 338 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
else
{
@@ -1369,7 +1509,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">Not Assigned\r\n");
- #line 302 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 342 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -1379,13 +1519,13 @@ WriteLiteral(" | \r\n
" \r\n \r\n");
- #line 307 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 347 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line default
#line hidden
- #line 307 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 347 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (Authorization.Has(Claims.Device.Actions.GenerateDocuments))
{
@@ -1403,7 +1543,7 @@ WriteLiteral(">\r\n");
WriteLiteral(" ");
- #line 310 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 350 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Html.Partial(MVC.Shared.Views._GenerateDocumentControl, Model.GenerateDocumentControlModel));
@@ -1412,7 +1552,7 @@ WriteLiteral(" ");
WriteLiteral("\r\n \r\n");
- #line 312 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 352 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -1435,13 +1575,13 @@ WriteLiteral(" title=\"Device Profile\"");
WriteLiteral(">\r\n");
- #line 319 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 359 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line default
#line hidden
- #line 319 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 359 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (Authorization.Has(Claims.Config.DeviceProfile.Show))
{
@@ -1449,14 +1589,14 @@ WriteLiteral(">\r\n");
#line default
#line hidden
- #line 321 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 361 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Html.ActionLink(Model.Device.DeviceProfile.Name, MVC.Config.DeviceProfile.Index(Model.Device.DeviceProfileId)));
#line default
#line hidden
- #line 321 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 361 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
else
@@ -1466,14 +1606,14 @@ WriteLiteral(">\r\n");
#line default
#line hidden
- #line 325 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 365 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Model.Device.DeviceProfile.Name);
#line default
#line hidden
- #line 325 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 365 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -1495,7 +1635,7 @@ WriteLiteral(">Distribution:\r\n \r\n
WriteLiteral(" ");
- #line 334 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
+ #line 374 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Model.Device.DeviceProfile.DistributionType.ToString());
@@ -1511,13 +1651,13 @@ WriteLiteral(">Address:\r\n \r\n
"