feat(mail): add CC and BCC fields to email requests and forms (#466)

* feat(mail): add CC and BCC fields to email requests and forms

* chore: fmt
This commit is contained in:
Abdulrazzaq Alhendi
2026-02-06 03:59:38 +03:00
committed by GitHub
parent 796f6f364a
commit 65d1fdd3f0
13 changed files with 146 additions and 3 deletions

View File

@@ -42,6 +42,30 @@
@input="v$.to.$touch()"
/>
</BaseInputGroup>
<BaseInputGroup
:label="$t('general.cc')"
:error="v$.cc && v$.cc.$error && v$.cc.$errors[0].$message"
>
<BaseInput
v-model="estimateMailForm.cc"
type="email"
:invalid="v$.cc && v$.cc.$error"
@input="v$.cc && v$.cc.$touch()"
placeholder="Optional: CC recipient"
/>
</BaseInputGroup>
<BaseInputGroup
:label="$t('general.bcc')"
:error="v$.bcc && v$.bcc.$error && v$.bcc.$errors[0].$message"
>
<BaseInput
v-model="estimateMailForm.bcc"
type="email"
:invalid="v$.bcc && v$.bcc.$error"
@input="v$.bcc && v$.bcc.$touch()"
placeholder="Optional: BCC recipient"
/>
</BaseInputGroup>
<BaseInputGroup
:label="$t('general.subject')"
required
@@ -166,6 +190,8 @@ let estimateMailForm = reactive({
id: null,
from: null,
to: null,
cc: null,
bcc: null,
subject: t('estimates.new_estimate'),
body: null,
})
@@ -189,6 +215,12 @@ const rules = {
required: helpers.withMessage(t('validation.required'), required),
email: helpers.withMessage(t('validation.email_incorrect'), email),
},
cc: {
email: helpers.withMessage(t('validation.email_incorrect'), email),
},
bcc: {
email: helpers.withMessage(t('validation.email_incorrect'), email),
},
subject: {
required: helpers.withMessage(t('validation.required'), required),
},

View File

@@ -41,6 +41,30 @@
@input="v$.to.$touch()"
/>
</BaseInputGroup>
<BaseInputGroup
:label="$t('general.cc')"
:error="v$.cc && v$.cc.$error && v$.cc.$errors[0].$message"
>
<BaseInput
v-model="invoiceMailForm.cc"
type="text"
:invalid="v$.cc && v$.cc.$error"
@input="v$.cc && v$.cc.$touch()"
placeholder="Optional: CC recipient"
/>
</BaseInputGroup>
<BaseInputGroup
:label="$t('general.bcc')"
:error="v$.bcc && v$.bcc.$error && v$.bcc.$errors[0].$message"
>
<BaseInput
v-model="invoiceMailForm.bcc"
type="text"
:invalid="v$.bcc && v$.bcc.$error"
@input="v$.bcc && v$.bcc.$touch()"
placeholder="Optional: BCC recipient"
/>
</BaseInputGroup>
<BaseInputGroup
:error="v$.subject.$error && v$.subject.$errors[0].$message"
:label="$t('general.subject')"
@@ -181,6 +205,8 @@ const invoiceMailForm = reactive({
id: null,
from: null,
to: null,
cc: null,
bcc: null,
subject: t('invoices.new_invoice'),
body: null,
})
@@ -206,6 +232,12 @@ const rules = {
required: helpers.withMessage(t('validation.required'), required),
email: helpers.withMessage(t('validation.email_incorrect'), email),
},
cc: {
email: helpers.withMessage(t('validation.email_incorrect'), email),
},
bcc: {
email: helpers.withMessage(t('validation.email_incorrect'), email),
},
subject: {
required: helpers.withMessage(t('validation.required'), required),
},

View File

@@ -41,6 +41,30 @@
@input="v$.to.$touch()"
/>
</BaseInputGroup>
<BaseInputGroup
:label="$t('general.cc')"
:error="v$.cc && v$.cc.$error && v$.cc.$errors[0].$message"
>
<BaseInput
v-model="paymentMailForm.cc"
type="email"
:invalid="v$.cc && v$.cc.$error"
@input="v$.cc && v$.cc.$touch()"
placeholder="Optional: CC recipient"
/>
</BaseInputGroup>
<BaseInputGroup
:label="$t('general.bcc')"
:error="v$.bcc && v$.bcc.$error && v$.bcc.$errors[0].$message"
>
<BaseInput
v-model="paymentMailForm.bcc"
type="email"
:invalid="v$.bcc && v$.bcc.$error"
@input="v$.bcc && v$.bcc.$touch()"
placeholder="Optional: BCC recipient"
/>
</BaseInputGroup>
<BaseInputGroup
:error="v$.subject.$error && v$.subject.$errors[0].$message"
:label="$t('general.subject')"
@@ -181,6 +205,8 @@ const paymentMailForm = reactive({
id: null,
from: null,
to: null,
cc: null,
bcc: null,
subject: t('payments.new_payment'),
body: null,
})
@@ -206,6 +232,12 @@ const rules = {
required: helpers.withMessage(t('validation.required'), required),
email: helpers.withMessage(t('validation.email_incorrect'), email),
},
cc: {
email: helpers.withMessage(t('validation.email_incorrect'), email),
},
bcc: {
email: helpers.withMessage(t('validation.email_incorrect'), email),
},
subject: {
required: helpers.withMessage(t('validation.required'), required),
},