Resolves #173: Feature Request: Filter box for device/user flag assignment

This commit is contained in:
Gary Sharp
2025-07-05 17:01:19 +10:00
parent caa0bedc93
commit 3f1fa3d7de
10 changed files with 396 additions and 259 deletions
+6
View File
@@ -427,6 +427,12 @@
background-color: #fcfcfc;
border: 1px solid #ccc;
}
#Device_Show_Details_Actions_AddFlag_Dialog .flagPicker > input {
box-sizing: border-box;
width: 100%;
border: none;
border-bottom: 1px solid #ddd;
}
#Device_Show_Details_Actions_AddFlag_Dialog .flagPicker > div {
background-color: #fff;
border-bottom: 1px solid #ddd;
+7
View File
@@ -422,6 +422,13 @@
background-color: #fcfcfc;
border: 1px solid #ccc;
& > input {
box-sizing: border-box;
width: 100%;
border: none;
border-bottom: 1px solid #ddd;
}
& > div {
background-color: @white;
border-bottom: 1px solid #ddd;
File diff suppressed because one or more lines are too long
+6
View File
@@ -232,6 +232,12 @@
background-color: #fcfcfc;
border: 1px solid #ccc;
}
#User_Show_Details_Actions_AddFlag_Dialog .flagPicker > input {
box-sizing: border-box;
width: 100%;
border: none;
border-bottom: 1px solid #ddd;
}
#User_Show_Details_Actions_AddFlag_Dialog .flagPicker > div {
background-color: #fff;
border-bottom: 1px solid #ddd;
+7
View File
@@ -207,6 +207,13 @@
background-color: #fcfcfc;
border: 1px solid #ccc;
& > input {
box-sizing: border-box;
width: 100%;
border: none;
border-bottom: 1px solid #ddd;
}
& > div {
background-color: @white;
border-bottom: 1px solid #ddd;
File diff suppressed because one or more lines are too long
@@ -762,9 +762,10 @@
<input id="Device_Show_Details_Actions_AddFlag_Dialog_Id" type="hidden" name="id" />
<input id="Device_Show_Details_Actions_AddFlag_Dialog_DeviceSerialNumber" type="hidden" name="DeviceSerialNumber" value="@Model.Device.SerialNumber" />
<div class="flagPicker">
<input id="Device_Show_Details_Actions_AddFlag_Dialog_Filter" type="text" placeholder="Filter" autocomplete="off" />
@foreach (var flag in Model.AvailableDeviceFlags.OrderBy(jq => jq.Name))
{
<div class="flag" data-flagid="@(flag.Id)">
<div class="flag" data-flagid="@(flag.Id)" data-flagname="@flag.Name">
<i class="fa fa-@(flag.Icon) fa-fw fa-lg d-@(flag.IconColour)"></i>@flag.Name
</div>
}
@@ -779,17 +780,17 @@
</div>
<script type="text/javascript">
$(function () {
var button = $('#Device_Show_Details_Actions_AddFlag_Button');
var buttonDialog = null;
var buttonLink = button.attr('href');
const button = $('#Device_Show_Details_Actions_AddFlag_Button');
let buttonDialog = null;
const buttonLink = button.attr('href');
var flagPicker = null;
var flagAddId = null;
var flagAddComments = null;
var details = null;
let flagPicker = null;
let flagAddId = null;
let flagAddComments = null;
let details = null;
function flagSelected() {
var flag = $(this);
const flag = $(this);
flagPicker.children().removeClass('selected');
flag.addClass('selected');
@@ -818,7 +819,7 @@
},
"Add Flag": function () {
if (!!flagAddId.val()) {
var $this = $(this);
const $this = $(this);
$this.dialog("disable");
$this.dialog("option", "buttons", null);
buttonDialog.find('form').submit();
@@ -834,9 +835,26 @@
flagPicker = buttonDialog.find('.flagPicker');
details = buttonDialog.find('.details');
$('#Device_Show_Details_Actions_AddFlag_Dialog_Filter').on('keyup', function (e) {
const filter = $(e.currentTarget).val().toLowerCase();
if (filter) {
flagPicker.children('div.flag').each(function () {
const $this = $(this);
if ($this.attr('data-flagname').toLowerCase().indexOf(filter) >= 0) {
$this.css('display', 'block');
} else {
$this.css('display', 'none');
}
});
} else {
flagPicker.children('div.flag').each(function () { $(this).css('display', 'block'); });
}
});
flagPicker.on('click', 'div.flag', flagSelected);
}
$('#Device_Show_Details_Actions_AddFlag_Dialog_Filter').val('');
buttonDialog.dialog('open');
return false;
});
@@ -2792,16 +2792,26 @@ WriteLiteral(" <div");
WriteLiteral(" class=\"flagPicker\"");
WriteLiteral(">\r\n");
WriteLiteral(">\r\n <input");
WriteLiteral(" id=\"Device_Show_Details_Actions_AddFlag_Dialog_Filter\"");
WriteLiteral(" type=\"text\"");
WriteLiteral(" placeholder=\"Filter\"");
WriteLiteral(" autocomplete=\"off\"");
WriteLiteral(" />\r\n");
#line 765 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 766 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line default
#line hidden
#line 765 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 766 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
foreach (var flag in Model.AvailableDeviceFlags.OrderBy(jq => jq.Name))
{
@@ -2815,7 +2825,7 @@ WriteLiteral(" class=\"flag\"");
WriteLiteral(" data-flagid=\"");
#line 767 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 768 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(flag.Id);
@@ -2823,34 +2833,45 @@ WriteLiteral(" data-flagid=\"");
#line hidden
WriteLiteral("\"");
WriteLiteral(" data-flagname=\"");
#line 768 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(flag.Name);
#line default
#line hidden
WriteLiteral("\"");
WriteLiteral(">\r\n <i");
WriteAttribute("class", Tuple.Create(" class=\"", 48822), Tuple.Create("\"", 48881)
, Tuple.Create(Tuple.Create("", 48830), Tuple.Create("fa", 48830), true)
, Tuple.Create(Tuple.Create(" ", 48832), Tuple.Create("fa-", 48833), true)
WriteAttribute("class", Tuple.Create(" class=\"", 48995), Tuple.Create("\"", 49054)
, Tuple.Create(Tuple.Create("", 49003), Tuple.Create("fa", 49003), true)
, Tuple.Create(Tuple.Create(" ", 49005), Tuple.Create("fa-", 49006), true)
#line 768 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 48836), Tuple.Create<System.Object, System.Int32>(flag.Icon
#line 769 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 49009), Tuple.Create<System.Object, System.Int32>(flag.Icon
#line default
#line hidden
, 48836), false)
, Tuple.Create(Tuple.Create(" ", 48848), Tuple.Create("fa-fw", 48849), true)
, Tuple.Create(Tuple.Create(" ", 48854), Tuple.Create("fa-lg", 48855), true)
, Tuple.Create(Tuple.Create(" ", 48860), Tuple.Create("d-", 48861), true)
, 49009), false)
, Tuple.Create(Tuple.Create(" ", 49021), Tuple.Create("fa-fw", 49022), true)
, Tuple.Create(Tuple.Create(" ", 49027), Tuple.Create("fa-lg", 49028), true)
, Tuple.Create(Tuple.Create(" ", 49033), Tuple.Create("d-", 49034), true)
#line 768 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 48863), Tuple.Create<System.Object, System.Int32>(flag.IconColour
#line 769 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 49036), Tuple.Create<System.Object, System.Int32>(flag.IconColour
#line default
#line hidden
, 48863), false)
, 49036), false)
);
WriteLiteral("></i>");
#line 768 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 769 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(flag.Name);
@@ -2859,7 +2880,7 @@ WriteLiteral("></i>");
WriteLiteral("\r\n </div>\r\n");
#line 770 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 771 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -2882,7 +2903,7 @@ WriteLiteral("></textarea>\r\n </div>\r\n
"\n");
#line 778 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 779 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -2894,49 +2915,64 @@ WriteLiteral(" <script");
WriteLiteral(" type=\"text/javascript\"");
WriteLiteral(">\r\n $(function () {\r\n var button = $(\'#" +
"Device_Show_Details_Actions_AddFlag_Button\');\r\n var butto" +
"nDialog = null;\r\n var buttonLink = button.attr(\'href\');\r\n" +
"\r\n var flagPicker = null;\r\n var fl" +
"agAddId = null;\r\n var flagAddComments = null;\r\n " +
" var details = null;\r\n\r\n function flagSelect" +
"ed() {\r\n var flag = $(this);\r\n\r\n " +
" flagPicker.children().removeClass(\'selected\');\r\n " +
" flag.addClass(\'selected\');\r\n\r\n flagAddId.val(flag." +
"attr(\'data-flagid\'));\r\n\r\n details.show();\r\n\r\n " +
" flagAddComments.focus().select();\r\n }" +
"\r\n\r\n button.attr(\'href\', \'#\').click(function (e) {\r\n " +
" e.preventDefault();\r\n\r\n if (!b" +
"uttonDialog) {\r\n buttonDialog = $(\'#Device_Show_D" +
"etails_Actions_AddFlag_Dialog\');\r\n buttonDialog.d" +
"ialog({\r\n width: 600,\r\n " +
" height: 410,\r\n resizable: false" +
",\r\n modal: true,\r\n " +
" autoOpen: false,\r\n buttons: {\r\n " +
" Cancel: function () {\r\n " +
" $(this).dialog(\"close\");\r\n " +
" },\r\n \"Add Flag\": function () {\r\n " +
" if (!!flagAddId.val()) {\r\n " +
" var $this = $(this);\r\n " +
" $this.dialog(\"disable\");\r\n " +
" $this.dialog(\"option\", \"buttons\", null);\r\n " +
" buttonDialog.find(\'form\').submit();\r\n " +
" } else {\r\n " +
" alert(\'Select a Device Flag\');\r\n " +
" }\r\n }\r\n " +
" }\r\n });\r\n\r\n " +
" flagAddId = $(\'#Device_Show_Details_Actions_AddFlag_Dialog_Id\');\r\n " +
" flagAddComments = buttonDialog.find(\'#Device_Show_Details_Ac" +
"tions_AddFlag_Dialog_Comments\');\r\n flagPicker = b" +
"uttonDialog.find(\'.flagPicker\');\r\n details = butt" +
"onDialog.find(\'.details\');\r\n\r\n flagPicker.on(\'cli" +
"ck\', \'div.flag\', flagSelected);\r\n }\r\n\r\n " +
" buttonDialog.dialog(\'open\');\r\n return f" +
"alse;\r\n });\r\n });\r\n </s" +
"cript>\r\n");
WriteLiteral(">\r\n $(function () {\r\n const button = $(" +
"\'#Device_Show_Details_Actions_AddFlag_Button\');\r\n let but" +
"tonDialog = null;\r\n const buttonLink = button.attr(\'href\'" +
");\r\n\r\n let flagPicker = null;\r\n le" +
"t flagAddId = null;\r\n let flagAddComments = null;\r\n " +
" let details = null;\r\n\r\n function flagSe" +
"lected() {\r\n const flag = $(this);\r\n\r\n " +
" flagPicker.children().removeClass(\'selected\');\r\n " +
" flag.addClass(\'selected\');\r\n\r\n flagAddId.val" +
"(flag.attr(\'data-flagid\'));\r\n\r\n details.show();\r\n\r\n " +
" flagAddComments.focus().select();\r\n " +
" }\r\n\r\n button.attr(\'href\', \'#\').click(function (e) {\r" +
"\n e.preventDefault();\r\n\r\n " +
"if (!buttonDialog) {\r\n buttonDialog = $(\'#Device_" +
"Show_Details_Actions_AddFlag_Dialog\');\r\n buttonDi" +
"alog.dialog({\r\n width: 600,\r\n " +
" height: 410,\r\n resizable:" +
" false,\r\n modal: true,\r\n " +
" autoOpen: false,\r\n buttons: {\r" +
"\n Cancel: function () {\r\n " +
" $(this).dialog(\"close\");\r\n " +
" },\r\n \"Add Flag\": function (" +
") {\r\n if (!!flagAddId.val()) {\r\n " +
" const $this = $(this);\r\n " +
" $this.dialog(\"disable\");\r\n " +
" $this.dialog(\"option\", \"buttons\", null);\r\n " +
" buttonDialog.find(\'form\').submit();\r\n " +
" } else {\r\n " +
" alert(\'Select a Device Flag\');\r\n " +
" }\r\n }\r\n " +
" }\r\n });\r\n\r\n " +
" flagAddId = $(\'#Device_Show_Details_Actions_AddFlag_Dialog_Id\');\r\n " +
" flagAddComments = buttonDialog.find(\'#Device_Show_De" +
"tails_Actions_AddFlag_Dialog_Comments\');\r\n flagPi" +
"cker = buttonDialog.find(\'.flagPicker\');\r\n detail" +
"s = buttonDialog.find(\'.details\');\r\n\r\n $(\'#Device" +
"_Show_Details_Actions_AddFlag_Dialog_Filter\').on(\'keyup\', function (e) {\r\n " +
" const filter = $(e.currentTarget).val().toLowerCas" +
"e();\r\n if (filter) {\r\n " +
" flagPicker.children(\'div.flag\').each(function () {\r\n " +
" const $this = $(this);\r\n " +
" if ($this.attr(\'data-flagname\').toLowerCase().indexOf(filte" +
"r) >= 0) {\r\n $this.css(\'display\'," +
" \'block\');\r\n } else {\r\n " +
" $this.css(\'display\', \'none\');\r\n " +
" }\r\n });\r\n " +
" } else {\r\n " +
" flagPicker.children(\'div.flag\').each(function () { $(this).css(\'display\', \'bl" +
"ock\'); });\r\n }\r\n " +
" });\r\n\r\n flagPicker.on(\'click\', \'div.flag\', fla" +
"gSelected);\r\n }\r\n\r\n $(\'#De" +
"vice_Show_Details_Actions_AddFlag_Dialog_Filter\').val(\'\');\r\n " +
" buttonDialog.dialog(\'open\');\r\n return false;\r" +
"\n });\r\n });\r\n </script>" +
"\r\n");
#line 845 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 863 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -2945,7 +2981,7 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral(" ");
#line 846 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 864 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (Model.Device.CanUpdateTrustEnrol())
{
@@ -2953,14 +2989,14 @@ WriteLiteral(" ");
#line default
#line hidden
#line 848 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 866 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Trust Enrol", MVC.API.Device.UpdateAllowUnauthenticatedEnrol(Model.Device.SerialNumber, true.ToString(), true), "Device_Show_Device_Actions_TrustEnrol_Button"));
#line default
#line hidden
#line 848 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 866 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
@@ -3001,7 +3037,7 @@ WriteLiteral("></i>This action will allow a device <em>claiming</em> to have the
"\'");
#line 858 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 876 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Model.Device.SerialNumber);
@@ -3043,7 +3079,7 @@ WriteLiteral(">\r\n $(function () {\r\n
" });\r\n </script>\r\n");
#line 898 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 916 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -3052,7 +3088,7 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral(" ");
#line 899 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 917 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (Model.Device.CanUpdateUntrustEnrol())
{
@@ -3060,14 +3096,14 @@ WriteLiteral(" ");
#line default
#line hidden
#line 901 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 919 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Untrust Enrol", MVC.API.Device.UpdateAllowUnauthenticatedEnrol(Model.Device.SerialNumber, false.ToString(), true), "Device_Show_Device_Actions_UntrustEnrol_Button"));
#line default
#line hidden
#line 901 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 919 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
@@ -3138,7 +3174,7 @@ WriteLiteral(@">
");
#line 941 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 959 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -3147,7 +3183,7 @@ WriteLiteral(@">
WriteLiteral(" ");
#line 942 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 960 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (Model.Device.CanDecommission())
{
@@ -3155,14 +3191,14 @@ WriteLiteral(" ");
#line default
#line hidden
#line 944 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 962 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Decommission", MVC.API.Device.Decommission(), "Device_Show_Device_Actions_Decommission_Button"));
#line default
#line hidden
#line 944 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 962 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
@@ -3194,13 +3230,13 @@ WriteLiteral(" class=\"none\"");
WriteLiteral(">\r\n");
#line 951 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 969 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line default
#line hidden
#line 951 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 969 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
foreach (DecommissionReasons decommissionReason in Enum.GetValues(typeof(DecommissionReasons)).Cast<DecommissionReasons>().OrderBy(r => r.ToString()))
{
@@ -3211,34 +3247,34 @@ WriteLiteral(" <li>\r\n
WriteLiteral(" type=\"radio\"");
WriteAttribute("id", Tuple.Create(" id=\"", 59042), Tuple.Create("\"", 59120)
, Tuple.Create(Tuple.Create("", 59047), Tuple.Create("Device_Show_Device_Actions_Decommission_Reason_", 59047), true)
WriteAttribute("id", Tuple.Create(" id=\"", 60409), Tuple.Create("\"", 60487)
, Tuple.Create(Tuple.Create("", 60414), Tuple.Create("Device_Show_Device_Actions_Decommission_Reason_", 60414), true)
#line 954 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 59094), Tuple.Create<System.Object, System.Int32>((int)decommissionReason
#line 972 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 60461), Tuple.Create<System.Object, System.Int32>((int)decommissionReason
#line default
#line hidden
, 59094), false)
, 60461), false)
);
WriteLiteral("\r\n name=\"Device_Show_Device_Actions_Dec" +
"ommission_Reason\"");
WriteAttribute("value", Tuple.Create(" value=\"", 59219), Tuple.Create("\"", 59253)
WriteAttribute("value", Tuple.Create(" value=\"", 60586), Tuple.Create("\"", 60620)
#line 955 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 59227), Tuple.Create<System.Object, System.Int32>((int)decommissionReason
#line 973 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 60594), Tuple.Create<System.Object, System.Int32>((int)decommissionReason
#line default
#line hidden
, 59227), false)
, 60594), false)
);
WriteLiteral(" ");
#line 955 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 973 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write((decommissionReason == DecommissionReasons.EndOfLife) ? "checked=\"checked\"" : string.Empty);
@@ -3246,21 +3282,21 @@ WriteLiteral(" ");
#line hidden
WriteLiteral(" />\r\n <label");
WriteAttribute("for", Tuple.Create(" for=\"", 59397), Tuple.Create("\"", 59476)
, Tuple.Create(Tuple.Create("", 59403), Tuple.Create("Device_Show_Device_Actions_Decommission_Reason_", 59403), true)
WriteAttribute("for", Tuple.Create(" for=\"", 60764), Tuple.Create("\"", 60843)
, Tuple.Create(Tuple.Create("", 60770), Tuple.Create("Device_Show_Device_Actions_Decommission_Reason_", 60770), true)
#line 956 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 59450), Tuple.Create<System.Object, System.Int32>((int)decommissionReason
#line 974 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 60817), Tuple.Create<System.Object, System.Int32>((int)decommissionReason
#line default
#line hidden
, 59450), false)
, 60817), false)
);
WriteLiteral(">");
#line 956 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 974 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(decommissionReason.ReasonMessage());
@@ -3269,7 +3305,7 @@ WriteLiteral(">");
WriteLiteral("</label>\r\n </li>\r\n");
#line 958 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 976 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -3287,7 +3323,7 @@ WriteLiteral(">\r\n $(function () {\r\n
"uttonDialog = null;\r\n var deviceSerialNumber = \'");
#line 966 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 984 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Model.Device.SerialNumber);
@@ -3320,7 +3356,7 @@ WriteLiteral("\';\r\n\r\n button.click(function () {\r\n\
" });\r\n </script>\r\n");
#line 1002 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 1020 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -3329,7 +3365,7 @@ WriteLiteral("\';\r\n\r\n button.click(function () {\r\n\
WriteLiteral(" ");
#line 1003 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 1021 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (Model.Device.CanRecommission())
{
@@ -3337,14 +3373,14 @@ WriteLiteral(" ");
#line default
#line hidden
#line 1005 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 1023 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Recommission", MVC.API.Device.Recommission(Model.Device.SerialNumber, true), "Device_Show_Device_Actions_Recommission_Button"));
#line default
#line hidden
#line 1005 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 1023 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
@@ -3398,7 +3434,7 @@ WriteLiteral(@">
");
#line 1040 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 1058 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
@@ -3407,7 +3443,7 @@ WriteLiteral(@">
WriteLiteral(" ");
#line 1041 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 1059 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
if (Model.Device.CanDelete())
{
@@ -3415,14 +3451,14 @@ WriteLiteral(" ");
#line default
#line hidden
#line 1043 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 1061 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Delete Device", MVC.API.Device.Delete(Model.Device.SerialNumber, true), "Device_Show_Device_Actions_Delete_Button"));
#line default
#line hidden
#line 1043 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 1061 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
@@ -3482,7 +3518,7 @@ WriteLiteral(@">
");
#line 1081 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
#line 1099 "..\..\Views\Device\DeviceParts\_Subject.cshtml"
}
+28 -10
View File
@@ -245,9 +245,10 @@
<input id="User_Show_Details_Actions_AddFlag_Dialog_Id" type="hidden" name="id" />
<input id="User_Show_Details_Actions_AddFlag_Dialog_UserId" type="hidden" name="UserId" value="@Model.User.UserId" />
<div class="flagPicker">
<input id="User_Show_Details_Actions_AddFlag_Dialog_Filter" type="text" placeholder="Filter" autocomplete="off" />
@foreach (var userFlag in Model.AvailableUserFlags.OrderBy(jq => jq.Name))
{
<div class="flag" data-userflagid="@(userFlag.Id)">
<div class="flag" data-userflagid="@(userFlag.Id)" data-userflagname="@userFlag.Name">
<i class="fa fa-@(userFlag.Icon) fa-fw fa-lg d-@(userFlag.IconColour)"></i>@userFlag.Name
</div>
}
@@ -262,17 +263,17 @@
</div>
<script type="text/javascript">
$(function () {
var button = $('#User_Show_Details_Actions_AddFlag_Button');
var buttonDialog = null;
var buttonLink = button.attr('href');
const button = $('#User_Show_Details_Actions_AddFlag_Button');
let buttonDialog = null;
const buttonLink = button.attr('href');
var flagPicker = null;
var flagAddId = null;
var flagAddComments = null;
var details = null;
let flagPicker = null;
let flagAddId = null;
let flagAddComments = null;
let details = null;
function flagSelected() {
var flag = $(this);
const flag = $(this);
flagPicker.children().removeClass('selected');
flag.addClass('selected');
@@ -301,7 +302,7 @@
},
"Add Flag": function () {
if (!!flagAddId.val()) {
var $this = $(this);
const $this = $(this);
$this.dialog("disable");
$this.dialog("option", "buttons", null);
buttonDialog.find('form').submit();
@@ -317,9 +318,26 @@
flagPicker = buttonDialog.find('.flagPicker');
details = buttonDialog.find('.details');
$('#User_Show_Details_Actions_AddFlag_Dialog_Filter').on('keyup', function (e) {
const filter = $(e.currentTarget).val().toLowerCase();
if (filter) {
flagPicker.children('div.flag').each(function () {
const $this = $(this);
if ($this.attr('data-userflagname').toLowerCase().indexOf(filter) >= 0) {
$this.css('display', 'block');
} else {
$this.css('display', 'none');
}
});
} else {
flagPicker.children('div.flag').each(function () { $(this).css('display', 'block'); });
}
});
flagPicker.on('click', 'div.flag', flagSelected);
}
$('#User_Show_Details_Actions_AddFlag_Dialog_Filter').val('');
buttonDialog.dialog('open');
return false;
});
@@ -971,16 +971,26 @@ WriteLiteral(" <div");
WriteLiteral(" class=\"flagPicker\"");
WriteLiteral(">\r\n");
WriteLiteral(">\r\n <input");
WriteLiteral(" id=\"User_Show_Details_Actions_AddFlag_Dialog_Filter\"");
WriteLiteral(" type=\"text\"");
WriteLiteral(" placeholder=\"Filter\"");
WriteLiteral(" autocomplete=\"off\"");
WriteLiteral(" />\r\n");
#line 248 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 249 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 248 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 249 "..\..\Views\User\UserParts\_Subject.cshtml"
foreach (var userFlag in Model.AvailableUserFlags.OrderBy(jq => jq.Name))
{
@@ -994,7 +1004,7 @@ WriteLiteral(" class=\"flag\"");
WriteLiteral(" data-userflagid=\"");
#line 250 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 251 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(userFlag.Id);
@@ -1002,34 +1012,45 @@ WriteLiteral(" data-userflagid=\"");
#line hidden
WriteLiteral("\"");
WriteLiteral(" data-userflagname=\"");
#line 251 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(userFlag.Name);
#line default
#line hidden
WriteLiteral("\"");
WriteLiteral(">\r\n <i");
WriteAttribute("class", Tuple.Create(" class=\"", 16408), Tuple.Create("\"", 16475)
, Tuple.Create(Tuple.Create("", 16416), Tuple.Create("fa", 16416), true)
, Tuple.Create(Tuple.Create(" ", 16418), Tuple.Create("fa-", 16419), true)
WriteAttribute("class", Tuple.Create(" class=\"", 16599), Tuple.Create("\"", 16666)
, Tuple.Create(Tuple.Create("", 16607), Tuple.Create("fa", 16607), true)
, Tuple.Create(Tuple.Create(" ", 16609), Tuple.Create("fa-", 16610), true)
#line 251 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 16422), Tuple.Create<System.Object, System.Int32>(userFlag.Icon
#line 252 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 16613), Tuple.Create<System.Object, System.Int32>(userFlag.Icon
#line default
#line hidden
, 16422), false)
, Tuple.Create(Tuple.Create(" ", 16438), Tuple.Create("fa-fw", 16439), true)
, Tuple.Create(Tuple.Create(" ", 16444), Tuple.Create("fa-lg", 16445), true)
, Tuple.Create(Tuple.Create(" ", 16450), Tuple.Create("d-", 16451), true)
, 16613), false)
, Tuple.Create(Tuple.Create(" ", 16629), Tuple.Create("fa-fw", 16630), true)
, Tuple.Create(Tuple.Create(" ", 16635), Tuple.Create("fa-lg", 16636), true)
, Tuple.Create(Tuple.Create(" ", 16641), Tuple.Create("d-", 16642), true)
#line 251 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 16453), Tuple.Create<System.Object, System.Int32>(userFlag.IconColour
#line 252 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 16644), Tuple.Create<System.Object, System.Int32>(userFlag.IconColour
#line default
#line hidden
, 16453), false)
, 16644), false)
);
WriteLiteral("></i>");
#line 251 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 252 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(userFlag.Name);
@@ -1038,7 +1059,7 @@ WriteLiteral("></i>");
WriteLiteral("\r\n </div>\r\n");
#line 253 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 254 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1062,7 +1083,7 @@ WriteLiteral("></textarea>\r\n </div>\r\n
" </div>\r\n");
#line 261 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 262 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1075,55 +1096,73 @@ WriteLiteral(" <script");
WriteLiteral(" type=\"text/javascript\"");
WriteLiteral(">\r\n $(function () {\r\n " +
" var button = $(\'#User_Show_Details_Actions_AddFlag_Button\');\r\n " +
" var buttonDialog = null;\r\n " +
" var buttonLink = button.attr(\'href\');\r\n\r\n " +
" var flagPicker = null;\r\n var flagAddId = " +
"null;\r\n var flagAddComments = null;\r\n " +
" var details = null;\r\n\r\n " +
" function flagSelected() {\r\n var fl" +
"ag = $(this);\r\n\r\n flagPicker.children().r" +
"emoveClass(\'selected\');\r\n flag.addClass(\'" +
"selected\');\r\n\r\n flagAddId.val(flag.attr(\'" +
"data-userflagid\'));\r\n\r\n details.show();\r\n" +
"\r\n flagAddComments.focus().select();\r\n " +
" }\r\n\r\n button" +
".attr(\'href\', \'#\').click(function (e) {\r\n " +
" e.preventDefault();\r\n\r\n if (!buttonDialo" +
"g) {\r\n buttonDialog = $(\'#User_Show_D" +
"etails_Actions_AddFlag_Dialog\');\r\n bu" +
"ttonDialog.dialog({\r\n width: 600," +
"\r\n height: 410,\r\n " +
" resizable: false,\r\n " +
" modal: true,\r\n " +
" autoOpen: false,\r\n buttons: {\r\n " +
" Cancel: function () {\r\n " +
" $(this).dialog(\"close\");\r\n " +
" },\r\n " +
" \"Add Flag\": function () {\r\n " +
" if (!!flagAddId.val()) {\r\n " +
" var $this = $(this);\r\n " +
" $this.dialog(\"disable\");\r\n " +
" $this.dialog(\"option\", \"buttons\", null)" +
";\r\n buttonDialog.find" +
"(\'form\').submit();\r\n } el" +
"se {\r\n alert(\'Select " +
"a User Flag\');\r\n }\r\n " +
" }\r\n " +
" }\r\n });\r\n\r\n " +
" flagAddId = $(\'#User_Show_Details_Actions_Ad" +
"dFlag_Dialog_Id\');\r\n flagAddComments " +
"= buttonDialog.find(\'#User_Show_Details_Actions_AddFlag_Dialog_Comments\');\r\n " +
" flagPicker = buttonDialog.find(\'.flagPic" +
"ker\');\r\n details = buttonDialog.find(" +
"\'.details\');\r\n\r\n flagPicker.on(\'click" +
"\', \'div.flag\', flagSelected);\r\n }\r\n\r\n " +
" buttonDialog.dialog(\'open\');\r\n " +
" return false;\r\n });" +
"\r\n });\r\n </script>\r\n");
" const button = $(\'#User_Show_Details_Actions_AddFlag_Button\');\r\n " +
" let buttonDialog = null;\r\n " +
" const buttonLink = button.attr(\'href\');\r\n\r\n " +
" let flagPicker = null;\r\n let flagAddI" +
"d = null;\r\n let flagAddComments = null;\r\n " +
" let details = null;\r\n\r\n " +
" function flagSelected() {\r\n co" +
"nst flag = $(this);\r\n\r\n flagPicker.childr" +
"en().removeClass(\'selected\');\r\n flag.addC" +
"lass(\'selected\');\r\n\r\n flagAddId.val(flag." +
"attr(\'data-userflagid\'));\r\n\r\n details.sho" +
"w();\r\n\r\n flagAddComments.focus().select()" +
";\r\n }\r\n\r\n " +
"button.attr(\'href\', \'#\').click(function (e) {\r\n " +
" e.preventDefault();\r\n\r\n if (!butto" +
"nDialog) {\r\n buttonDialog = $(\'#User_" +
"Show_Details_Actions_AddFlag_Dialog\');\r\n " +
" buttonDialog.dialog({\r\n width" +
": 600,\r\n height: 410,\r\n " +
" resizable: false,\r\n " +
" modal: true,\r\n " +
" autoOpen: false,\r\n buttons" +
": {\r\n Cancel: function () {\r\n" +
" $(this).dialog(\"close\");" +
"\r\n },\r\n " +
" \"Add Flag\": function () {\r\n " +
" if (!!flagAddId.val()) {\r\n " +
" const $this = $(this);\r\n " +
" $this.dialog(\"disable\");\r\n " +
" $this.dialog(\"option\", \"buttons" +
"\", null);\r\n buttonDia" +
"log.find(\'form\').submit();\r\n " +
" } else {\r\n alert(" +
"\'Select a User Flag\');\r\n " +
"}\r\n }\r\n " +
" }\r\n });\r\n\r\n" +
" flagAddId = $(\'#User_Show_Details_Ac" +
"tions_AddFlag_Dialog_Id\');\r\n flagAddC" +
"omments = buttonDialog.find(\'#User_Show_Details_Actions_AddFlag_Dialog_Comments\'" +
");\r\n flagPicker = buttonDialog.find(\'" +
".flagPicker\');\r\n details = buttonDial" +
"og.find(\'.details\');\r\n\r\n $(\'#User_Sho" +
"w_Details_Actions_AddFlag_Dialog_Filter\').on(\'keyup\', function (e) {\r\n " +
" const filter = $(e.currentTarget).val().to" +
"LowerCase();\r\n if (filter) {\r\n " +
" flagPicker.children(\'div.flag\')" +
".each(function () {\r\n con" +
"st $this = $(this);\r\n if " +
"($this.attr(\'data-userflagname\').toLowerCase().indexOf(filter) >= 0) {\r\n " +
" $this.css(\'display\', \'block\'" +
");\r\n } else {\r\n " +
" $this.css(\'display\', \'none\');\r" +
"\n }\r\n " +
" });\r\n " +
" } else {\r\n flagPicker.ch" +
"ildren(\'div.flag\').each(function () { $(this).css(\'display\', \'block\'); });\r\n " +
" }\r\n " +
" });\r\n\r\n flagPicker.on(\'cli" +
"ck\', \'div.flag\', flagSelected);\r\n }\r\n\r\n " +
" $(\'#User_Show_Details_Actions_AddFlag_Dial" +
"og_Filter\').val(\'\');\r\n buttonDialog.dialo" +
"g(\'open\');\r\n return false;\r\n " +
" });\r\n });\r\n " +
" </script>\r\n");
#line 328 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 346 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1132,13 +1171,13 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral(" </div>\r\n </div>\r\n </td>\r\n");
#line 332 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 350 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 332 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 350 "..\..\Views\User\UserParts\_Subject.cshtml"
if (Authorization.Has(Claims.User.ShowAssignments))
{
@@ -1156,13 +1195,13 @@ WriteLiteral(" id=\"User_Show_AssignedDevices_Active\"");
WriteLiteral(">\r\n <h3>Current Device Assignments</h3>\r\n");
#line 338 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 356 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 338 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 356 "..\..\Views\User\UserParts\_Subject.cshtml"
if (currentDeviceAssignments.Count > 0)
{
foreach (var assignment in currentDeviceAssignments)
@@ -1178,7 +1217,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment clearfix\"");
WriteLiteral(" data-deviceserialnumber=\"");
#line 342 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 360 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.DeviceSerialNumber);
@@ -1189,13 +1228,13 @@ WriteLiteral("\"");
WriteLiteral(">\r\n");
#line 343 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 361 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 343 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 361 "..\..\Views\User\UserParts\_Subject.cshtml"
if (Authorization.Has(Claims.Device.Show))
{
@@ -1204,14 +1243,14 @@ WriteLiteral(">\r\n");
#line hidden
WriteLiteral(" <a");
WriteAttribute("href", Tuple.Create(" href=\"", 21873), Tuple.Create("\"", 21940)
WriteAttribute("href", Tuple.Create(" href=\"", 23450), Tuple.Create("\"", 23517)
#line 345 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 21880), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Device.Show(assignment.Device.SerialNumber))
#line 363 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 23457), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Device.Show(assignment.Device.SerialNumber))
#line default
#line hidden
, 21880), false)
, 23457), false)
);
WriteLiteral(">\r\n <img");
@@ -1220,20 +1259,20 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_Image\"");
WriteLiteral(" alt=\"Model Image\"");
WriteAttribute("src", Tuple.Create(" src=\"", 22072), Tuple.Create("\"", 22193)
WriteAttribute("src", Tuple.Create(" src=\"", 23649), Tuple.Create("\"", 23770)
#line 346 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 22078), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.DeviceModel.Image(assignment.Device.DeviceModel.Id, assignment.Device.DeviceModel.ImageHash()))
#line 364 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 23655), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.DeviceModel.Image(assignment.Device.DeviceModel.Id, assignment.Device.DeviceModel.ImageHash()))
#line default
#line hidden
, 22078), false)
, 23655), false)
);
WriteLiteral(" />\r\n </a>\r\n");
#line 348 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 366 "..\..\Views\User\UserParts\_Subject.cshtml"
}
else
{
@@ -1247,20 +1286,20 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_Image\"");
WriteLiteral(" alt=\"Model Image\"");
WriteAttribute("src", Tuple.Create(" src=\"", 22505), Tuple.Create("\"", 22626)
WriteAttribute("src", Tuple.Create(" src=\"", 24082), Tuple.Create("\"", 24203)
#line 351 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 22511), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.DeviceModel.Image(assignment.Device.DeviceModel.Id, assignment.Device.DeviceModel.ImageHash()))
#line 369 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 24088), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.DeviceModel.Image(assignment.Device.DeviceModel.Id, assignment.Device.DeviceModel.ImageHash()))
#line default
#line hidden
, 22511), false)
, 24088), false)
);
WriteLiteral(" />\r\n");
#line 352 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 370 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1288,13 +1327,13 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_SerialNumber\
WriteLiteral(" data-clipboard>\r\n");
#line 362 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 380 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 362 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 380 "..\..\Views\User\UserParts\_Subject.cshtml"
if (Authorization.Has(Claims.Device.Show))
{
@@ -1302,14 +1341,14 @@ WriteLiteral(" data-clipboard>\r\n");
#line default
#line hidden
#line 364 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 382 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Html.ActionLink(assignment.Device.SerialNumber, MVC.Device.Show(assignment.Device.SerialNumber)));
#line default
#line hidden
#line 364 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 382 "..\..\Views\User\UserParts\_Subject.cshtml"
}
else
@@ -1319,14 +1358,14 @@ WriteLiteral(" data-clipboard>\r\n");
#line default
#line hidden
#line 368 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 386 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.SerialNumber);
#line default
#line hidden
#line 368 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 386 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1336,13 +1375,13 @@ WriteLiteral(" data-clipboard>\r\n");
WriteLiteral(" </span>\r\n");
#line 371 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 389 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 371 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 389 "..\..\Views\User\UserParts\_Subject.cshtml"
if (!string.IsNullOrWhiteSpace(assignment.Device.ComputerName))
{
@@ -1358,7 +1397,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_ComputerName\
WriteLiteral(" data-clipboard>");
#line 373 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 391 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.ComputerName);
@@ -1369,7 +1408,7 @@ WriteLiteral("</span>)");
WriteLiteral("\r\n");
#line 374 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 392 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1379,13 +1418,13 @@ WriteLiteral(" </td>\r\n
" </tr>\r\n");
#line 377 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 395 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 377 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 395 "..\..\Views\User\UserParts\_Subject.cshtml"
if (!string.IsNullOrEmpty(assignment.Device.AssetNumber))
{
@@ -1402,7 +1441,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_Asset\"");
WriteLiteral(" data-clipboard>");
#line 382 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 400 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.AssetNumber);
@@ -1412,7 +1451,7 @@ WriteLiteral("</span>\r\n
" </tr>\r\n");
#line 385 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 403 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1421,7 +1460,7 @@ WriteLiteral("</span>\r\n
WriteLiteral(" ");
#line 386 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 404 "..\..\Views\User\UserParts\_Subject.cshtml"
if (assignment.Device.DeviceModelId.HasValue)
{
@@ -1440,7 +1479,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_Model\"");
WriteLiteral(">");
#line 393 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 411 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.DeviceModel.ToString());
@@ -1450,7 +1489,7 @@ WriteLiteral("</span>\r\n
" </tr>\r\n");
#line 396 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 414 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1468,7 +1507,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_Profile\"");
WriteLiteral(">");
#line 402 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 420 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.DeviceProfile.ToString());
@@ -1478,13 +1517,13 @@ WriteLiteral("</span>\r\n
" </tr>\r\n");
#line 405 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 423 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 405 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 423 "..\..\Views\User\UserParts\_Subject.cshtml"
if (assignment.Device.DeviceBatchId.HasValue)
{
@@ -1503,7 +1542,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_Batch\"");
WriteLiteral(">");
#line 412 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 430 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.DeviceBatch.ToString());
@@ -1513,7 +1552,7 @@ WriteLiteral("</span>\r\n
" </tr>\r\n");
#line 415 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 433 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1529,7 +1568,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_Assigned\"");
WriteLiteral(">");
#line 419 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 437 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(CommonHelpers.FriendlyDate(assignment.AssignedDate));
@@ -1539,13 +1578,13 @@ WriteLiteral("</span>\r\n
" </tr>\r\n");
#line 422 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 440 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 422 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 440 "..\..\Views\User\UserParts\_Subject.cshtml"
if (Authorization.Has(Claims.Device.ShowFlagAssignments) &&
assignment.Device.DeviceFlagAssignments.Any(a => a.RemovedDate.HasValue))
{
@@ -1565,13 +1604,13 @@ WriteLiteral(" class=\"User_Show_Assigned_Devices_CurrentAssignment_Flags\"");
WriteLiteral(">\r\n");
#line 428 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 446 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 428 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 446 "..\..\Views\User\UserParts\_Subject.cshtml"
foreach (var flag in assignment.Device.DeviceFlagAssignments.Where(f => !f.RemovedDate.HasValue).Select(f => Tuple.Create(f, DeviceFlagService.GetDeviceFlag(f.DeviceFlagId))))
{
@@ -1580,26 +1619,26 @@ WriteLiteral(">\r\n");
#line hidden
WriteLiteral(" <i");
WriteAttribute("class", Tuple.Create(" class=\"", 29260), Tuple.Create("\"", 29330)
, Tuple.Create(Tuple.Create("", 29268), Tuple.Create("flag", 29268), true)
, Tuple.Create(Tuple.Create(" ", 29272), Tuple.Create("fa", 29273), true)
, Tuple.Create(Tuple.Create(" ", 29275), Tuple.Create("fa-", 29276), true)
WriteAttribute("class", Tuple.Create(" class=\"", 30837), Tuple.Create("\"", 30907)
, Tuple.Create(Tuple.Create("", 30845), Tuple.Create("flag", 30845), true)
, Tuple.Create(Tuple.Create(" ", 30849), Tuple.Create("fa", 30850), true)
, Tuple.Create(Tuple.Create(" ", 30852), Tuple.Create("fa-", 30853), true)
#line 430 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 29279), Tuple.Create<System.Object, System.Int32>(flag.Item2.Icon
#line 448 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 30856), Tuple.Create<System.Object, System.Int32>(flag.Item2.Icon
#line default
#line hidden
, 29279), false)
, Tuple.Create(Tuple.Create(" ", 29297), Tuple.Create("fa-fw", 29298), true)
, Tuple.Create(Tuple.Create(" ", 29303), Tuple.Create("d-", 29304), true)
, 30856), false)
, Tuple.Create(Tuple.Create(" ", 30874), Tuple.Create("fa-fw", 30875), true)
, Tuple.Create(Tuple.Create(" ", 30880), Tuple.Create("d-", 30881), true)
#line 430 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 29306), Tuple.Create<System.Object, System.Int32>(flag.Item2.IconColour
#line 448 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 30883), Tuple.Create<System.Object, System.Int32>(flag.Item2.IconColour
#line default
#line hidden
, 29306), false)
, 30883), false)
);
WriteLiteral(">\r\n <s" +
@@ -1615,7 +1654,7 @@ WriteLiteral(" class=\"name\"");
WriteLiteral(">");
#line 432 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 450 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(flag.Item2.Name);
@@ -1624,7 +1663,7 @@ WriteLiteral(">");
WriteLiteral("</span>");
#line 432 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 450 "..\..\Views\User\UserParts\_Subject.cshtml"
if (flag.Item1.Comments != null)
{
@@ -1637,7 +1676,7 @@ WriteLiteral(" class=\"comments\"");
WriteLiteral(">");
#line 433 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 451 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(flag.Item1.Comments.ToHtmlComment());
@@ -1646,7 +1685,7 @@ WriteLiteral(">");
WriteLiteral("</span>");
#line 433 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 451 "..\..\Views\User\UserParts\_Subject.cshtml"
}
#line default
@@ -1658,7 +1697,7 @@ WriteLiteral(" class=\"added\"");
WriteLiteral(">");
#line 433 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 451 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(CommonHelpers.FriendlyDateAndUser(flag.Item1.AddedDate, flag.Item1.AddedUserId));
@@ -1669,7 +1708,7 @@ WriteLiteral("</span>\r\n
" </i>\r\n");
#line 436 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 454 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1722,7 +1761,7 @@ WriteLiteral(">\r\n
" </tr>\r\n");
#line 470 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 488 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1733,7 +1772,7 @@ WriteLiteral(" </tbody>\r\n
" </div>\r\n");
#line 475 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 493 "..\..\Views\User\UserParts\_Subject.cshtml"
}
}
else
@@ -1749,7 +1788,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">No Current Device Assignments</span>\r\n");
#line 480 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 498 "..\..\Views\User\UserParts\_Subject.cshtml"
}
@@ -1759,7 +1798,7 @@ WriteLiteral(" </div>\r\n </div>\r\n
"\r\n");
#line 484 "..\..\Views\User\UserParts\_Subject.cshtml"
#line 502 "..\..\Views\User\UserParts\_Subject.cshtml"
}