diff --git a/app/Http/Requests/CustomerRequest.php b/app/Http/Requests/CustomerRequest.php
index d93e5de1..be8e5c96 100644
--- a/app/Http/Requests/CustomerRequest.php
+++ b/app/Http/Requests/CustomerRequest.php
@@ -36,6 +36,7 @@ class CustomerRequest extends FormRequest
'name' => 'required',
'addresses.*.address_street_1' => 'max:255',
'addresses.*.address_street_2' => 'max:255',
+ 'email' => 'email|nullable|unique:users,email,'.$this->id
];
break;
default:
diff --git a/resources/assets/js/components/base/modal/CategoryModal.vue b/resources/assets/js/components/base/modal/CategoryModal.vue
index 609e1d85..5226869e 100644
--- a/resources/assets/js/components/base/modal/CategoryModal.vue
+++ b/resources/assets/js/components/base/modal/CategoryModal.vue
@@ -148,7 +148,11 @@ export default {
}
if (response.data) {
- window.toastr['success'](this.$t('settings.expense_category.created_message'))
+ if (!this.isEdit) {
+ window.toastr['success'](this.$t('settings.expense_category.created_message'))
+ } else {
+ window.toastr['success'](this.$t('settings.expense_category.updated_message'))
+ }
window.hub.$emit('newCategory', response.data.category)
this.closeCategoryModal()
this.isLoading = false
diff --git a/resources/assets/js/components/base/modal/CustomerModal.vue b/resources/assets/js/components/base/modal/CustomerModal.vue
index 101564a1..33f7386c 100644
--- a/resources/assets/js/components/base/modal/CustomerModal.vue
+++ b/resources/assets/js/components/base/modal/CustomerModal.vue
@@ -67,15 +67,10 @@
-
- {{ $tc('validation.numbers_only') }}
-
@@ -249,15 +239,10 @@
-
- {{ $tc('validation.numbers_only') }}
-
@@ -426,17 +411,11 @@ export default {
email: {
email
},
- phone: {
- numeric
- },
website: {
url
}
},
billing: {
- phone: {
- numeric
- },
address_street_1: {
maxLength: maxLength(255)
},
@@ -445,9 +424,6 @@ export default {
}
},
shipping: {
- phone: {
- numeric
- },
address_street_1: {
maxLength: maxLength(255)
},
@@ -629,21 +605,28 @@ export default {
} else {
this.formData.currency_id = this.defaultCurrency.id
}
- let response = await this.addCustomer(this.formData)
- if (response.data) {
- window.toastr['success'](this.$tc('customers.created_message'))
- this.isLoading = false
- if (this.$route.name === 'invoices.create') {
- this.setInvoiceCustomer(response.data.customer.id)
+ try {
+ let response = await this.addCustomer(this.formData)
+ if (response.data) {
+ window.toastr['success'](this.$tc('customers.created_message'))
+ this.isLoading = false
+ if (this.$route.name === 'invoices.create') {
+ this.setInvoiceCustomer(response.data.customer.id)
+ }
+ if (this.$route.name === 'estimates.create') {
+ this.setEstimateCustomer(response.data.customer.id)
+ }
+ this.resetData()
+ this.closeModal()
+ return true
}
- if (this.$route.name === 'estimates.create') {
- this.setEstimateCustomer(response.data.customer.id)
+ // window.toastr['error'](response.data.error)
+ } catch (err) {
+ if (err.response.data.errors.email) {
+ this.isLoading = false
+ window.toastr['error'](this.$t('validation.email_already_taken'))
}
- this.resetData()
- this.closeModal()
- return true
}
- window.toastr['error'](response.data.error)
},
async fetchCountry () {
let res = await window.axios.get('/api/countries')
diff --git a/resources/assets/js/components/base/modal/TaxTypeModal.vue b/resources/assets/js/components/base/modal/TaxTypeModal.vue
index 76b26240..587139f1 100644
--- a/resources/assets/js/components/base/modal/TaxTypeModal.vue
+++ b/resources/assets/js/components/base/modal/TaxTypeModal.vue
@@ -189,7 +189,11 @@ export default {
response = await this.updateTaxType(this.formData)
}
if (response.data) {
- window.toastr['success'](this.$t('settings.tax_types.created_message'))
+ if (!this.isEdit) {
+ window.toastr['success'](this.$t('settings.tax_types.created_message'))
+ } else {
+ window.toastr['success'](this.$t('settings.tax_types.updated_message'))
+ }
window.hub.$emit('newTax', response.data.taxType)
this.closeTaxModal()
this.isLoading = false
diff --git a/resources/assets/js/components/base/popup/CustomerSelectPopup.vue b/resources/assets/js/components/base/popup/CustomerSelectPopup.vue
index d0f9994b..6d9ea0e4 100644
--- a/resources/assets/js/components/base/popup/CustomerSelectPopup.vue
+++ b/resources/assets/js/components/base/popup/CustomerSelectPopup.vue
@@ -34,7 +34,7 @@
-