diff --git a/Disco.Web/Views/Device/DeviceParts/_Subject.cshtml b/Disco.Web/Views/Device/DeviceParts/_Subject.cshtml
index e6143531..794543b9 100644
--- a/Disco.Web/Views/Device/DeviceParts/_Subject.cshtml
+++ b/Disco.Web/Views/Device/DeviceParts/_Subject.cshtml
@@ -228,10 +228,30 @@
$(function () {
var generatePdfUrl = '@Url.Action(MVC.API.Device.GeneratePdf(Model.Device.SerialNumber.ToString(), null))?DocumentTemplateId=';
var $documentTemplates = $('#Device_Show_GenerateDocument');
+ var $generationHost;
+
$documentTemplates.change(function () {
var v = $documentTemplates.val();
if (v) {
- window.location.href = generatePdfUrl + v;
+ var url = generatePdfUrl + v;
+
+ if ($.connection && $.connection.hub && $.connection.hub.transport &&
+ $.connection.hub.transport.name == 'foreverFrame') {
+ // SignalR active with foreverFrame transport - use popup window
+ window.open(url, '_blank', 'height=150,width=250,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no');
+ } else {
+ // use iFrame
+ if (!$generationHost) {
+ $generationHost = $('
\r\n");
- #line 475 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 495 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -1855,7 +1867,7 @@ WriteLiteral(">\r\n $(function () {\r\n
" });\r\n });\r\n \r\n");
- #line 508 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 528 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -1864,13 +1876,13 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral("\r\n");
- #line 510 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 530 "..\..\Views\Job\JobParts\_Subject.cshtml"
#line default
#line hidden
- #line 510 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 530 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanCloseNormally())
{
@@ -1878,14 +1890,14 @@ WriteLiteral("\r\n");
#line default
#line hidden
- #line 512 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 532 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Close", MVC.API.Job.Close(Model.Job.Id, true), "Job_Show_Job_Actions_Close_Button"));
#line default
#line hidden
- #line 512 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 532 "..\..\Views\Job\JobParts\_Subject.cshtml"
@@ -1931,7 +1943,7 @@ WriteLiteral(">\r\n $(function () {\r\n
" });\r\n });\r\n \r\n");
- #line 549 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 569 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -1940,7 +1952,7 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral(" ");
- #line 550 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 570 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanReopen())
{
@@ -1948,14 +1960,14 @@ WriteLiteral(" ");
#line default
#line hidden
- #line 552 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 572 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Reopen Job", MVC.API.Job.Reopen(Model.Job.Id, true), "Job_Show_Job_Actions_Reopen_Button"));
#line default
#line hidden
- #line 552 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 572 "..\..\Views\Job\JobParts\_Subject.cshtml"
@@ -2002,7 +2014,7 @@ WriteLiteral(">\r\n $(function () {\r\n
" });\r\n \r\n");
- #line 590 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 610 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2011,7 +2023,7 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral(" ");
- #line 591 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 611 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanDelete())
{
@@ -2019,14 +2031,14 @@ WriteLiteral(" ");
#line default
#line hidden
- #line 593 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 613 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Delete", MVC.API.Job.Delete(Model.Job.Id, true), "Job_Show_Job_Actions_Delete_Button"));
#line default
#line hidden
- #line 593 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 613 "..\..\Views\Job\JobParts\_Subject.cshtml"
@@ -2074,7 +2086,7 @@ WriteLiteral(">\r\n $(function () {\r\n
" \r\n");
- #line 631 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 651 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2083,7 +2095,7 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral(" ");
- #line 632 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 652 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanAddQueues() && Model.AvailableQueues != null && Model.AvailableQueues.Count > 0)
{
@@ -2097,14 +2109,14 @@ WriteLiteral(" ");
#line default
#line hidden
- #line 640 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 660 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Add to Queue", MVC.API.JobQueueJob.AddJob(), "Job_Show_Job_Actions_AddQueue_Button"));
#line default
#line hidden
- #line 640 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 660 "..\..\Views\Job\JobParts\_Subject.cshtml"
@@ -2121,13 +2133,13 @@ WriteLiteral(" title=\"Add Job to Queue\"");
WriteLiteral(">\r\n");
- #line 642 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 662 "..\..\Views\Job\JobParts\_Subject.cshtml"
#line default
#line hidden
- #line 642 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 662 "..\..\Views\Job\JobParts\_Subject.cshtml"
using (Html.BeginForm(MVC.API.JobQueueJob.AddJob()))
{
@@ -2152,14 +2164,14 @@ WriteLiteral(" type=\"hidden\"");
WriteLiteral(" name=\"JobId\"");
-WriteAttribute("value", Tuple.Create(" value=\"", 42293), Tuple.Create("\"", 42314)
+WriteAttribute("value", Tuple.Create(" value=\"", 43645), Tuple.Create("\"", 43666)
- #line 645 "..\..\Views\Job\JobParts\_Subject.cshtml"
- , Tuple.Create(Tuple.Create("", 42301), Tuple.Create(Model.Job.Id
+ #line 665 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ , Tuple.Create(Tuple.Create("", 43653), Tuple.Create(Model.Job.Id
#line default
#line hidden
-, 42301), false)
+, 43653), false)
);
WriteLiteral(" />\r\n");
@@ -2171,13 +2183,13 @@ WriteLiteral(" class=\"queuePicker\"");
WriteLiteral(">\r\n");
- #line 647 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 667 "..\..\Views\Job\JobParts\_Subject.cshtml"
#line default
#line hidden
- #line 647 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 667 "..\..\Views\Job\JobParts\_Subject.cshtml"
foreach (var jobQueue in Model.AvailableQueues.OrderBy(jq => jq.Name))
{
@@ -2191,7 +2203,7 @@ WriteLiteral(" class=\"queue\"");
WriteLiteral(" data-queueid=\"");
- #line 649 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 669 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(jobQueue.Id);
@@ -2202,7 +2214,7 @@ WriteLiteral("\"");
WriteLiteral(" data-queuesla=\"");
- #line 649 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 669 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(jobQueue.DefaultSLAExpiry.HasValue ? jobQueue.DefaultSLAExpiry.Value.ToString() : null);
@@ -2213,7 +2225,7 @@ WriteLiteral("\"");
WriteLiteral(" data-queuepriority=\"");
- #line 649 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 669 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(jobQueue.Priority.ToString());
@@ -2223,32 +2235,32 @@ WriteLiteral("\"");
WriteLiteral(">\r\n (jobQueue.Icon
+ #line 670 "..\..\Views\Job\JobParts\_Subject.cshtml"
+, Tuple.Create(Tuple.Create("", 44149), Tuple.Create(jobQueue.Icon
#line default
#line hidden
-, 42797), false)
-, Tuple.Create(Tuple.Create(" ", 42813), Tuple.Create("fa-fw", 42814), true)
-, Tuple.Create(Tuple.Create(" ", 42819), Tuple.Create("fa-lg", 42820), true)
-, Tuple.Create(Tuple.Create(" ", 42825), Tuple.Create("d-", 42826), true)
+, 44149), false)
+, Tuple.Create(Tuple.Create(" ", 44165), Tuple.Create("fa-fw", 44166), true)
+, Tuple.Create(Tuple.Create(" ", 44171), Tuple.Create("fa-lg", 44172), true)
+, Tuple.Create(Tuple.Create(" ", 44177), Tuple.Create("d-", 44178), true)
- #line 650 "..\..\Views\Job\JobParts\_Subject.cshtml"
- , Tuple.Create(Tuple.Create("", 42828), Tuple.Create(jobQueue.IconColour
+ #line 670 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ , Tuple.Create(Tuple.Create("", 44180), Tuple.Create(jobQueue.IconColour
#line default
#line hidden
-, 42828), false)
+, 44180), false)
);
WriteLiteral(">");
- #line 650 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 670 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(jobQueue.Name);
@@ -2257,7 +2269,7 @@ WriteLiteral(">");
WriteLiteral("\r\n \r\n");
- #line 652 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 672 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2275,7 +2287,7 @@ WriteLiteral(">\r\n \r\n
WriteLiteral(" ");
- #line 657 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 677 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.DropDownList("Priority", priorityItems));
@@ -2283,27 +2295,27 @@ WriteLiteral(" ");
#line hidden
WriteLiteral(" (priorityValue.ToLower()
+ #line 677 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ , Tuple.Create(Tuple.Create("", 44566), Tuple.Create(priorityValue.ToLower()
#line default
#line hidden
-, 43214), false)
+, 44566), false)
);
-WriteAttribute("title", Tuple.Create(" title=\"", 43241), Tuple.Create("\"", 43274)
+WriteAttribute("title", Tuple.Create(" title=\"", 44593), Tuple.Create("\"", 44626)
- #line 657 "..\..\Views\Job\JobParts\_Subject.cshtml"
- , Tuple.Create(Tuple.Create("", 43249), Tuple.Create(priorityValue
+ #line 677 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ , Tuple.Create(Tuple.Create("", 44601), Tuple.Create(priorityValue
#line default
#line hidden
-, 43249), false)
-, Tuple.Create(Tuple.Create(" ", 43265), Tuple.Create("Priority", 43266), true)
+, 44601), false)
+, Tuple.Create(Tuple.Create(" ", 44617), Tuple.Create("Priority", 44618), true)
);
WriteLiteral(">\r\n
\r\n \r\n " +
@@ -2312,7 +2324,7 @@ WriteLiteral(">\r\n
\r\n
WriteLiteral(" ");
- #line 661 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 681 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.DropDownList("SLAExpiresMinutes", slaOptions));
@@ -2324,7 +2336,7 @@ WriteLiteral("\r\n \r\n
WriteLiteral(" ");
- #line 665 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 685 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.TextArea("Comment"));
@@ -2333,7 +2345,7 @@ WriteLiteral(" ");
WriteLiteral("\r\n \r\n \r\n");
- #line 668 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 688 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2390,7 +2402,7 @@ WriteLiteral(">\r\n $(function () {\r\n
" \r\n");
- #line 739 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 759 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2399,7 +2411,7 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral(" ");
- #line 740 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 760 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanLogWarranty())
{
@@ -2407,14 +2419,14 @@ WriteLiteral(" ");
#line default
#line hidden
- #line 742 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 762 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Log Warranty", MVC.Job.LogWarranty(Model.Job.Id, null, null), "Job_Show_Job_Actions_LogWarranty_Button"));
#line default
#line hidden
- #line 742 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 762 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2424,7 +2436,7 @@ WriteLiteral(" ");
WriteLiteral(" ");
- #line 744 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 764 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanWarrantyCompleted())
{
@@ -2432,14 +2444,14 @@ WriteLiteral(" ");
#line default
#line hidden
- #line 746 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 766 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Warranty Complete", MVC.API.Job.UpdateWarrantyExternalCompletedDate(Model.Job.Id, "Now", true), "Job_Show_Job_Actions_WarrantyComplete_Button", "alert"));
#line default
#line hidden
- #line 746 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 766 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2449,7 +2461,7 @@ WriteLiteral(" ");
WriteLiteral(" ");
- #line 748 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 768 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanInsuranceClaimFormSent())
{
@@ -2457,14 +2469,14 @@ WriteLiteral(" ");
#line default
#line hidden
- #line 750 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 770 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Insurance Claim Sent", MVC.API.Job.UpdateInsuranceClaimFormSentDate(Model.Job.Id, "Now", true), "Job_Show_Job_Actions_InsuranceClaimSent_Button", "alert"));
#line default
#line hidden
- #line 750 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 770 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2474,7 +2486,7 @@ WriteLiteral(" ");
WriteLiteral(" ");
- #line 752 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 772 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanLogRepair())
{
@@ -2482,14 +2494,14 @@ WriteLiteral(" ");
#line default
#line hidden
- #line 754 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 774 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Repairs Logged", MVC.API.Job.LogRepair(Model.Job.Id, null, null, true), "Job_Show_Job_Actions_LogRepair_Button"));
#line default
#line hidden
- #line 754 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 774 "..\..\Views\Job\JobParts\_Subject.cshtml"
@@ -2506,13 +2518,13 @@ WriteLiteral(" title=\"Repairs Logged\"");
WriteLiteral(">\r\n");
- #line 756 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 776 "..\..\Views\Job\JobParts\_Subject.cshtml"
#line default
#line hidden
- #line 756 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 776 "..\..\Views\Job\JobParts\_Subject.cshtml"
using (Html.BeginForm(MVC.API.Job.LogRepair(Model.Job.Id, null, null, true)))
{
@@ -2544,7 +2556,7 @@ WriteLiteral(" name=\"RepairerReference\"");
WriteLiteral(" />\r\n \r\n");
- #line 766 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 786 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2582,7 +2594,7 @@ WriteLiteral(">\r\n $(function () {\r\n
" });\r\n });\r\n \r\n");
- #line 804 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 824 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2591,7 +2603,7 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral(" ");
- #line 805 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 825 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanRepairComplete())
{
@@ -2599,14 +2611,14 @@ WriteLiteral(" ");
#line default
#line hidden
- #line 807 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 827 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Repairs Complete", MVC.API.Job.UpdateNonWarrantyRepairerCompletedDate(Model.Job.Id, "Now", true), "Job_Show_Job_Actions_RepairComplete_Button", "alert"));
#line default
#line hidden
- #line 807 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 827 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2616,7 +2628,7 @@ WriteLiteral(" ");
WriteLiteral(" ");
- #line 809 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 829 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanConvertHWarToHNWar())
{
@@ -2624,14 +2636,14 @@ WriteLiteral(" ");
#line default
#line hidden
- #line 811 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 831 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Convert to Non-Warranty", MVC.API.Job.ConvertHWarToHNWar(Model.Job.Id, true), "Job_Show_Job_Actions_ConvertToHNWar_Button"));
#line default
#line hidden
- #line 811 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 831 "..\..\Views\Job\JobParts\_Subject.cshtml"
@@ -2679,7 +2691,7 @@ WriteLiteral(">\r\n $(function () {\r\n
" \r\n });\r\n \r\n");
- #line 851 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 871 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2688,13 +2700,13 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral(" \r\n");
- #line 853 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 873 "..\..\Views\Job\JobParts\_Subject.cshtml"
#line default
#line hidden
- #line 853 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 873 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.Device != null)
{
@@ -2708,13 +2720,13 @@ WriteLiteral(" id=\"Job_Show_Device_Actions\"");
WriteLiteral(">\r\n");
- #line 856 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 876 "..\..\Views\Job\JobParts\_Subject.cshtml"
#line default
#line hidden
- #line 856 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 876 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanDeviceHeld())
{
@@ -2722,14 +2734,14 @@ WriteLiteral(">\r\n");
#line default
#line hidden
- #line 858 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 878 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Device Held", MVC.API.Job.DeviceHeld(Model.Job.Id, true), "Job_Show_Device_Actions_Held_Button"));
#line default
#line hidden
- #line 858 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 878 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2739,7 +2751,7 @@ WriteLiteral(">\r\n");
WriteLiteral(" ");
- #line 860 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 880 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanDeviceReadyForReturn())
{
@@ -2747,14 +2759,14 @@ WriteLiteral(" ");
#line default
#line hidden
- #line 862 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 882 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Device Ready For Return", MVC.API.Job.DeviceReadyForReturn(Model.Job.Id, true), "Job_Show_Device_Actions_DeviceReadyForReturn_Button", "alert"));
#line default
#line hidden
- #line 862 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 882 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2764,7 +2776,7 @@ WriteLiteral(" ");
WriteLiteral(" ");
- #line 864 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 884 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanDeviceReturned())
{
@@ -2772,14 +2784,14 @@ WriteLiteral(" ");
#line default
#line hidden
- #line 866 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 886 "..\..\Views\Job\JobParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Device Returned", MVC.API.Job.DeviceReturned(Model.Job.Id, true), "Job_Show_Device_Actions_DeviceReturned_Button", Model.Job.CanDeviceReadyForReturn() ? null : "alert"));
#line default
#line hidden
- #line 866 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 886 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2789,7 +2801,7 @@ WriteLiteral(" ");
WriteLiteral(" \r\n");
- #line 869 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 889 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2798,7 +2810,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 870 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 890 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.User != null)
{
@@ -2812,13 +2824,13 @@ WriteLiteral(" id=\"Job_Show_User_Actions\"");
WriteLiteral(">\r\n\r\n\r\n");
- #line 875 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 895 "..\..\Views\Job\JobParts\_Subject.cshtml"
#line default
#line hidden
- #line 875 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 895 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanWaitingForUserAction())
{
@@ -2846,13 +2858,13 @@ WriteLiteral(" title=\"Waiting for User Action\"");
WriteLiteral(">\r\n");
- #line 879 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 899 "..\..\Views\Job\JobParts\_Subject.cshtml"
#line default
#line hidden
- #line 879 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 899 "..\..\Views\Job\JobParts\_Subject.cshtml"
using (Html.BeginForm(MVC.API.Job.WaitingForUserAction(Model.Job.Id, null, true)))
{
@@ -2870,7 +2882,7 @@ WriteLiteral(" class=\"block\"");
WriteLiteral(">\r\n \r\n");
- #line 885 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 905 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2905,7 +2917,7 @@ WriteLiteral(">\r\n $(function () {\r\n
" });\r\n \r\n");
- #line 918 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 938 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -2914,7 +2926,7 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral(" ");
- #line 919 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 939 "..\..\Views\Job\JobParts\_Subject.cshtml"
if (Model.Job.CanNotWaitingForUserAction())
{
@@ -2942,13 +2954,13 @@ WriteLiteral(" title=\"Not Waiting for User Action\"");
WriteLiteral(">\r\n");
- #line 923 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 943 "..\..\Views\Job\JobParts\_Subject.cshtml"
#line default
#line hidden
- #line 923 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 943 "..\..\Views\Job\JobParts\_Subject.cshtml"
using (Html.BeginForm(MVC.API.Job.NotWaitingForUserAction(Model.Job.Id, null, true)))
{
@@ -2966,7 +2978,7 @@ WriteLiteral(" class=\"block\"");
WriteLiteral(">\r\n \r\n");
- #line 929 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 949 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -3002,7 +3014,7 @@ WriteLiteral(">\r\n $(function () {\r\n
" });\r\n \r\n");
- #line 963 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 983 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
@@ -3011,7 +3023,7 @@ WriteLiteral(">\r\n $(function () {\r\n
WriteLiteral("\r\n \r\n");
- #line 966 "..\..\Views\Job\JobParts\_Subject.cshtml"
+ #line 986 "..\..\Views\Job\JobParts\_Subject.cshtml"
}
diff --git a/Disco.Web/Views/User/UserParts/_Subject.cshtml b/Disco.Web/Views/User/UserParts/_Subject.cshtml
index 3c4ec70f..179deb65 100644
--- a/Disco.Web/Views/User/UserParts/_Subject.cshtml
+++ b/Disco.Web/Views/User/UserParts/_Subject.cshtml
@@ -73,10 +73,30 @@
$(function () {
var generatePdfUrl = '@Url.Action(MVC.API.User.GeneratePdf(Model.User.UserId, null))?DocumentTemplateId=';
var $documentTemplates = $('#User_Show_GenerateDocument');
+ var $generationHost;
+
$documentTemplates.change(function () {
var v = $documentTemplates.val();
if (v) {
- window.location.href = generatePdfUrl + v;
+ var url = generatePdfUrl + v;
+
+ if ($.connection && $.connection.hub && $.connection.hub.transport &&
+ $.connection.hub.transport.name == 'foreverFrame') {
+ // SignalR active with foreverFrame transport - use popup window
+ window.open(url, '_blank', 'height=150,width=250,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no');
+ } else {
+ // use iFrame
+ if (!$generationHost) {
+ $generationHost = $('