mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
production builds
This commit is contained in:
parent
501f3c9b0e
commit
d64308fdd1
@ -6,6 +6,7 @@ use App\Events\Quote\QuoteWasApproved;
|
|||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\ClientPortal\ProcessQuotesInBulkRequest;
|
use App\Http\Requests\ClientPortal\ProcessQuotesInBulkRequest;
|
||||||
use App\Http\Requests\ClientPortal\ShowQuoteRequest;
|
use App\Http\Requests\ClientPortal\ShowQuoteRequest;
|
||||||
|
use App\Jobs\Invoice\InjectSignature;
|
||||||
use App\Models\Company;
|
use App\Models\Company;
|
||||||
use App\Models\Quote;
|
use App\Models\Quote;
|
||||||
use App\Utils\Ninja;
|
use App\Utils\Ninja;
|
||||||
@ -111,6 +112,10 @@ class QuoteController extends Controller
|
|||||||
foreach ($quotes as $quote) {
|
foreach ($quotes as $quote) {
|
||||||
$quote->service()->approve(auth()->user())->save();
|
$quote->service()->approve(auth()->user())->save();
|
||||||
event(new QuoteWasApproved(auth('contact')->user(), $quote, $quote->company, Ninja::eventVars()));
|
event(new QuoteWasApproved(auth('contact')->user(), $quote, $quote->company, Ninja::eventVars()));
|
||||||
|
|
||||||
|
if (request()->has('signature') && !is_null(request()->signature) && !empty(request()->signature)) {
|
||||||
|
InjectSignature::dispatch($quote, request()->signature);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()
|
return redirect()
|
||||||
|
2
public/js/clients/quotes/approve.js
vendored
2
public/js/clients/quotes/approve.js
vendored
@ -1,2 +1,2 @@
|
|||||||
/*! For license information please see approve.js.LICENSE.txt */
|
/*! For license information please see approve.js.LICENSE.txt */
|
||||||
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=10)}({10:function(e,t,n){e.exports=n("WuMn")},WuMn:function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var r=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.shouldDisplaySignature=t}var t,r,o;return t=e,(r=[{key:"submitForm",value:function(){document.getElementById("approve-form").submit()}},{key:"displaySignature",value:function(){document.getElementById("displaySignatureModal").removeAttribute("style"),new SignaturePad(document.getElementById("signature-pad"),{backgroundColor:"rgb(240,240,240)",penColor:"rgb(0, 0, 0)"})}},{key:"handle",value:function(){var e=this;document.getElementById("approve-button").addEventListener("click",(function(){e.shouldDisplaySignature&&(e.displaySignature(),document.getElementById("signature-next-step").addEventListener("click",(function(){e.submitForm()}))),e.shouldDisplaySignature||e.submitForm()}))}}])&&n(t.prototype,r),o&&n(t,o),e}(),o=document.querySelector('meta[name="require-quote-signature"]').content;new r(Boolean(+o)).handle()}});
|
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var u=t[r]={i:r,l:!1,exports:{}};return e[r].call(u.exports,u,u.exports,n),u.l=!0,u.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var u in e)n.d(r,u,function(t){return e[t]}.bind(null,u));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=10)}({10:function(e,t,n){e.exports=n("WuMn")},WuMn:function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var r=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.shouldDisplaySignature=t,this.shouldDisplayTerms=n,this.termsAccepted=!1}var t,r,u;return t=e,(r=[{key:"submitForm",value:function(){document.getElementById("approve-form").submit()}},{key:"displaySignature",value:function(){document.getElementById("displaySignatureModal").removeAttribute("style");var e=new SignaturePad(document.getElementById("signature-pad"),{penColor:"rgb(0, 0, 0)"});this.signaturePad=e}},{key:"displayTerms",value:function(){document.getElementById("displayTermsModal").removeAttribute("style")}},{key:"handle",value:function(){var e=this;document.getElementById("approve-button").addEventListener("click",(function(){e.shouldDisplaySignature&&e.shouldDisplayTerms&&(e.displaySignature(),document.getElementById("signature-next-step").addEventListener("click",(function(){e.displayTerms(),document.getElementById("accept-terms-button").addEventListener("click",(function(){document.querySelector('input[name="signature"').value=e.signaturePad.toDataURL(),e.termsAccepted=!0,e.submitForm()}))}))),e.shouldDisplaySignature&&!e.shouldDisplayTerms&&(e.displaySignature(),document.getElementById("signature-next-step").addEventListener("click",(function(){document.querySelector('input[name="signature"').value=e.signaturePad.toDataURL(),e.submitForm()}))),!e.shouldDisplaySignature&&e.shouldDisplayTerms&&(e.displayTerms(),document.getElementById("accept-terms-button").addEventListener("click",(function(){e.termsAccepted=!0,e.submitForm()}))),e.shouldDisplaySignature||e.shouldDisplayTerms||e.submitForm()}))}}])&&n(t.prototype,r),u&&n(t,u),e}(),u=document.querySelector('meta[name="require-quote-signature"]').content,o=document.querySelector('meta[name="show-quote-terms"]').content;new r(Boolean(+u),Boolean(+o)).handle()}});
|
@ -12,7 +12,7 @@
|
|||||||
"/js/clients/payments/stripe-credit-card.js": "/js/clients/payments/stripe-credit-card.js?id=f4659d26a26d2f408397",
|
"/js/clients/payments/stripe-credit-card.js": "/js/clients/payments/stripe-credit-card.js?id=f4659d26a26d2f408397",
|
||||||
"/js/clients/payments/stripe-sofort.js": "/js/clients/payments/stripe-sofort.js?id=7f5b13e34c75e63c015e",
|
"/js/clients/payments/stripe-sofort.js": "/js/clients/payments/stripe-sofort.js?id=7f5b13e34c75e63c015e",
|
||||||
"/js/clients/quotes/action-selectors.js": "/js/clients/quotes/action-selectors.js?id=1b8f9325aa6e8595e7fa",
|
"/js/clients/quotes/action-selectors.js": "/js/clients/quotes/action-selectors.js?id=1b8f9325aa6e8595e7fa",
|
||||||
"/js/clients/quotes/approve.js": "/js/clients/quotes/approve.js?id=9cdbe50bab63dc1dd520",
|
"/js/clients/quotes/approve.js": "/js/clients/quotes/approve.js?id=85bcae0a646882e56b12",
|
||||||
"/js/clients/shared/multiple-downloads.js": "/js/clients/shared/multiple-downloads.js?id=5c35d28cf0a3286e7c45",
|
"/js/clients/shared/multiple-downloads.js": "/js/clients/shared/multiple-downloads.js?id=5c35d28cf0a3286e7c45",
|
||||||
"/js/clients/shared/pdf.js": "/js/clients/shared/pdf.js?id=fa54bb4229aba6b0817c",
|
"/js/clients/shared/pdf.js": "/js/clients/shared/pdf.js?id=fa54bb4229aba6b0817c",
|
||||||
"/js/setup/setup.js": "/js/setup/setup.js?id=f42b2dee6575623822c2",
|
"/js/setup/setup.js": "/js/setup/setup.js?id=f42b2dee6575623822c2",
|
||||||
|
92
resources/js/clients/quotes/approve.js
vendored
92
resources/js/clients/quotes/approve.js
vendored
@ -9,8 +9,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
class Approve {
|
class Approve {
|
||||||
constructor(displaySignature) {
|
constructor(displaySignature, displayTerms) {
|
||||||
this.shouldDisplaySignature = displaySignature;
|
this.shouldDisplaySignature = displaySignature;
|
||||||
|
this.shouldDisplayTerms = displayTerms;
|
||||||
|
this.termsAccepted = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
submitForm() {
|
submitForm() {
|
||||||
@ -18,34 +20,84 @@ class Approve {
|
|||||||
}
|
}
|
||||||
|
|
||||||
displaySignature() {
|
displaySignature() {
|
||||||
let displaySignatureModal = document.getElementById('displaySignatureModal');
|
let displaySignatureModal = document.getElementById(
|
||||||
|
'displaySignatureModal'
|
||||||
|
);
|
||||||
displaySignatureModal.removeAttribute('style');
|
displaySignatureModal.removeAttribute('style');
|
||||||
|
|
||||||
const signaturePad = new SignaturePad(document.getElementById('signature-pad'), {
|
const signaturePad = new SignaturePad(
|
||||||
backgroundColor: 'rgb(240,240,240)',
|
document.getElementById('signature-pad'),
|
||||||
penColor: 'rgb(0, 0, 0)'
|
{
|
||||||
});
|
penColor: 'rgb(0, 0, 0)',
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
this.signaturePad = signaturePad;
|
||||||
|
}
|
||||||
|
|
||||||
|
displayTerms() {
|
||||||
|
let displayTermsModal = document.getElementById("displayTermsModal");
|
||||||
|
displayTermsModal.removeAttribute("style");
|
||||||
}
|
}
|
||||||
|
|
||||||
handle() {
|
handle() {
|
||||||
document.getElementById('approve-button').addEventListener('click', () => {
|
document
|
||||||
if (this.shouldDisplaySignature) {
|
.getElementById('approve-button')
|
||||||
this.displaySignature();
|
.addEventListener('click', () => {
|
||||||
|
if (this.shouldDisplaySignature && this.shouldDisplayTerms) {
|
||||||
|
this.displaySignature();
|
||||||
|
|
||||||
document.getElementById('signature-next-step').addEventListener('click', () => {
|
document
|
||||||
|
.getElementById('signature-next-step')
|
||||||
|
.addEventListener('click', () => {
|
||||||
|
this.displayTerms();
|
||||||
|
|
||||||
|
document
|
||||||
|
.getElementById('accept-terms-button')
|
||||||
|
.addEventListener('click', () => {
|
||||||
|
document.querySelector(
|
||||||
|
'input[name="signature"'
|
||||||
|
).value = this.signaturePad.toDataURL();
|
||||||
|
this.termsAccepted = true;
|
||||||
|
this.submitForm();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.shouldDisplaySignature && !this.shouldDisplayTerms) {
|
||||||
|
this.displaySignature();
|
||||||
|
|
||||||
|
document
|
||||||
|
.getElementById('signature-next-step')
|
||||||
|
.addEventListener('click', () => {
|
||||||
|
document.querySelector(
|
||||||
|
'input[name="signature"'
|
||||||
|
).value = this.signaturePad.toDataURL();
|
||||||
|
this.submitForm();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!this.shouldDisplaySignature && this.shouldDisplayTerms) {
|
||||||
|
this.displayTerms();
|
||||||
|
|
||||||
|
document
|
||||||
|
.getElementById('accept-terms-button')
|
||||||
|
.addEventListener('click', () => {
|
||||||
|
this.termsAccepted = true;
|
||||||
|
this.submitForm();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!this.shouldDisplaySignature && !this.shouldDisplayTerms) {
|
||||||
this.submitForm();
|
this.submitForm();
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
if (!this.shouldDisplaySignature) this.submitForm();
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const signature = document.querySelector(
|
const signature = document.querySelector('meta[name="require-quote-signature"]')
|
||||||
'meta[name="require-quote-signature"]'
|
.content;
|
||||||
).content;
|
|
||||||
|
|
||||||
new Approve(Boolean(+signature)).handle();
|
|
||||||
|
|
||||||
|
const terms = document.querySelector('meta[name="show-quote-terms"]').content;
|
||||||
|
|
||||||
|
new Approve(Boolean(+signature), Boolean(+terms)).handle();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user