a0e18ef963
Document Template import status and Device Enrolment status fixes. Attachment download fixes for SignalR foreverFrame transport. Database queries for Devices, Jobs and Users updated. Device attributes (model, profile, batch) now shown in various places.
779 lines
30 KiB
C#
779 lines
30 KiB
C#
#pragma warning disable 1591
|
|
//------------------------------------------------------------------------------
|
|
// <auto-generated>
|
|
// This code was generated by a tool.
|
|
// Runtime Version:4.0.30319.34014
|
|
//
|
|
// Changes to this file may cause incorrect behavior and will be lost if
|
|
// the code is regenerated.
|
|
// </auto-generated>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace Disco.Web.Views.Device.DeviceParts
|
|
{
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Text;
|
|
using System.Web;
|
|
using System.Web.Helpers;
|
|
using System.Web.Mvc;
|
|
using System.Web.Mvc.Ajax;
|
|
using System.Web.Mvc.Html;
|
|
using System.Web.Routing;
|
|
using System.Web.Security;
|
|
using System.Web.UI;
|
|
using System.Web.WebPages;
|
|
using Disco;
|
|
using Disco.BI.Extensions;
|
|
using Disco.Models.Repository;
|
|
using Disco.Services;
|
|
using Disco.Services.Authorization;
|
|
using Disco.Services.Web;
|
|
using Disco.Web;
|
|
using Disco.Web.Extensions;
|
|
|
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")]
|
|
[System.Web.WebPages.PageVirtualPathAttribute("~/Views/Device/DeviceParts/_Resources.cshtml")]
|
|
public partial class Resources : Disco.Services.Web.WebViewPage<Disco.Web.Models.Device.ShowModel>
|
|
{
|
|
public Resources()
|
|
{
|
|
}
|
|
public override void Execute()
|
|
{
|
|
|
|
#line 2 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
|
|
Authorization.Require(Claims.Device.ShowAttachments);
|
|
|
|
var canAddAttachments = Authorization.Has(Claims.Device.Actions.AddAttachments);
|
|
var canRemoveAnyAttachments = Authorization.Has(Claims.Device.Actions.RemoveAnyAttachments);
|
|
var canRemoveOwnAttachments = Authorization.Has(Claims.Device.Actions.RemoveOwnAttachments);
|
|
|
|
Html.BundleDeferred("~/Style/Shadowbox");
|
|
Html.BundleDeferred("~/ClientScripts/Modules/Shadowbox");
|
|
Html.BundleDeferred("~/ClientScripts/Modules/jQuery-SignalR");
|
|
|
|
if (canAddAttachments)
|
|
{
|
|
Html.BundleDeferred("~/ClientScripts/Modules/Silverlight");
|
|
}
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\r\n<div");
|
|
|
|
WriteLiteral(" id=\"DeviceDetailTab-Resources\"");
|
|
|
|
WriteLiteral(" class=\"DevicePart\"");
|
|
|
|
WriteLiteral(">\r\n <table");
|
|
|
|
WriteLiteral(" id=\"deviceShowResources\"");
|
|
|
|
WriteLiteral(">\r\n <tr>\r\n <td");
|
|
|
|
WriteLiteral(" id=\"Attachments\"");
|
|
|
|
WriteAttribute("class", Tuple.Create(" class=\"", 826), Tuple.Create("\"", 901)
|
|
|
|
#line 21 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 834), Tuple.Create<System.Object, System.Int32>(canAddAttachments ? "canAddAttachments" : "cannotAddAttachments"
|
|
|
|
#line default
|
|
#line hidden
|
|
, 834), false)
|
|
);
|
|
|
|
WriteLiteral(">\r\n <div");
|
|
|
|
WriteLiteral(" class=\"attachmentOutput\"");
|
|
|
|
WriteLiteral(">\r\n");
|
|
|
|
|
|
#line 23 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 23 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
if (Model.Device.DeviceAttachments != null)
|
|
{
|
|
foreach (var da in Model.Device.DeviceAttachments)
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" <a");
|
|
|
|
WriteAttribute("href", Tuple.Create(" href=\"", 1171), Tuple.Create("\"", 1231)
|
|
|
|
#line 27 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 1178), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.Device.AttachmentDownload(da.Id))
|
|
|
|
#line default
|
|
#line hidden
|
|
, 1178), false)
|
|
);
|
|
|
|
WriteLiteral(" data-attachmentid=\"");
|
|
|
|
|
|
#line 27 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(da.Id);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\"");
|
|
|
|
WriteLiteral(" data-mimetype=\"");
|
|
|
|
|
|
#line 27 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(da.MimeType);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\"");
|
|
|
|
WriteLiteral(">\r\n <span");
|
|
|
|
WriteLiteral(" class=\"icon\"");
|
|
|
|
WriteAttribute("title", Tuple.Create(" title=\"", 1337), Tuple.Create("\"", 1357)
|
|
|
|
#line 28 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 1345), Tuple.Create<System.Object, System.Int32>(da.Filename
|
|
|
|
#line default
|
|
#line hidden
|
|
, 1345), false)
|
|
);
|
|
|
|
WriteLiteral(">\r\n <img");
|
|
|
|
WriteLiteral(" alt=\"Attachment Thumbnail\"");
|
|
|
|
WriteAttribute("src", Tuple.Create(" src=\"", 1424), Tuple.Create("\"", 1486)
|
|
|
|
#line 29 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 1430), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.Device.AttachmentThumbnail(da.Id))
|
|
|
|
#line default
|
|
#line hidden
|
|
, 1430), false)
|
|
);
|
|
|
|
WriteLiteral(" /></span>\r\n <span");
|
|
|
|
WriteLiteral(" class=\"comments\"");
|
|
|
|
WriteAttribute("title", Tuple.Create(" title=\"", 1549), Tuple.Create("\"", 1569)
|
|
|
|
#line 30 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 1557), Tuple.Create<System.Object, System.Int32>(da.Comments
|
|
|
|
#line default
|
|
#line hidden
|
|
, 1557), false)
|
|
);
|
|
|
|
WriteLiteral(">\r\n");
|
|
|
|
|
|
#line 31 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 31 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
if (!string.IsNullOrEmpty(da.DocumentTemplateId))
|
|
{
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 32 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(da.DocumentTemplate.Description);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 32 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
}
|
|
else
|
|
{
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 34 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(da.Comments);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 34 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
}
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\r\n </span><span");
|
|
|
|
WriteLiteral(" class=\"author\"");
|
|
|
|
WriteLiteral(">");
|
|
|
|
|
|
#line 35 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(da.TechUser.ToString());
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("</span>");
|
|
|
|
|
|
#line 35 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
if (canRemoveAnyAttachments || (canRemoveOwnAttachments && da.TechUserId == CurrentUser.UserId))
|
|
{
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("<span");
|
|
|
|
WriteLiteral(" class=\"remove fa fa-times-circle\"");
|
|
|
|
WriteLiteral("></span>");
|
|
|
|
|
|
#line 36 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
}
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("<span");
|
|
|
|
WriteLiteral(" class=\"timestamp\"");
|
|
|
|
WriteAttribute("title", Tuple.Create(" title=\"", 2178), Tuple.Create("\"", 2216)
|
|
|
|
#line 36 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 2186), Tuple.Create<System.Object, System.Int32>(da.Timestamp.ToFullDateTime()
|
|
|
|
#line default
|
|
#line hidden
|
|
, 2186), false)
|
|
);
|
|
|
|
WriteLiteral(" data-livestamp=\"");
|
|
|
|
|
|
#line 36 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(da.Timestamp.ToUnixEpoc());
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\"");
|
|
|
|
WriteLiteral(">");
|
|
|
|
|
|
#line 36 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(da.Timestamp.ToFullDateTime());
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("</span>\r\n </a> \r\n");
|
|
|
|
|
|
#line 38 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
}
|
|
}
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" </div>\r\n");
|
|
|
|
|
|
#line 41 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 41 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
if (canAddAttachments)
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" <div");
|
|
|
|
WriteLiteral(" class=\"attachmentInput clearfix\"");
|
|
|
|
WriteLiteral(">\r\n <span");
|
|
|
|
WriteLiteral(" class=\"action upload fa fa-upload\"");
|
|
|
|
WriteLiteral(" title=\"Attach File\"");
|
|
|
|
WriteLiteral("></span><span");
|
|
|
|
WriteLiteral(" class=\"action photo fa fa-camera\"");
|
|
|
|
WriteLiteral(" title=\"Capture Image\"");
|
|
|
|
WriteLiteral("></span>\r\n </div>\r\n");
|
|
|
|
|
|
#line 46 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
}
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" <script");
|
|
|
|
WriteLiteral(" type=\"text/javascript\"");
|
|
|
|
WriteLiteral(@">
|
|
Shadowbox.init({
|
|
skipSetup: true,
|
|
modal: true
|
|
});
|
|
$(function () {
|
|
var $Attachments = $('#Attachments');
|
|
var $attachmentOutput = $Attachments.find('.attachmentOutput');
|
|
var $attachmentDownloadHost;
|
|
|
|
var $dialogUpload = null;
|
|
var $dialogRemoveAttachment = null;
|
|
|
|
// Connect to Hub
|
|
var hub = $.connection.deviceUpdates;
|
|
|
|
// Map Functions
|
|
hub.client.addAttachment = onAddAttachment;
|
|
hub.client.removeAttachment = onRemoveAttachment;
|
|
|
|
$.connection.hub.qs = { DeviceSerialNumber: '");
|
|
|
|
|
|
#line 67 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(Model.Device.SerialNumber);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"' };
|
|
$.connection.hub.error(onHubError);
|
|
|
|
// Start Connection
|
|
$.connection.hub.start().fail(onHubError);
|
|
|
|
function onHubError(error) {
|
|
alert('Live-update Error: ' + error);
|
|
}
|
|
|
|
function onAddAttachment(id, quick) {
|
|
var data = { id: id };
|
|
$.ajax({
|
|
url: '");
|
|
|
|
|
|
#line 80 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(Url.Action(MVC.API.Device.Attachment()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"',
|
|
dataType: 'json',
|
|
data: data,
|
|
success: function (d) {
|
|
if (d.Result == 'OK') {
|
|
var a = d.Attachment;
|
|
");
|
|
|
|
|
|
#line 86 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 86 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
if (canRemoveAnyAttachments)
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" ");
|
|
|
|
WriteLiteral("buildAttachment(a, true, quick);");
|
|
|
|
WriteLiteral("\r\n");
|
|
|
|
|
|
#line 89 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
}
|
|
else if (canRemoveOwnAttachments)
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" ");
|
|
|
|
WriteLiteral("buildAttachment(a, (a.AuthorId === \'");
|
|
|
|
|
|
#line 92 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(CurrentUser.UserId);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\'), quick);");
|
|
|
|
WriteLiteral("\r\n");
|
|
|
|
|
|
#line 93 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
}
|
|
else
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" ");
|
|
|
|
WriteLiteral("buildAttachment(a, false, quick);");
|
|
|
|
WriteLiteral("\r\n");
|
|
|
|
|
|
#line 97 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
}
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@" } else {
|
|
alert('Unable to add attachment: ' + d.Result);
|
|
}
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
alert('Unable to add attachment: ' + textStatus);
|
|
}
|
|
});
|
|
}
|
|
|
|
function buildAttachment(a, canRemove, quick) {
|
|
var t = '<a><span class=""icon""><img alt=""Attachment Thumbnail"" /></span><span class=""comments""></span><span class=""author""></span>';
|
|
if (canRemove)
|
|
t += '<span class=""remove fa fa-times-circle""></span>';
|
|
t += '<span class=""timestamp""></span></a>';
|
|
|
|
var e = $(t);
|
|
|
|
e.attr('data-attachmentid', a.Id).attr('data-mimetype', a.MimeType).attr('href', '");
|
|
|
|
|
|
#line 116 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(Url.Action(MVC.API.Device.AttachmentDownload()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("/\' + a.Id);\r\n e.find(\'.icon img\').attr(\'src\', \'");
|
|
|
|
|
|
#line 117 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(Url.Action(MVC.API.Device.AttachmentThumbnail()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("/\' + a.Id);\r\n e.find(\'.comments\').text(a.Description);" +
|
|
"\r\n e.find(\'.author\').text(a.Author);\r\n " +
|
|
" e.find(\'.timestamp\').text(a.TimestampFull).attr(\'title\', a.Timestam" +
|
|
"pFull).livestamp(a.TimestampUnixEpoc);\r\n if (canRemov" +
|
|
"e)\r\n e.find(\'.remove\').click(removeAttachment);\r\n" +
|
|
" if (!quick)\r\n e.hide(" +
|
|
");\r\n $attachmentOutput.append(e);\r\n " +
|
|
" onUpdate();\r\n if (!quick)\r\n " +
|
|
" e.show(\'slow\');\r\n if (a.MimeType.toLo" +
|
|
"werCase().indexOf(\'image/\') == 0)\r\n e.shadowbox({" +
|
|
" gallery: \'attachments\', player: \'img\', title: a.Description });\r\n " +
|
|
" else\r\n e.click(onDownload);\r\n " +
|
|
" }\r\n\r\n function onRemoveAttachment(id) {" +
|
|
"\r\n var a = $attachmentOutput.find(\'a[data-attachmenti" +
|
|
"d=\' + id + \']\');\r\n\r\n a.hide(300).delay(300).queue(fun" +
|
|
"ction () {\r\n var $this = $(this);\r\n " +
|
|
" if ($this.attr(\'data-mimetype\').toLowerCase().indexOf(\'image/\'" +
|
|
") == 0)\r\n Shadowbox.removeCache(this);\r\n " +
|
|
" $this.find(\'.timestamp\').livestamp(\'destroy\');\r\n " +
|
|
" $this.remove();\r\n onUp" +
|
|
"date();\r\n });\r\n }\r\n\r\n " +
|
|
" function onDownload() {\r\n var $this = " +
|
|
"$(this);\r\n var url = $this.attr(\'href\');\r\n\r\n " +
|
|
" if ($.connection && $.connection.hub && $.connection.hub.tran" +
|
|
"sport &&\r\n $.connection.hub.trans" +
|
|
"port.name == \'foreverFrame\') {\r\n // SignalR activ" +
|
|
"e with foreverFrame transport - use popup window\r\n " +
|
|
" window.open(url, \'_blank\', \'height=150,width=250,location=no,menubar=no,resiza" +
|
|
"ble=no,scrollbars=no,status=no,toolbar=no\');\r\n } else" +
|
|
" {\r\n // use iFrame\r\n " +
|
|
" if (!$attachmentDownloadHost) {\r\n $attachm" +
|
|
"entDownloadHost = $(\'<iframe>\')\r\n .attr({" +
|
|
" \'src\': url, \'title\': \'Attachment Download Host\' })\r\n " +
|
|
" .addClass(\'hidden\')\r\n .appen" +
|
|
"dTo(\'body\')\r\n .contents();\r\n " +
|
|
" } else {\r\n $attachmentDown" +
|
|
"loadHost[0].location.href = url;\r\n }\r\n " +
|
|
" }\r\n\r\n return false;\r\n " +
|
|
" }\r\n\r\n function onUpdate() {\r\n " +
|
|
" var attachmentCount = $attachmentOutput.children(\'a\').length;\r\n " +
|
|
" var tabHeading = \'Attachments [\' + attachmentCount + \']\';\r\n " +
|
|
" $(\'#DeviceDetailTab-ResourcesLink\').text(tabHeading);" +
|
|
"\r\n }\r\n\r\n");
|
|
|
|
|
|
#line 178 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 178 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
if (canAddAttachments)
|
|
{
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\r\n //#region Add Attachments\r\n if (" +
|
|
"!document.DiscoFunctions) {\r\n document.DiscoFunctions" +
|
|
" = {};\r\n }\r\n document.DiscoFunctio" +
|
|
"ns.addAttachment = function (Id) { return; /* Silverlight notification, do nothi" +
|
|
"ng use SignalR */ };\r\n\r\n var $attachmentInput = $Attachme" +
|
|
"nts.find(\'.attachmentInput\');\r\n $attachmentInput.find(\'.p" +
|
|
"hoto\').click(function () {\r\n showDialog(\'/WebCam\');\r\n" +
|
|
" });\r\n $attachmentInput.find(\'.upl" +
|
|
"oad\').click(function () {\r\n showDialog(\'/File\');\r\n " +
|
|
" });\r\n\r\n var silverlightOnLoadNavigat" +
|
|
"ion = null;\r\n var silverlightIsLoaded = null;\r\n\r\n " +
|
|
" function showDialog(navigationPath) {\r\n " +
|
|
" if (!$dialogUpload) {\r\n $dialogUpload = $(\'#di" +
|
|
"alogUpload\').dialog({\r\n autoOpen: false,\r\n " +
|
|
" draggable: false,\r\n " +
|
|
" modal: true,\r\n resizable: false,\r\n " +
|
|
" width: 860,\r\n " +
|
|
" height: 550,\r\n close: function () {\r\n " +
|
|
" var sl = $(\'#silverlightUploadAttachment\').get" +
|
|
"(0);\r\n if (sl.content)\r\n " +
|
|
" sl.content.Navigator.Navigate(\'/Hidden\');\r\n " +
|
|
" }\r\n });\r\n\r\n " +
|
|
" Silverlight.createObject(\'");
|
|
|
|
|
|
#line 213 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(Links.ClientBin.Disco_Silverlight_AttachmentUpload_xap);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"',
|
|
$('#silverlightHostUploadAttachment').get(0),
|
|
'silverlightUploadAttachment',
|
|
{ width: '840px', height: '500px', background: 'white', version: '4.0.60310.0' },
|
|
{
|
|
onLoad: function () {
|
|
if (silverlightOnLoadNavigation) {
|
|
$('#silverlightUploadAttachment').get(0).content.Navigator.Navigate(silverlightOnLoadNavigation);
|
|
silverlightIsLoaded = true;
|
|
}
|
|
}
|
|
},
|
|
'UploadUrl=");
|
|
|
|
|
|
#line 225 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(Url.Action(MVC.API.Device.AttachmentUpload(Model.Device.SerialNumber, null)));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"');
|
|
}
|
|
|
|
$dialogUpload.dialog('open');
|
|
if (silverlightIsLoaded) {
|
|
$('#silverlightUploadAttachment').get(0).content.Navigator.Navigate(navigationPath);
|
|
} else {
|
|
silverlightOnLoadNavigation = navigationPath;
|
|
}
|
|
};
|
|
|
|
//#endregion
|
|
");
|
|
|
|
|
|
#line 237 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
}
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" ");
|
|
|
|
|
|
#line 238 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
if (canRemoveAnyAttachments || canRemoveOwnAttachments)
|
|
{
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"
|
|
//#region Remove Attachments
|
|
$attachmentOutput.find('span.remove').click(removeAttachment);
|
|
|
|
function removeAttachment() {
|
|
$this = $(this).closest('a');
|
|
|
|
var data = { id: $this.attr('data-attachmentid') };
|
|
|
|
if (!$dialogRemoveAttachment) {
|
|
$dialogRemoveAttachment = $('#dialogRemoveAttachment').dialog({
|
|
resizable: false,
|
|
height: 140,
|
|
modal: true,
|
|
autoOpen: false
|
|
});
|
|
}
|
|
|
|
$dialogRemoveAttachment.dialog(""enable"");
|
|
$dialogRemoveAttachment.dialog('option', 'buttons', {
|
|
""Remove"": function () {
|
|
$dialogRemoveAttachment.dialog(""disable"");
|
|
$dialogRemoveAttachment.dialog(""option"", ""buttons"", null);
|
|
$.ajax({
|
|
url: '");
|
|
|
|
|
|
#line 263 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(Url.Action(MVC.API.Device.AttachmentRemove()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"',
|
|
dataType: 'json',
|
|
data: data,
|
|
success: function (d) {
|
|
if (d == 'OK') {
|
|
// Do nothing, await SignalR notification
|
|
} else {
|
|
alert('Unable to remove attachment: ' + d);
|
|
}
|
|
$dialogRemoveAttachment.dialog(""close"");
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
alert('Unable to remove attachment: ' + textStatus);
|
|
$dialogRemoveAttachment.dialog(""close"");
|
|
}
|
|
});
|
|
},
|
|
Cancel: function () {
|
|
$dialogRemoveAttachment.dialog(""close"");
|
|
}
|
|
});
|
|
|
|
$dialogRemoveAttachment.dialog('open');
|
|
|
|
return false;
|
|
}
|
|
//#endregion
|
|
");
|
|
|
|
|
|
#line 290 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
}
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"
|
|
$attachmentOutput.children('a').each(function () {
|
|
$this = $(this);
|
|
if ($this.attr('data-mimetype').toLowerCase().indexOf('image/') == 0)
|
|
$this.shadowbox({ gallery: 'attachments', player: 'img', title: $this.find('.comments').text() });
|
|
else
|
|
$this.click(onDownload);
|
|
});
|
|
});
|
|
</script>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<div");
|
|
|
|
WriteLiteral(" id=\"dialogUpload\"");
|
|
|
|
WriteLiteral(" class=\"dialog\"");
|
|
|
|
WriteLiteral(" title=\"Upload Attachment\"");
|
|
|
|
WriteLiteral(">\r\n <div");
|
|
|
|
WriteLiteral(" id=\"silverlightHostUploadAttachment\"");
|
|
|
|
WriteLiteral(">\r\n </div>\r\n </div>\r\n <div");
|
|
|
|
WriteLiteral(" id=\"dialogRemoveAttachment\"");
|
|
|
|
WriteLiteral(" class=\"dialog\"");
|
|
|
|
WriteLiteral(" title=\"Remove this Attachment?\"");
|
|
|
|
WriteLiteral(">\r\n <p>\r\n <i");
|
|
|
|
WriteLiteral(" class=\"fa fa-exclamation-triangle fa-lg\"");
|
|
|
|
WriteLiteral("></i> Are you sure?\r\n </p>\r\n </div>\r\n <script>\r\n $(\'#Dev" +
|
|
"iceDetailTabItems\').append(\'<li><a href=\"#DeviceDetailTab-Resources\" id=\"DeviceD" +
|
|
"etailTab-ResourcesLink\">Attachments [");
|
|
|
|
|
|
#line 314 "..\..\Views\Device\DeviceParts\_Resources.cshtml"
|
|
Write(Model.Device.DeviceAttachments == null ? 0 : Model.Device.DeviceAttachments.Count);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("]</a></li>\');\r\n </script>\r\n</div>\r\n");
|
|
|
|
}
|
|
}
|
|
}
|
|
#pragma warning restore 1591
|