b1575fa321
Dialogs (with a refresh option) appear whenever the SignalR client disconnects or encounters an error. Nonsensical error messages replaced. Page refresh technique changed to allow for urls containing fragment hashes.
806 lines
34 KiB
C#
806 lines
34 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.User.UserParts
|
|
{
|
|
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/User/UserParts/_Resources.cshtml")]
|
|
public partial class Resources : Disco.Services.Web.WebViewPage<Disco.Web.Models.User.ShowModel>
|
|
{
|
|
public Resources()
|
|
{
|
|
}
|
|
public override void Execute()
|
|
{
|
|
|
|
#line 2 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
|
|
Authorization.Require(Claims.User.ShowAttachments);
|
|
|
|
var canAddAttachments = Authorization.Has(Claims.User.Actions.AddAttachments);
|
|
var canRemoveAnyAttachments = Authorization.Has(Claims.User.Actions.RemoveAnyAttachments);
|
|
var canRemoveOwnAttachments = Authorization.Has(Claims.User.Actions.RemoveOwnAttachments);
|
|
|
|
Html.BundleDeferred("~/Style/Shadowbox");
|
|
Html.BundleDeferred("~/ClientScripts/Modules/Shadowbox");
|
|
Html.BundleDeferred("~/ClientScripts/Modules/jQuery-SignalR");
|
|
|
|
if (canAddAttachments)
|
|
{
|
|
Html.BundleDeferred("~/ClientScripts/Modules/Disco-AttachmentUploader");
|
|
}
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\r\n<div");
|
|
|
|
WriteLiteral(" id=\"UserDetailTab-Resources\"");
|
|
|
|
WriteLiteral(" class=\"UserPart\"");
|
|
|
|
WriteLiteral(">\r\n <table");
|
|
|
|
WriteLiteral(" id=\"userShowResources\"");
|
|
|
|
WriteLiteral(">\r\n <tr>\r\n <td");
|
|
|
|
WriteLiteral(" id=\"AttachmentsContainer\"");
|
|
|
|
WriteLiteral(">\r\n <div");
|
|
|
|
WriteLiteral(" id=\"Attachments\"");
|
|
|
|
WriteAttribute("class", Tuple.Create(" class=\"", 872), Tuple.Create("\"", 947)
|
|
|
|
#line 22 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 880), Tuple.Create<System.Object, System.Int32>(canAddAttachments ? "canAddAttachments" : "cannotAddAttachments"
|
|
|
|
#line default
|
|
#line hidden
|
|
, 880), false)
|
|
);
|
|
|
|
WriteLiteral(">\r\n <div");
|
|
|
|
WriteLiteral(" class=\"Disco-AttachmentUpload-DropTarget\"");
|
|
|
|
WriteLiteral(">\r\n <h2>Drop Attachments Here</h2>\r\n </" +
|
|
"div>\r\n <div");
|
|
|
|
WriteLiteral(" class=\"attachmentOutput\"");
|
|
|
|
WriteLiteral(">\r\n");
|
|
|
|
|
|
#line 27 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 27 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
if (Model.User.UserAttachments != null)
|
|
{
|
|
foreach (var ua in Model.User.UserAttachments)
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" <a");
|
|
|
|
WriteAttribute("href", Tuple.Create(" href=\"", 1386), Tuple.Create("\"", 1444)
|
|
|
|
#line 31 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 1393), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.User.AttachmentDownload(ua.Id))
|
|
|
|
#line default
|
|
#line hidden
|
|
, 1393), false)
|
|
);
|
|
|
|
WriteLiteral(" data-attachmentid=\"");
|
|
|
|
|
|
#line 31 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(ua.Id);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\"");
|
|
|
|
WriteLiteral(" data-mimetype=\"");
|
|
|
|
|
|
#line 31 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(ua.MimeType);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\"");
|
|
|
|
WriteLiteral(">\r\n <span");
|
|
|
|
WriteLiteral(" class=\"icon\"");
|
|
|
|
WriteAttribute("title", Tuple.Create(" title=\"", 1554), Tuple.Create("\"", 1574)
|
|
|
|
#line 32 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 1562), Tuple.Create<System.Object, System.Int32>(ua.Filename
|
|
|
|
#line default
|
|
#line hidden
|
|
, 1562), false)
|
|
);
|
|
|
|
WriteLiteral(">\r\n <img");
|
|
|
|
WriteLiteral(" alt=\"Attachment Thumbnail\"");
|
|
|
|
WriteAttribute("src", Tuple.Create(" src=\"", 1645), Tuple.Create("\"", 1705)
|
|
|
|
#line 33 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 1651), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.User.AttachmentThumbnail(ua.Id))
|
|
|
|
#line default
|
|
#line hidden
|
|
, 1651), false)
|
|
);
|
|
|
|
WriteLiteral(" /></span>\r\n <span");
|
|
|
|
WriteLiteral(" class=\"comments\"");
|
|
|
|
WriteAttribute("title", Tuple.Create(" title=\"", 1772), Tuple.Create("\"", 1792)
|
|
|
|
#line 34 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 1780), Tuple.Create<System.Object, System.Int32>(ua.Comments
|
|
|
|
#line default
|
|
#line hidden
|
|
, 1780), false)
|
|
);
|
|
|
|
WriteLiteral(">\r\n");
|
|
|
|
|
|
#line 35 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 35 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
if (!string.IsNullOrEmpty(ua.DocumentTemplateId))
|
|
{
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 36 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(ua.DocumentTemplate.Description);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 36 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
}
|
|
else
|
|
{
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 38 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(ua.Comments);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 38 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
}
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\r\n </span><span");
|
|
|
|
WriteLiteral(" class=\"author\"");
|
|
|
|
WriteLiteral(">");
|
|
|
|
|
|
#line 39 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(ua.TechUser.ToStringFriendly());
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("</span>");
|
|
|
|
|
|
#line 39 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
if (canRemoveAnyAttachments || (canRemoveOwnAttachments && ua.TechUserId == CurrentUser.UserId))
|
|
{
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("<span");
|
|
|
|
WriteLiteral(" class=\"remove fa fa-times-circle\"");
|
|
|
|
WriteLiteral("></span>");
|
|
|
|
|
|
#line 40 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
}
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("<span");
|
|
|
|
WriteLiteral(" class=\"timestamp\"");
|
|
|
|
WriteLiteral(" data-livestamp=\"");
|
|
|
|
|
|
#line 40 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(ua.Timestamp.ToUnixEpoc());
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\"");
|
|
|
|
WriteAttribute("title", Tuple.Create(" title=\"", 2487), Tuple.Create("\"", 2525)
|
|
|
|
#line 40 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 2495), Tuple.Create<System.Object, System.Int32>(ua.Timestamp.ToFullDateTime()
|
|
|
|
#line default
|
|
#line hidden
|
|
, 2495), false)
|
|
);
|
|
|
|
WriteLiteral(">");
|
|
|
|
|
|
#line 40 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(ua.Timestamp.ToFullDateTime());
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("</span>\r\n </a> \r\n");
|
|
|
|
|
|
#line 42 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
}
|
|
}
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" </div>\r\n");
|
|
|
|
|
|
#line 45 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 45 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
if (canAddAttachments)
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" <div");
|
|
|
|
WriteLiteral(" class=\"Disco-AttachmentUpload-Progress\"");
|
|
|
|
WriteLiteral("></div>\r\n");
|
|
|
|
WriteLiteral(" <div");
|
|
|
|
WriteLiteral(" class=\"attachmentInput clearfix\"");
|
|
|
|
WriteLiteral(">\r\n <span");
|
|
|
|
WriteLiteral(" class=\"action upload fa fa-upload disabled\"");
|
|
|
|
WriteLiteral(" title=\"Attach File\"");
|
|
|
|
WriteLiteral("></span><span");
|
|
|
|
WriteLiteral(" class=\"action photo fa fa-camera disabled\"");
|
|
|
|
WriteLiteral(" title=\"Capture Image\"");
|
|
|
|
WriteLiteral("></span>\r\n </div>\r\n");
|
|
|
|
|
|
#line 51 "..\..\Views\User\UserParts\_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 $dialogRemoveAttachment = null;
|
|
|
|
// Connect to Hub
|
|
var hub = $.connection.userUpdates;
|
|
|
|
// Map Functions
|
|
hub.client.addAttachment = onAddAttachment;
|
|
hub.client.removeAttachment = onRemoveAttachment;
|
|
|
|
$.connection.hub.qs = { UserId: '");
|
|
|
|
|
|
#line 69 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(Model.User.UserId.Replace(@"\", @"\\"));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\' };\r\n $.connection.hub.error(onHubFailed);\r\n " +
|
|
" $.connection.hub.disconnected(onHubFailed);\r\n\r\n " +
|
|
" $.connection.hub.reconnecting(function () {\r\n " +
|
|
" $(\'#AttachmentsContainer\').find(\'span.action\').addClass(\'disabled\');\r" +
|
|
"\n });\r\n $.connection.hub.r" +
|
|
"econnected(function () {\r\n $(\'#AttachmentsContain" +
|
|
"er\').find(\'span.action\').removeClass(\'disabled\');\r\n }" +
|
|
");\r\n\r\n // Start Connection\r\n " +
|
|
" $.connection.hub.start(function () {\r\n $(\'#Att" +
|
|
"achmentsContainer\').find(\'span.action\').removeClass(\'disabled\');\r\n " +
|
|
" }).fail(onHubFailed);\r\n\r\n function onHu" +
|
|
"bFailed(error) {\r\n // Disable UI\r\n " +
|
|
" $(\'#AttachmentsContainer\').find(\'span.action\').addClass(\'disabl" +
|
|
"ed\');\r\n\r\n // Show Dialog Message\r\n " +
|
|
" if ($(\'.disconnected-dialog\').length == 0) {\r\n " +
|
|
" $(\'<div>\')\r\n .addClass" +
|
|
"(\'dialog disconnected-dialog\')\r\n .html(\'<" +
|
|
"h3><span class=\"fa-stack fa-lg\"><i class=\"fa fa-wifi fa-stack-1x\"></i><i class=\"" +
|
|
"fa fa-ban fa-stack-2x error\"></i></span>Disconnected from the Disco ICT Server</" +
|
|
"h3><div>This page is not receiving live updates. Please ensure you are connected" +
|
|
" to the server, then refresh this page to enable features.</div>\')\r\n " +
|
|
" .dialog({\r\n " +
|
|
" resizable: false,\r\n title: \'Discon" +
|
|
"nected\',\r\n width: 400,\r\n " +
|
|
" modal: true,\r\n " +
|
|
" buttons: {\r\n \'Refresh No" +
|
|
"w\': function () {\r\n $(this).d" +
|
|
"ialog(\'option\', \'buttons\', null);\r\n " +
|
|
" window.location.reload(true);\r\n " +
|
|
" },\r\n \'Close\': function () {" +
|
|
"\r\n $(this).dialog(\'destroy\');" +
|
|
"\r\n }\r\n " +
|
|
" }\r\n });\r\n " +
|
|
" }\r\n }\r\n\r\n " +
|
|
" function onAddAttachment(id, quick) {\r\n var data" +
|
|
" = { id: id };\r\n $.ajax({\r\n " +
|
|
" url: \'");
|
|
|
|
|
|
#line 115 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(Url.Action(MVC.API.User.Attachment()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"',
|
|
dataType: 'json',
|
|
data: data,
|
|
success: function (d) {
|
|
if (d.Result == 'OK') {
|
|
var a = d.Attachment;
|
|
");
|
|
|
|
|
|
#line 121 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 121 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
if (canRemoveAnyAttachments)
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" ");
|
|
|
|
WriteLiteral("buildAttachment(a, true, quick);");
|
|
|
|
WriteLiteral("\r\n");
|
|
|
|
|
|
#line 124 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
}
|
|
else if (canRemoveOwnAttachments)
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" ");
|
|
|
|
WriteLiteral("buildAttachment(a, (a.AuthorId === \'");
|
|
|
|
|
|
#line 127 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(CurrentUser.UserId);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\'), quick);");
|
|
|
|
WriteLiteral("\r\n");
|
|
|
|
|
|
#line 128 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
}
|
|
else
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" ");
|
|
|
|
WriteLiteral("buildAttachment(a, false, quick);");
|
|
|
|
WriteLiteral("\r\n");
|
|
|
|
|
|
#line 132 "..\..\Views\User\UserParts\_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 150 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(Url.Action(MVC.API.User.AttachmentDownload()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"/' + a.Id);
|
|
e.find('.comments').text(a.Description);
|
|
e.find('.author').text(a.Author);
|
|
e.find('.timestamp').text(a.TimestampFull).attr('title', a.TimestampFull).livestamp(a.TimestampUnixEpoc);
|
|
if (canRemove)
|
|
e.find('.remove').click(removeAttachment);
|
|
if (!quick)
|
|
e.hide();
|
|
$attachmentOutput.append(e);
|
|
onUpdate();
|
|
if (!quick)
|
|
e.show('slow');
|
|
if (a.MimeType.toLowerCase().indexOf('image/') == 0)
|
|
e.shadowbox({ gallery: 'attachments', player: 'img', title: a.Description });
|
|
else
|
|
e.click(onDownload);
|
|
|
|
// Add Thumbnail
|
|
var buildThumbnail = function () {
|
|
var retryCount = 0;
|
|
var img = e.find('.icon img');
|
|
|
|
var setThumbnailUrl = function () {
|
|
img.attr('src', '");
|
|
|
|
|
|
#line 173 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(Url.Action(MVC.API.User.AttachmentThumbnail()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("/\' + a.Id + \'?v=\' + retryCount);\r\n };\r\n " +
|
|
" img.on(\'error\', function () {\r\n " +
|
|
" img.addClass(\'loading\');\r\n " +
|
|
" retryCount++;\r\n if (retryCount < 6)" +
|
|
"\r\n window.setTimeout(setThumbnailUrl," +
|
|
" retryCount * 250);\r\n });\r\n " +
|
|
" img.on(\'load\', function () {\r\n " +
|
|
" img.removeClass(\'loading\');\r\n });\r\n " +
|
|
" window.setTimeout(setThumbnailUrl, 100);\r\n " +
|
|
" };\r\n buildThumbnail()" +
|
|
";\r\n }\r\n\r\n function onDownl" +
|
|
"oad() {\r\n var $this = $(this);\r\n " +
|
|
" var url = $this.attr(\'href\');\r\n\r\n " +
|
|
"if ($.connection && $.connection.hub && $.connection.hub.transport &&\r\n " +
|
|
" $.connection.hub.transport.name == \'f" +
|
|
"oreverFrame\') {\r\n // SignalR active with fore" +
|
|
"verFrame transport - use popup window\r\n windo" +
|
|
"w.open(url, \'_blank\', \'height=150,width=250,location=no,menubar=no,resizable=no," +
|
|
"scrollbars=no,status=no,toolbar=no\');\r\n } else {\r" +
|
|
"\n // use iFrame\r\n " +
|
|
" if (!$attachmentDownloadHost) {\r\n " +
|
|
" $attachmentDownloadHost = $(\'<iframe>\')\r\n " +
|
|
" .attr({ \'src\': url, \'title\': \'Attachment Download Host\' })\r\n " +
|
|
" .addClass(\'hidden\')\r\n " +
|
|
" .appendTo(\'body\')\r\n .c" +
|
|
"ontents();\r\n } else {\r\n " +
|
|
" $attachmentDownloadHost[0].location.href = url;\r\n " +
|
|
" }\r\n }\r\n\r\n " +
|
|
" return false;\r\n }\r\n\r\n " +
|
|
" function onRemoveAttachment(id) {\r\n va" +
|
|
"r a = $attachmentOutput.find(\'a[data-attachmentid=\' + id + \']\');\r\n\r\n " +
|
|
" a.hide(300).delay(300).queue(function () {\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 onUpdate" +
|
|
"();\r\n });\r\n }\r\n\r\n " +
|
|
" function onUpdate() {\r\n va" +
|
|
"r attachmentCount = $attachmentOutput.children(\'a\').length;\r\n " +
|
|
" var tabHeading = \'Attachments [\' + attachmentCount + \']\';\r\n " +
|
|
" $(\'#UserDetailTab-ResourcesLink\').text(tabHeading);\r\n " +
|
|
" }\r\n\r\n");
|
|
|
|
|
|
#line 232 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 232 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
if (canAddAttachments)
|
|
{
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\r\n //#region Add Attachments\r\n " +
|
|
" var attachmentUploader = new document.Disco.AttachmentUploader(\r\n " +
|
|
" \'");
|
|
|
|
|
|
#line 236 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(Url.Action(MVC.API.User.AttachmentUpload(Model.User.UserId, null)));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\',\r\n $Attachments.find(\'.Disco-AttachmentUpload-DropTa" +
|
|
"rget\'),\r\n $Attachments.find(\'.Disco-AttachmentUpload-" +
|
|
"Progress\'));\r\n\r\n var $attachmentInput = $Attachments." +
|
|
"find(\'.attachmentInput\');\r\n $attachmentInput.find(\'.p" +
|
|
"hoto\').click(function () {\r\n if ($(this).hasClass" +
|
|
"(\'disabled\'))\r\n alert(\'Disconnected from the " +
|
|
"Disco ICT Server, please refresh this page and try again\');\r\n " +
|
|
" else\r\n attachmentUploader.upload" +
|
|
"Image();\r\n });\r\n $attachme" +
|
|
"ntInput.find(\'.upload\').click(function () {\r\n if " +
|
|
"($(this).hasClass(\'disabled\'))\r\n alert(\'Disco" +
|
|
"nnected from the Disco ICT Server, please refresh this page and try again\');\r\n " +
|
|
" else\r\n attachme" +
|
|
"ntUploader.uploadFiles();\r\n });\r\n\r\n " +
|
|
" var resourcesTab;\r\n $(document).on(\'dragove" +
|
|
"r\', function () {\r\n if (!resourcesTab) {\r\n " +
|
|
" var tabs = $Attachments.closest(\'.ui-tabs\');\r\n " +
|
|
" resourcesTab = {\r\n " +
|
|
" tabs: tabs,\r\n resourcesIndex: ta" +
|
|
"bs.children(\'ul.ui-tabs-nav\').find(\'a[href=\"#UserDetailTab-Resources\"]\').closest" +
|
|
"(\'li\').index()\r\n };\r\n " +
|
|
" }\r\n var selectedIndex = resourcesTab.tabs" +
|
|
".tabs(\'option\', \'active\');\r\n if (resourcesTab.res" +
|
|
"ourcesIndex !== selectedIndex)\r\n resourcesTab" +
|
|
".tabs.tabs(\'option\', \'active\', resourcesTab.resourcesIndex);\r\n " +
|
|
" });\r\n //#endregion\r\n " +
|
|
" ");
|
|
|
|
|
|
#line 268 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
}
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" ");
|
|
|
|
|
|
#line 269 "..\..\Views\User\UserParts\_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 295 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(Url.Action(MVC.API.User.AttachmentRemove()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\',\r\n dataType: \'json\',\r\n " +
|
|
" data: data,\r\n " +
|
|
" success: function (d) {\r\n " +
|
|
"if (d == \'OK\') {\r\n // Do noth" +
|
|
"ing, await SignalR notification\r\n " +
|
|
" } else {\r\n alert(\'Unable to " +
|
|
"remove attachment: \' + d);\r\n }\r\n " +
|
|
" $dialogRemoveAttachment.dialog(\"c" +
|
|
"lose\");\r\n },\r\n " +
|
|
" error: function (jqXHR, textStatus, errorThrown) {\r\n " +
|
|
" alert(\'Unable to remove attachment: \' +" +
|
|
" textStatus);\r\n $dialogRemoveAtta" +
|
|
"chment.dialog(\"close\");\r\n }\r\n " +
|
|
" });\r\n },\r\n " +
|
|
" Cancel: function () {\r\n " +
|
|
" $dialogRemoveAttachment.dialog(\"close\");\r\n " +
|
|
" }\r\n });\r\n\r\n " +
|
|
" $dialogRemoveAttachment.dialog(\'open\');\r\n\r\n " +
|
|
" return false;\r\n }\r\n\r\n /" +
|
|
"/#endregion\r\n ");
|
|
|
|
|
|
#line 323 "..\..\Views\User\UserParts\_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>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<script>
|
|
$('#UserDetailTabItems').append('<li><a href=""#UserDetailTab-Resources"" id=""UserDetailTab-ResourcesLink"">Attachments [");
|
|
|
|
|
|
#line 339 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
Write(Model.User.UserAttachments == null ? 0 : Model.User.UserAttachments.Count);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("]</a></li>\');\r\n </script>\r\n</div>\r\n");
|
|
|
|
|
|
#line 342 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
if (canRemoveAnyAttachments || canRemoveOwnAttachments)
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" <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");
|
|
|
|
|
|
#line 349 "..\..\Views\User\UserParts\_Resources.cshtml"
|
|
}
|
|
|
|
#line default
|
|
#line hidden
|
|
}
|
|
}
|
|
}
|
|
#pragma warning restore 1591
|