bug: show correct error message if Online Upload session fails

This commit is contained in:
Gary Sharp committed 2025-06-18 13:03:47 +10:00
1 parent 0672bdb7c0
commit ee273ffe03
3 files changed
+15 -3

No files matched your search

@@ -193,13 +193,19 @@
if (!result.ok) {
alert('Error creating online upload session: ' + result.statusText);
$button
.removeClass('fa-spinner fa-spin d-green')
.addClass('fa-qrcode');
return;
}
const resultModel = await result.json();
if (!resultModel.Success) {
alert('Unable to create online upload session: ' + result.ErrorMessage);
alert('Unable to create online upload session: ' + resultModel.ErrorMessage);
$button
.removeClass('fa-spinner fa-spin d-green')
.addClass('fa-qrcode');
return;
}
@@ -1 +1 @@
(function(n,t,i){"use strict";var r=function(r){var u=this;if(u.$host=r,u.uploadUrl=r.attr("data-uploadurl"),u.dropTarget=r.find(".Disco-AttachmentUpload-DropTarget"),u.uploadProgressContainer=r.find(".Disco-AttachmentUpload-Progress"),u._uploadFilesInput=null,u.uploadFiles=function(){!u._uploadFilesInput||u._uploadFilesInput.remove();u._uploadFilesInput=i("<input>");u._uploadFilesInput.attr({type:"file",multiple:"multiple",title:"Disco ICT File Uploading"}).hide().change(function(n){var t=n.target.files;!!t&&t.length>0&&u._uploadFiles(t);u._uploadFilesInput.remove()}).appendTo(u.uploadProgressContainer).click()},!!u.dropTarget){var o=i(t),f=!1,e=null;o.on("dragover",function(){u.dropTarget.addClass("dragHighlight");u.dropTarget.removeClass("dragHover");f=!1});o.on("dragleave",function(){!e||n.clearInterval(e);f=!0;n.setTimeout(function(){f&&u.dropTarget.removeClass("dragHighlight");e=null},200)});u.dropTarget.on("dragover",function(n){n.stopPropagation();n.preventDefault();u.dropTarget.addClass("dragHover");f=!1;n.originalEvent.dataTransfer.dropEffect="copy"});u.dropTarget.on("drop",function(n){n.stopPropagation();n.preventDefault();f=!0;u.dropTarget.removeClass("dragHighlight");var t=n.originalEvent.dataTransfer.files;u._uploadFiles(t)})}return u.uploadImage=function(){let e=null,o=!1;var f=i("<div><video><\/video><\/div>").attr({id:"Disco_AttachmentUpload_ImageDialog",title:"Upload Image","class":"dialog Disco-AttachmentUpload-ImageDialog"});f.dialog({autoOpen:!0,draggable:!1,modal:!0,resizable:!1,width:720,height:405,close:function(){e&&e.getTracks().forEach(n=>n.stop());n.setTimeout(function(){f.dialog("destroy")},1)}}).closest(".ui-dialog").children(".ui-dialog-titlebar").css("border-bottom","none");const r=f.find("video")[0];navigator.mediaDevices.getUserMedia({audio:!1,video:{width:{ideal:1920},height:{ideal:1080},facingMode:"environment"}}).then(n=>{e=n,r.srcObject=n,r.play()}).catch(n=>{console.error(n),f.dialog("destroy")});r.addEventListener("canplay",()=>{if(!o){const i=720;let n=r.videoHeight/(r.videoWidth/i);isNaN(n)&&(n=405);r.setAttribute("width",i);r.setAttribute("height",n);o=!0;f.dialog("option","buttons",[{text:"Capture",click:()=>{const n=t.createElement("canvas");n.width=r.videoWidth;n.height=r.videoHeight;const i=n.getContext("2d");i.drawImage(r,0,0);n.toBlob(n=>{u._uploadImage(n)},"image/jpg")}}]);f.css("height","");f.closest(".ui-dialog").children(".ui-dialog-buttonpane").css("margin-top",0).find(".ui-button:first").focus()}})},u.onlineUpload=async function(){const o=u.$host.attr("data-onlineuploadurl"),s=u.$host.attr("data-qrcodeurl"),r=u.$host.find(".attachmentInput span.online-upload");if(!r.hasClass("fa-spinner")){if(r.removeClass("fa-qrcode").addClass("fa-spinner fa-spin d-green"),!n.QRCode){const n=t.createElement("script");n.src=s;n.type="text/javascript";n.onload=function(){u.onlineUploadDisplay()};t.body.appendChild(n)}const f=new FormData;f.append("__RequestVerificationToken",u.$host.find('input[name="__RequestVerificationToken"]').val());const i=await fetch(o,{method:"POST",body:f});if(!i.ok){alert("Error creating online upload session: "+i.statusText);return}const e=await i.json();if(!e.Success){alert("Unable to create online upload session: "+i.ErrorMessage);return}u.onlineUploadSession=e;u.onlineUploadDisplay();r.removeClass("fa-spinner fa-spin d-green").addClass("fa-qrcode")}},u.onlineUploadDisplay=function(){var t,f,e,r;!n.QRCode||!u.onlineUploadSession||(t=i("<div>").attr({title:"Online Upload","class":"dialog Disco-AttachmentUpload-OnlineUploadDialog"}),f=QRCode({msg:u.onlineUploadSession.SessionUri,ecl:"L"}),t.append(f),i('<input type="text" readonly>').val(u.onlineUploadSession.SessionUri).appendTo(t),i('<div class="info-box"><p class="fa-p"><i class="fa fa-info-circle information"><\/i> Scan the QR Code or send the link to upload files<\/p><\/div>').appendTo(t),e=new Date(u.onlineUploadSession.Expiration),r=setTimeout(function(){t.dialog("close")},e.getTime()-(new Date).getTime()),t.dialog({resizable:!1,width:500,modal:!0,autoOpen:!0,close:function(){!r||n.clearTimeout(r);t.dialog("destroy").remove()}}))},u.getFileComments=function(t,r,u){var e=!1,f=i("<div>").attr({title:"Upload File","class":"dialog Disco-AttachmentUpload-CommentDialog"}),o,h,s;f.html('<table><tr><th>File Name:<\/th><td class="filename"><\/td><\/tr><tr><th>Comments:<\/th><td><input class="comments" type="text" placeholder="optional" /><\/td><\/tr><tr><td class="thumbnail" colspan="2"><img /><\/td><\/tr><\/table>');!r||(o=f.find("td.thumbnail"),h=o.find("img"),r(h)&&o.show());f.find("td.filename").text(t).attr("title",t);s=f.find("input.comments").keypress(function(n){n.which===13&&(e=!0,f.dialog("close"))});f.dialog({resizable:!1,width:400,modal:!0,autoOpen:!0,buttons:{Upload:function(){e=!0;f.dialog("close");n.setTimeout(function(){s.focus()},1)},Cancel:function(){f.dialog("close")}},close:function(){var n=s.val();f.dialog("destroy").remove();u(e,n)}})},u._uploadImage=function(n){var t="CapLine truncated
(function(n,t,i){"use strict";var r=function(r){var u=this;if(u.$host=r,u.uploadUrl=r.attr("data-uploadurl"),u.dropTarget=r.find(".Disco-AttachmentUpload-DropTarget"),u.uploadProgressContainer=r.find(".Disco-AttachmentUpload-Progress"),u._uploadFilesInput=null,u.uploadFiles=function(){!u._uploadFilesInput||u._uploadFilesInput.remove();u._uploadFilesInput=i("<input>");u._uploadFilesInput.attr({type:"file",multiple:"multiple",title:"Disco ICT File Uploading"}).hide().change(function(n){var t=n.target.files;!!t&&t.length>0&&u._uploadFiles(t);u._uploadFilesInput.remove()}).appendTo(u.uploadProgressContainer).click()},!!u.dropTarget){var o=i(t),f=!1,e=null;o.on("dragover",function(){u.dropTarget.addClass("dragHighlight");u.dropTarget.removeClass("dragHover");f=!1});o.on("dragleave",function(){!e||n.clearInterval(e);f=!0;n.setTimeout(function(){f&&u.dropTarget.removeClass("dragHighlight");e=null},200)});u.dropTarget.on("dragover",function(n){n.stopPropagation();n.preventDefault();u.dropTarget.addClass("dragHover");f=!1;n.originalEvent.dataTransfer.dropEffect="copy"});u.dropTarget.on("drop",function(n){n.stopPropagation();n.preventDefault();f=!0;u.dropTarget.removeClass("dragHighlight");var t=n.originalEvent.dataTransfer.files;u._uploadFiles(t)})}return u.uploadImage=function(){let e=null,o=!1;var f=i("<div><video><\/video><\/div>").attr({id:"Disco_AttachmentUpload_ImageDialog",title:"Upload Image","class":"dialog Disco-AttachmentUpload-ImageDialog"});f.dialog({autoOpen:!0,draggable:!1,modal:!0,resizable:!1,width:720,height:405,close:function(){e&&e.getTracks().forEach(n=>n.stop());n.setTimeout(function(){f.dialog("destroy")},1)}}).closest(".ui-dialog").children(".ui-dialog-titlebar").css("border-bottom","none");const r=f.find("video")[0];navigator.mediaDevices.getUserMedia({audio:!1,video:{width:{ideal:1920},height:{ideal:1080},facingMode:"environment"}}).then(n=>{e=n,r.srcObject=n,r.play()}).catch(n=>{console.error(n),f.dialog("destroy")});r.addEventListener("canplay",()=>{if(!o){const i=720;let n=r.videoHeight/(r.videoWidth/i);isNaN(n)&&(n=405);r.setAttribute("width",i);r.setAttribute("height",n);o=!0;f.dialog("option","buttons",[{text:"Capture",click:()=>{const n=t.createElement("canvas");n.width=r.videoWidth;n.height=r.videoHeight;const i=n.getContext("2d");i.drawImage(r,0,0);n.toBlob(n=>{u._uploadImage(n)},"image/jpg")}}]);f.css("height","");f.closest(".ui-dialog").children(".ui-dialog-buttonpane").css("margin-top",0).find(".ui-button:first").focus()}})},u.onlineUpload=async function(){const o=u.$host.attr("data-onlineuploadurl"),s=u.$host.attr("data-qrcodeurl"),i=u.$host.find(".attachmentInput span.online-upload");if(!i.hasClass("fa-spinner")){if(i.removeClass("fa-qrcode").addClass("fa-spinner fa-spin d-green"),!n.QRCode){const n=t.createElement("script");n.src=s;n.type="text/javascript";n.onload=function(){u.onlineUploadDisplay()};t.body.appendChild(n)}const e=new FormData;e.append("__RequestVerificationToken",u.$host.find('input[name="__RequestVerificationToken"]').val());const r=await fetch(o,{method:"POST",body:e});if(!r.ok){alert("Error creating online upload session: "+r.statusText);i.removeClass("fa-spinner fa-spin d-green").addClass("fa-qrcode");return}const f=await r.json();if(!f.Success){alert("Unable to create online upload session: "+f.ErrorMessage);i.removeClass("fa-spinner fa-spin d-green").addClass("fa-qrcode");return}u.onlineUploadSession=f;u.onlineUploadDisplay();i.removeClass("fa-spinner fa-spin d-green").addClass("fa-qrcode")}},u.onlineUploadDisplay=function(){var t,f,e,r;!n.QRCode||!u.onlineUploadSession||(t=i("<div>").attr({title:"Online Upload","class":"dialog Disco-AttachmentUpload-OnlineUploadDialog"}),f=QRCode({msg:u.onlineUploadSession.SessionUri,ecl:"L"}),t.append(f),i('<input type="text" readonly>').val(u.onlineUploadSession.SessionUri).appendTo(t),i('<div class="info-box"><p class="fa-p"><i class="fa fa-info-circle information"><\/i> Scan the QR Code or send the link to upload files<\/p><\/div>').appendTo(t),e=new Date(u.onlineUploadSession.Expiration),r=setTimeout(function(){t.dialog("close")},e.getTime()-(new Date).getTime()),t.dialog({resizable:!1,width:500,modal:!0,autoOpen:!0,close:function(){!r||n.clearTimeout(r);t.dialog("destroy").remove()}}))},u.getFileComments=function(t,r,u){var e=!1,f=i("<div>").attr({title:"Upload File","class":"dialog Disco-AttachmentUpload-CommentDialog"}),o,h,s;f.html('<table><tr><th>File Name:<\/th><td class="filename"><\/td><\/tr><tr><th>Comments:<\/th><td><input class="comments" type="text" placeholder="optional" /><\/td><\/tr><tr><td class="thumbnail" colspan="2"><img /><\/td><\/tr><\/table>');!r||(o=f.find("td.thumbnail"),h=o.find("img"),r(h)&&o.show());f.find("td.filename").text(t).attr("title",t);s=f.find("input.comments").keypress(function(n){n.which===13&&(e=!0,f.dialog("close"))});f.dialog({resizable:!1,width:400,modal:!0,autoOpen:!0,buttons:{Upload:function(){e=!0;f.dialog("close");n.setTimeout(function(){s.focus()},1)},Cancel:functioLine truncated
@@ -193,13 +193,19 @@
if (!result.ok) {
alert('Error creating online upload session: ' + result.statusText);
$button
.removeClass('fa-spinner fa-spin d-green')
.addClass('fa-qrcode');
return;
}
const resultModel = await result.json();
if (!resultModel.Success) {
alert('Unable to create online upload session: ' + result.ErrorMessage);
alert('Unable to create online upload session: ' + resultModel.ErrorMessage);
$button
.removeClass('fa-spinner fa-spin d-green')
.addClass('fa-qrcode');
return;
}