Send Invoices/Estimates/Payments as email attachments

This commit is contained in:
Sebastian Cretu
2021-02-05 20:24:56 +01:00
parent f47029ca78
commit 392f6f469b
21 changed files with 574099 additions and 47 deletions

View File

@ -59,12 +59,15 @@ export default {
this.isRequestOnGoing = true
let res = await this.fetchCompanySettings([
'payment_auto_generate',
'payment_email_attachment',
'payment_prefix',
'payment_mail_body',
'invoice_auto_generate',
'invoice_email_attachment',
'invoice_prefix',
'invoice_mail_body',
'estimate_auto_generate',
'estimate_email_attachment',
'estimate_prefix',
'estimate_mail_body',
'invoice_billing_address_format',

View File

@ -70,7 +70,7 @@
<sw-divider class="mt-6 mb-8" />
<div class="flex">
<div class="flex mt-3 mb-4">
<div class="relative w-12">
<sw-switch
v-model="estimateAutogenerate"
@ -96,6 +96,32 @@
</p>
</div>
</div>
<div class="flex mb-2">
<div class="relative w-12">
<sw-switch
v-model="estimateAsAttachment"
class="absolute"
style="top: -20px"
@change="setEstimateSetting"
/>
</div>
<div class="ml-4">
<p class="p-0 mb-1 text-base leading-snug text-black">
{{
$t('settings.customization.estimates.estimate_email_attachment')
}}
</p>
<p
class="p-0 m-0 text-xs leading-tight text-gray-500"
style="max-width: 480px"
>
{{
$t('settings.customization.estimates.estimate_email_attachment_setting_description')
}}
</p>
</div>
</div>
</div>
</template>
@ -115,6 +141,7 @@ export default {
data() {
return {
estimateAutogenerate: false,
estimateAsAttachment: false,
estimates: {
estimate_prefix: null,
@ -204,6 +231,14 @@ export default {
} else {
this.estimateAutogenerate = false
}
this.estimate_email_attachment = val ? val.estimate_email_attachment : ''
if (this.estimate_email_attachment === 'YES') {
this.estimateAsAttachment = true
} else {
this.estimateAsAttachment = false
}
},
},
@ -214,6 +249,7 @@ export default {
let data = {
settings: {
estimate_auto_generate: this.estimateAutogenerate ? 'YES' : 'NO',
estimate_email_attachment: this.estimateAsAttachment ? 'YES' : 'NO',
},
}
let response = await this.updateCompanySettings(data)

View File

@ -74,7 +74,7 @@
<sw-divider class="mt-6 mb-8" />
<div class="flex">
<div class="flex mt-3 mb-4">
<div class="relative w-12">
<sw-switch
v-model="invoiceAutogenerate"
@ -101,6 +101,33 @@
</p>
</div>
</div>
<div class="flex mb-2">
<div class="relative w-12">
<sw-switch
v-model="invoiceAsAttachment"
class="absolute"
style="top: -20px"
@change="setInvoiceSetting"
/>
</div>
<div class="ml-4">
<p class="p-0 mb-1 text-base leading-snug text-black">
{{
$t('settings.customization.invoices.invoice_email_attachment')
}}
</p>
<p
class="p-0 m-0 text-xs leading-tight text-gray-500"
style="max-width: 480px"
>
{{
$t('settings.customization.invoices.invoice_email_attachment_setting_description')
}}
</p>
</div>
</div>
</div>
</template>
@ -120,6 +147,7 @@ export default {
data() {
return {
invoiceAutogenerate: false,
invoiceAsAttachment: false,
invoices: {
invoice_prefix: null,
@ -189,6 +217,14 @@ export default {
} else {
this.invoiceAutogenerate = false
}
this.invoice_email_attachment = val ? val.invoice_email_attachment : ''
if (this.invoice_email_attachment === 'YES') {
this.invoiceAsAttachment = true
} else {
this.invoiceAsAttachment = false
}
},
},
@ -209,6 +245,7 @@ export default {
let data = {
settings: {
invoice_auto_generate: this.invoiceAutogenerate ? 'YES' : 'NO',
invoice_email_attachment: this.invoiceAsAttachment ? 'YES' : 'NO',
},
}

View File

@ -63,7 +63,7 @@
<sw-divider class="mt-6 mb-8" />
<div class="flex">
<div class="flex mt-3 mb-4">
<div class="relative w-12">
<sw-switch
v-model="paymentAutogenerate"
@ -90,6 +90,33 @@
</p>
</div>
</div>
<div class="flex mb-2">
<div class="relative w-12">
<sw-switch
v-model="paymentAsAttachment"
class="absolute"
style="top: -20px"
@change="setPaymentSetting"
/>
</div>
<div class="ml-4">
<p class="p-0 mb-1 text-base leading-snug text-black">
{{
$t('settings.customization.payments.payment_email_attachment')
}}
</p>
<p
class="p-0 m-0 text-xs leading-tight text-gray-500"
style="max-width: 480px"
>
{{
$t('settings.customization.payments.payment_email_attachment_setting_description')
}}
</p>
</div>
</div>
</div>
</template>
<script>
@ -108,6 +135,7 @@ export default {
data() {
return {
paymentAutogenerate: false,
paymentAsAttachment: false,
payments: {
payment_prefix: null,
@ -184,6 +212,14 @@ export default {
} else {
this.paymentAutogenerate = false
}
this.payment_email_attachment = val ? val.payment_email_attachment : ''
if (this.payment_email_attachment === 'YES') {
this.payment_email_attachment = true
} else {
this.payment_email_attachment = false
}
},
},
@ -203,6 +239,7 @@ export default {
let data = {
settings: {
payment_auto_generate: this.paymentAutogenerate ? 'YES' : 'NO',
payment_email_attachment: this.paymentAsAttachment ? 'YES' : 'NO',
},
}
let response = await this.updateCompanySettings(data)