diff --git a/app/Http/Controllers/Sales/Invoices.php b/app/Http/Controllers/Sales/Invoices.php
index e7e75118d..e2521f12a 100644
--- a/app/Http/Controllers/Sales/Invoices.php
+++ b/app/Http/Controllers/Sales/Invoices.php
@@ -70,7 +70,13 @@ class Invoices extends Controller
$response = $this->ajaxDispatch(new CreateDocument($request));
if ($response['success']) {
- $response['redirect'] = route('invoices.show', $response['data']->id);
+ $paramaters = ['invoice' => $response['data']->id];
+
+ if ($request->has('senddocument')) {
+ $paramaters['senddocument'] = true;
+ }
+
+ $response['redirect'] = route('invoices.show', $paramaters);
$message = trans('messages.success.added', ['type' => trans_choice('general.invoices', 1)]);
diff --git a/resources/assets/js/views/common/documents.js b/resources/assets/js/views/common/documents.js
index 47d9c9047..534b5e18c 100644
--- a/resources/assets/js/views/common/documents.js
+++ b/resources/assets/js/views/common/documents.js
@@ -8,7 +8,7 @@ import Vue from 'vue';
import DashboardPlugin from './../../plugins/dashboard-plugin';
import { addDays, format } from 'date-fns';
-import { setPromiseTimeout } from './../../plugins/functions';
+import { setPromiseTimeout, getQueryVariable } from './../../plugins/functions';
import Global from './../../mixins/global';
@@ -939,6 +939,12 @@ const app = new Vue({
this.form.due_at = due_at;
},
+
+ onSubmitViaSendEmail() {
+ this.form['senddocument'] = true;
+
+ this.onSubmit();
+ },
},
created() {
@@ -1040,6 +1046,21 @@ const app = new Vue({
this.dynamic_taxes = document_taxes;
}
+ if (getQueryVariable('senddocument')) {
+ // clear query string
+ let uri = window.location.toString();
+
+ if (uri.indexOf("?") > 0) {
+ let clean_uri = uri.substring(0, uri.indexOf("?"));
+
+ window.history.replaceState({}, document.title, clean_uri);
+ }
+
+ let email_route = document.getElementById('senddocument_route').value;
+
+ this.onEmail(email_route);
+ }
+
this.page_loaded = true;
}
});
diff --git a/resources/views/components/documents/form/buttons.blade.php b/resources/views/components/documents/form/buttons.blade.php
index 0f9a65da5..88019dbaf 100644
--- a/resources/views/components/documents/form/buttons.blade.php
+++ b/resources/views/components/documents/form/buttons.blade.php
@@ -8,8 +8,13 @@
id="invoice-send-to"
class="relative flex items-center justify-center bg-green hover:bg-green-700 text-white px-6 py-1.5 ltr:ml-2 rtl:mr-2 text-base rounded-lg disabled:bg-green-100"
override="class"
+ ::disabled="form.loading"
+ @click="onSubmitViaSendEmail"
>
- {{ trans('general.send_to') }}
+
+
+ {{ trans('general.send_to') }}
+
@endif
diff --git a/resources/views/components/documents/show/content.blade.php b/resources/views/components/documents/show/content.blade.php
index be70205ef..34ec22538 100644
--- a/resources/views/components/documents/show/content.blade.php
+++ b/resources/views/components/documents/show/content.blade.php
@@ -115,6 +115,7 @@
@stack('document_end')
+