diff --git a/resources/views/expenses/edit.blade.php b/resources/views/expenses/edit.blade.php
index fdeac3cf2293..343e11ed7179 100644
--- a/resources/views/expenses/edit.blade.php
+++ b/resources/views/expenses/edit.blade.php
@@ -15,7 +15,10 @@
@section('content')
- {!! Former::open($url)->addClass('warn-on-exit main-form')->method($method) !!}
+ {!! Former::open($url)
+ ->addClass('warn-on-exit main-form')
+ ->onsubmit('return onFormSubmit(event)')
+ ->method($method) !!}
{!! Former::text('action') !!}
@@ -154,6 +157,15 @@
clientMap[client.public_id] = client;
}
+ function onFormSubmit(event) {
+ if (window.countUploadingDocuments > 0) {
+ alert("{!! trans('texts.wait_for_upload') !!}");
+ return false;
+ }
+
+ return true;
+ }
+
function onClientChange() {
var clientId = $('select#client_id').val();
var client = clientMap[clientId];
@@ -240,6 +252,7 @@
dropzone.on("addedfile",handleDocumentAdded);
dropzone.on("removedfile",handleDocumentRemoved);
dropzone.on("success",handleDocumentUploaded);
+ dropzone.on("canceled",handleDocumentCanceled);
for (var i=0; iaccount->hasFeature(FEATURE_DOCUMENTS))
function handleDocumentAdded(file){
// open document when clicked
@@ -373,6 +387,7 @@
if(file.mock)return;
file.index = model.documents().length;
model.addDocument({name:file.name, size:file.size, type:file.type});
+ window.countUploadingDocuments++;
}
function handleDocumentRemoved(file){
@@ -382,11 +397,16 @@
function handleDocumentUploaded(file, response){
file.public_id = response.document.public_id
model.documents()[file.index].update(response.document);
-
+ window.countUploadingDocuments--;
if(response.document.preview_url){
dropzone.emit('thumbnail', file, response.document.preview_url);
}
}
+
+ function handleDocumentCanceled()
+ {
+ window.countUploadingDocuments--;
+ }
@endif
diff --git a/resources/views/invoices/edit.blade.php b/resources/views/invoices/edit.blade.php
index 300b1dcb148c..1cba75934a7b 100644
--- a/resources/views/invoices/edit.blade.php
+++ b/resources/views/invoices/edit.blade.php
@@ -1001,6 +1001,7 @@
dropzone.on("addedfile",handleDocumentAdded);
dropzone.on("removedfile",handleDocumentRemoved);
dropzone.on("success",handleDocumentUploaded);
+ dropzone.on("canceled",handleDocumentCanceled);
for (var i=0; i