close #2680 Fixed: Contact show invoices tab add payment and send email action not working - ( #3196abw )
This commit is contained in:
parent
a849f5a78c
commit
ca769e265c
@ -538,7 +538,7 @@ class Document extends Model
|
|||||||
'permission' => 'read-' . $group . '-' . $permission_prefix,
|
'permission' => 'read-' . $group . '-' . $permission_prefix,
|
||||||
'attributes' => [
|
'attributes' => [
|
||||||
'id' => 'index-line-actions-payment-' . $this->type . '-' . $this->id,
|
'id' => 'index-line-actions-payment-' . $this->type . '-' . $this->id,
|
||||||
'@click' => 'onPayment("' . $this->id . '")',
|
'@click' => 'onAddPayment("' . route('modals.documents.document.transactions.create', $this->id) . '")',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
} catch (\Exception $e) {}
|
} catch (\Exception $e) {}
|
||||||
|
302
resources/assets/js/mixins/global.js
vendored
302
resources/assets/js/mixins/global.js
vendored
@ -586,19 +586,311 @@ export default {
|
|||||||
this.onChangeCurrency(currency_code);
|
this.onChangeCurrency(currency_code);
|
||||||
},
|
},
|
||||||
|
|
||||||
async onSendEmail(route) {
|
async onAddPayment(url) {
|
||||||
let email = {
|
let payment = {
|
||||||
modal: false,
|
modal: false,
|
||||||
route: route,
|
url: url,
|
||||||
title: '',
|
title: '',
|
||||||
html: '',
|
html: '',
|
||||||
buttons:{}
|
buttons:{}
|
||||||
};
|
};
|
||||||
|
|
||||||
let email_promise = Promise.resolve(window.axios.get(email.route));
|
let payment_promise = Promise.resolve(window.axios.get(payment.url));
|
||||||
|
|
||||||
|
payment_promise.then(response => {
|
||||||
|
payment.modal = true;
|
||||||
|
payment.title = response.data.data.title;
|
||||||
|
payment.html = response.data.html;
|
||||||
|
payment.buttons = response.data.data.buttons;
|
||||||
|
|
||||||
|
this.component = Vue.component('add-new-component', (resolve, reject) => {
|
||||||
|
resolve({
|
||||||
|
template: '<div id="dynamic-payment-component"><akaunting-modal-add-new modal-dialog-class="max-w-md" modal-position-top :show="payment.modal" @submit="onSubmit" @cancel="onCancel" :buttons="payment.buttons" :title="payment.title" :is_component=true :message="payment.html"></akaunting-modal-add-new></div>',
|
||||||
|
|
||||||
|
components: {
|
||||||
|
AkauntingDropzoneFileUpload,
|
||||||
|
AkauntingContactCard,
|
||||||
|
AkauntingCompanyEdit,
|
||||||
|
AkauntingEditItemColumns,
|
||||||
|
AkauntingItemButton,
|
||||||
|
AkauntingDocumentButton,
|
||||||
|
AkauntingSearch,
|
||||||
|
AkauntingRadioGroup,
|
||||||
|
AkauntingSelect,
|
||||||
|
AkauntingSelectRemote,
|
||||||
|
AkauntingMoney,
|
||||||
|
AkauntingModal,
|
||||||
|
AkauntingModalAddNew,
|
||||||
|
AkauntingDate,
|
||||||
|
AkauntingRecurring,
|
||||||
|
AkauntingHtmlEditor,
|
||||||
|
AkauntingCountdown,
|
||||||
|
AkauntingCurrencyConversion,
|
||||||
|
AkauntingConnectTransactions,
|
||||||
|
AkauntingSwitch,
|
||||||
|
AkauntingSlider,
|
||||||
|
AkauntingColor,
|
||||||
|
CardForm,
|
||||||
|
[Select.name]: Select,
|
||||||
|
[Option.name]: Option,
|
||||||
|
[Steps.name]: Steps,
|
||||||
|
[Step.name]: Step,
|
||||||
|
[Button.name]: Button,
|
||||||
|
[Link.name]: Link,
|
||||||
|
[Tooltip.name]: Tooltip,
|
||||||
|
[ColorPicker.name]: ColorPicker,
|
||||||
|
},
|
||||||
|
|
||||||
|
data: function () {
|
||||||
|
return {
|
||||||
|
form:{},
|
||||||
|
payment: payment,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
onSubmit(event) {
|
||||||
|
this.form = event;
|
||||||
|
|
||||||
|
this.form.response = {};
|
||||||
|
|
||||||
|
this.loading = true;
|
||||||
|
|
||||||
|
let data = this.form.data();
|
||||||
|
|
||||||
|
FormData.prototype.appendRecursive = function(data, wrapper = null) {
|
||||||
|
for(var name in data) {
|
||||||
|
if (wrapper) {
|
||||||
|
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
||||||
|
this.appendRecursive(data[name], wrapper + '[' + name + ']');
|
||||||
|
} else {
|
||||||
|
this.append(wrapper + '[' + name + ']', data[name]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
||||||
|
this.appendRecursive(data[name], name);
|
||||||
|
} else {
|
||||||
|
this.append(name, data[name]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let form_data = new FormData();
|
||||||
|
form_data.appendRecursive(data);
|
||||||
|
|
||||||
|
window.axios({
|
||||||
|
method: this.form.method,
|
||||||
|
url: this.form.action,
|
||||||
|
data: form_data,
|
||||||
|
headers: {
|
||||||
|
'X-CSRF-TOKEN': window.Laravel.csrfToken,
|
||||||
|
'X-Requested-With': 'XMLHttpRequest',
|
||||||
|
'Content-Type': 'multipart/form-data'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then(response => {
|
||||||
|
if (response.data.success) {
|
||||||
|
if (response.data.redirect) {
|
||||||
|
this.form.loading = true;
|
||||||
|
|
||||||
|
window.location.href = response.data.redirect;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (response.data.error) {
|
||||||
|
this.form.loading = false;
|
||||||
|
|
||||||
|
this.form.response = response.data;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
this.form.loading = false;
|
||||||
|
|
||||||
|
this.form.onFail(error);
|
||||||
|
|
||||||
|
this.method_show_html = error.message;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
onCancel() {
|
||||||
|
this.payment.modal = false;
|
||||||
|
this.payment.html = null;
|
||||||
|
|
||||||
|
let documentClasses = document.body.classList;
|
||||||
|
|
||||||
|
documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
|
||||||
|
},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
})
|
||||||
|
.finally(function () {
|
||||||
|
// always executed
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
async onEditPayment(url) {
|
||||||
|
let payment = {
|
||||||
|
modal: false,
|
||||||
|
url: url,
|
||||||
|
title: '',
|
||||||
|
html: '',
|
||||||
|
buttons:{}
|
||||||
|
};
|
||||||
|
|
||||||
|
let payment_promise = Promise.resolve(window.axios.get(payment.url));
|
||||||
|
|
||||||
|
payment_promise.then(response => {
|
||||||
|
payment.modal = true;
|
||||||
|
payment.title = response.data.data.title;
|
||||||
|
payment.html = response.data.html;
|
||||||
|
payment.buttons = response.data.data.buttons;
|
||||||
|
|
||||||
|
this.component = Vue.component('add-new-component', (resolve, reject) => {
|
||||||
|
resolve({
|
||||||
|
template: '<div id="dynamic-payment-component"><akaunting-modal-add-new modal-dialog-class="max-w-md" modal-position-top :show="payment.modal" @submit="onSubmit" @cancel="onCancel" :buttons="payment.buttons" :title="payment.title" :is_component=true :message="payment.html"></akaunting-modal-add-new></div>',
|
||||||
|
|
||||||
|
components: {
|
||||||
|
AkauntingDropzoneFileUpload,
|
||||||
|
AkauntingContactCard,
|
||||||
|
AkauntingCompanyEdit,
|
||||||
|
AkauntingEditItemColumns,
|
||||||
|
AkauntingItemButton,
|
||||||
|
AkauntingDocumentButton,
|
||||||
|
AkauntingSearch,
|
||||||
|
AkauntingRadioGroup,
|
||||||
|
AkauntingSelect,
|
||||||
|
AkauntingSelectRemote,
|
||||||
|
AkauntingMoney,
|
||||||
|
AkauntingModal,
|
||||||
|
AkauntingModalAddNew,
|
||||||
|
AkauntingDate,
|
||||||
|
AkauntingRecurring,
|
||||||
|
AkauntingHtmlEditor,
|
||||||
|
AkauntingCountdown,
|
||||||
|
AkauntingCurrencyConversion,
|
||||||
|
AkauntingConnectTransactions,
|
||||||
|
AkauntingSwitch,
|
||||||
|
AkauntingSlider,
|
||||||
|
AkauntingColor,
|
||||||
|
CardForm,
|
||||||
|
[Select.name]: Select,
|
||||||
|
[Option.name]: Option,
|
||||||
|
[Steps.name]: Steps,
|
||||||
|
[Step.name]: Step,
|
||||||
|
[Button.name]: Button,
|
||||||
|
[Link.name]: Link,
|
||||||
|
[Tooltip.name]: Tooltip,
|
||||||
|
[ColorPicker.name]: ColorPicker,
|
||||||
|
},
|
||||||
|
|
||||||
|
data: function () {
|
||||||
|
return {
|
||||||
|
form:{},
|
||||||
|
payment: payment,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
onSubmit(event) {
|
||||||
|
this.form = event;
|
||||||
|
|
||||||
|
this.form.response = {};
|
||||||
|
|
||||||
|
this.loading = true;
|
||||||
|
|
||||||
|
let data = this.form.data();
|
||||||
|
|
||||||
|
FormData.prototype.appendRecursive = function(data, wrapper = null) {
|
||||||
|
for(var name in data) {
|
||||||
|
if (wrapper) {
|
||||||
|
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
||||||
|
this.appendRecursive(data[name], wrapper + '[' + name + ']');
|
||||||
|
} else {
|
||||||
|
this.append(wrapper + '[' + name + ']', data[name]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
||||||
|
this.appendRecursive(data[name], name);
|
||||||
|
} else {
|
||||||
|
this.append(name, data[name]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let form_data = new FormData();
|
||||||
|
form_data.appendRecursive(data);
|
||||||
|
|
||||||
|
window.axios({
|
||||||
|
method: this.form.method,
|
||||||
|
url: this.form.action,
|
||||||
|
data: form_data,
|
||||||
|
headers: {
|
||||||
|
'X-CSRF-TOKEN': window.Laravel.csrfToken,
|
||||||
|
'X-Requested-With': 'XMLHttpRequest',
|
||||||
|
'Content-Type': 'multipart/form-data'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then(response => {
|
||||||
|
if (response.data.success) {
|
||||||
|
if (response.data.redirect) {
|
||||||
|
this.form.loading = true;
|
||||||
|
|
||||||
|
window.location.href = response.data.redirect;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (response.data.error) {
|
||||||
|
this.form.loading = false;
|
||||||
|
|
||||||
|
this.form.response = response.data;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
this.form.loading = false;
|
||||||
|
|
||||||
|
this.form.onFail(error);
|
||||||
|
|
||||||
|
this.method_show_html = error.message;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
onCancel() {
|
||||||
|
this.payment.modal = false;
|
||||||
|
this.payment.html = null;
|
||||||
|
|
||||||
|
let documentClasses = document.body.classList;
|
||||||
|
|
||||||
|
documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
|
||||||
|
},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
})
|
||||||
|
.finally(function () {
|
||||||
|
// always executed
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
async onSendEmail(url) {
|
||||||
|
let email = {
|
||||||
|
modal: false,
|
||||||
|
url: url,
|
||||||
|
title: '',
|
||||||
|
html: '',
|
||||||
|
buttons:{}
|
||||||
|
};
|
||||||
|
|
||||||
|
let email_promise = Promise.resolve(window.axios.get(email.url));
|
||||||
|
|
||||||
if (this.email_template) {
|
if (this.email_template) {
|
||||||
email_promise = Promise.resolve(window.axios.get(email.route, {
|
email_promise = Promise.resolve(window.axios.get(email.url, {
|
||||||
params: {
|
params: {
|
||||||
email_template: this.email_template
|
email_template: this.email_template
|
||||||
}
|
}
|
||||||
|
238
resources/assets/js/views/common/documents.js
vendored
238
resources/assets/js/views/common/documents.js
vendored
@ -589,244 +589,6 @@ const app = new Vue({
|
|||||||
this.form.items[item_index][field_name] = this.items[item_index][field_name];
|
this.form.items[item_index][field_name] = this.items[item_index][field_name];
|
||||||
},
|
},
|
||||||
|
|
||||||
async onPayment(document_id) {
|
|
||||||
if (typeof document_id == 'object') {
|
|
||||||
document_id = document.getElementById('document_id').value;
|
|
||||||
}
|
|
||||||
|
|
||||||
let payment = {
|
|
||||||
modal: false,
|
|
||||||
url: url + '/modals/documents/' + document_id + '/transactions/create',
|
|
||||||
title: '',
|
|
||||||
html: '',
|
|
||||||
buttons:{}
|
|
||||||
};
|
|
||||||
|
|
||||||
let payment_promise = Promise.resolve(window.axios.get(payment.url));
|
|
||||||
|
|
||||||
payment_promise.then(response => {
|
|
||||||
payment.modal = true;
|
|
||||||
payment.title = response.data.data.title;
|
|
||||||
payment.html = response.data.html;
|
|
||||||
payment.buttons = response.data.data.buttons;
|
|
||||||
|
|
||||||
this.component = Vue.component('add-new-component', (resolve, reject) => {
|
|
||||||
resolve({
|
|
||||||
template: '<div id="dynamic-payment-component"><akaunting-modal-add-new modal-dialog-class="max-w-md" modal-position-top :show="payment.modal" @submit="onSubmit" @cancel="onCancel" :buttons="payment.buttons" :title="payment.title" :is_component=true :message="payment.html"></akaunting-modal-add-new></div>',
|
|
||||||
|
|
||||||
mixins: [
|
|
||||||
Global
|
|
||||||
],
|
|
||||||
|
|
||||||
data: function () {
|
|
||||||
return {
|
|
||||||
form:{},
|
|
||||||
payment: payment,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
methods: {
|
|
||||||
onSubmit(event) {
|
|
||||||
this.form = event;
|
|
||||||
|
|
||||||
this.form.response = {};
|
|
||||||
|
|
||||||
this.loading = true;
|
|
||||||
|
|
||||||
let data = this.form.data();
|
|
||||||
|
|
||||||
FormData.prototype.appendRecursive = function(data, wrapper = null) {
|
|
||||||
for(var name in data) {
|
|
||||||
if (wrapper) {
|
|
||||||
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
|
||||||
this.appendRecursive(data[name], wrapper + '[' + name + ']');
|
|
||||||
} else {
|
|
||||||
this.append(wrapper + '[' + name + ']', data[name]);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
|
||||||
this.appendRecursive(data[name], name);
|
|
||||||
} else {
|
|
||||||
this.append(name, data[name]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let form_data = new FormData();
|
|
||||||
form_data.appendRecursive(data);
|
|
||||||
|
|
||||||
window.axios({
|
|
||||||
method: this.form.method,
|
|
||||||
url: this.form.action,
|
|
||||||
data: form_data,
|
|
||||||
headers: {
|
|
||||||
'X-CSRF-TOKEN': window.Laravel.csrfToken,
|
|
||||||
'X-Requested-With': 'XMLHttpRequest',
|
|
||||||
'Content-Type': 'multipart/form-data'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.then(response => {
|
|
||||||
if (response.data.success) {
|
|
||||||
if (response.data.redirect) {
|
|
||||||
this.form.loading = true;
|
|
||||||
|
|
||||||
window.location.href = response.data.redirect;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (response.data.error) {
|
|
||||||
this.form.loading = false;
|
|
||||||
|
|
||||||
this.form.response = response.data;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(error => {
|
|
||||||
this.form.loading = false;
|
|
||||||
|
|
||||||
this.form.onFail(error);
|
|
||||||
|
|
||||||
this.method_show_html = error.message;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
onCancel() {
|
|
||||||
this.payment.modal = false;
|
|
||||||
this.payment.html = null;
|
|
||||||
|
|
||||||
let documentClasses = document.body.classList;
|
|
||||||
|
|
||||||
documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
|
|
||||||
},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.catch(error => {
|
|
||||||
})
|
|
||||||
.finally(function () {
|
|
||||||
// always executed
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
async onEditPayment(transaction_id) {
|
|
||||||
let document_id = document.getElementById('document_id').value;
|
|
||||||
|
|
||||||
let payment = {
|
|
||||||
modal: false,
|
|
||||||
url: url + '/modals/documents/' + document_id + '/transactions/' + transaction_id + '/edit',
|
|
||||||
title: '',
|
|
||||||
html: '',
|
|
||||||
buttons:{}
|
|
||||||
};
|
|
||||||
|
|
||||||
let payment_promise = Promise.resolve(window.axios.get(payment.url));
|
|
||||||
|
|
||||||
payment_promise.then(response => {
|
|
||||||
payment.modal = true;
|
|
||||||
payment.title = response.data.data.title;
|
|
||||||
payment.html = response.data.html;
|
|
||||||
payment.buttons = response.data.data.buttons;
|
|
||||||
|
|
||||||
this.component = Vue.component('add-new-component', (resolve, reject) => {
|
|
||||||
resolve({
|
|
||||||
template: '<div id="dynamic-payment-component"><akaunting-modal-add-new modal-dialog-class="max-w-md" modal-position-top :show="payment.modal" @submit="onSubmit" @cancel="onCancel" :buttons="payment.buttons" :title="payment.title" :is_component=true :message="payment.html"></akaunting-modal-add-new></div>',
|
|
||||||
|
|
||||||
mixins: [
|
|
||||||
Global
|
|
||||||
],
|
|
||||||
|
|
||||||
data: function () {
|
|
||||||
return {
|
|
||||||
form:{},
|
|
||||||
payment: payment,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
methods: {
|
|
||||||
onSubmit(event) {
|
|
||||||
this.form = event;
|
|
||||||
|
|
||||||
this.form.response = {};
|
|
||||||
|
|
||||||
this.loading = true;
|
|
||||||
|
|
||||||
let data = this.form.data();
|
|
||||||
|
|
||||||
FormData.prototype.appendRecursive = function(data, wrapper = null) {
|
|
||||||
for(var name in data) {
|
|
||||||
if (wrapper) {
|
|
||||||
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
|
||||||
this.appendRecursive(data[name], wrapper + '[' + name + ']');
|
|
||||||
} else {
|
|
||||||
this.append(wrapper + '[' + name + ']', data[name]);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if ((typeof data[name] == 'object' || data[name].constructor === Array) && ((data[name] instanceof File != true ) && (data[name] instanceof Blob != true))) {
|
|
||||||
this.appendRecursive(data[name], name);
|
|
||||||
} else {
|
|
||||||
this.append(name, data[name]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
let form_data = new FormData();
|
|
||||||
form_data.appendRecursive(data);
|
|
||||||
|
|
||||||
window.axios({
|
|
||||||
method: this.form.method,
|
|
||||||
url: this.form.action,
|
|
||||||
data: form_data,
|
|
||||||
headers: {
|
|
||||||
'X-CSRF-TOKEN': window.Laravel.csrfToken,
|
|
||||||
'X-Requested-With': 'XMLHttpRequest',
|
|
||||||
'Content-Type': 'multipart/form-data'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.then(response => {
|
|
||||||
if (response.data.success) {
|
|
||||||
if (response.data.redirect) {
|
|
||||||
this.form.loading = true;
|
|
||||||
|
|
||||||
window.location.href = response.data.redirect;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (response.data.error) {
|
|
||||||
this.form.loading = false;
|
|
||||||
|
|
||||||
this.form.response = response.data;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(error => {
|
|
||||||
this.form.loading = false;
|
|
||||||
|
|
||||||
this.form.onFail(error);
|
|
||||||
|
|
||||||
this.method_show_html = error.message;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
onCancel() {
|
|
||||||
this.payment.modal = false;
|
|
||||||
this.payment.html = null;
|
|
||||||
|
|
||||||
let documentClasses = document.body.classList;
|
|
||||||
|
|
||||||
documentClasses.remove('overflow-y-hidden', 'overflow-overlay', '-ml-4');
|
|
||||||
},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.catch(error => {
|
|
||||||
})
|
|
||||||
.finally(function () {
|
|
||||||
// always executed
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
onEmailViaTemplate(route, template) {
|
onEmailViaTemplate(route, template) {
|
||||||
this.email_template = template;
|
this.email_template = template;
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
@if (! $hideAddPayment)
|
@if (! $hideAddPayment)
|
||||||
@if (empty($document->transactions->count()) || (! empty($document->transactions->count()) && $document->paid != $document->amount))
|
@if (empty($document->transactions->count()) || (! empty($document->transactions->count()) && $document->paid != $document->amount))
|
||||||
<x-button
|
<x-button
|
||||||
@click="onPayment"
|
@click="onAddPayment('{{ route('modals.documents.document.transactions.create', $document->id) }}')"
|
||||||
id="show-slider-actions-payment-{{ $document->type }}"
|
id="show-slider-actions-payment-{{ $document->type }}"
|
||||||
class="px-3 py-1.5 mb-3 sm:mb-0 rounded-lg text-xs font-medium leading-6 bg-green hover:bg-green-700 text-white disabled:bg-green-100"
|
class="px-3 py-1.5 mb-3 sm:mb-0 rounded-lg text-xs font-medium leading-6 bg-green hover:bg-green-700 text-white disabled:bg-green-100"
|
||||||
override="class"
|
override="class"
|
||||||
@ -80,7 +80,7 @@
|
|||||||
<span> - </span>
|
<span> - </span>
|
||||||
|
|
||||||
<x-button
|
<x-button
|
||||||
@click="onEditPayment('{{ $transaction->id }}')"
|
@click="onEditPayment('{{ route('modals.documents.document.transactions.edit', ['document' => $document->id, 'transaction' => $transaction->id]) }}')"
|
||||||
id="show-slider-actions-transaction-edit-{{ $document->type }}-{{ $transaction->id }}"
|
id="show-slider-actions-transaction-edit-{{ $document->type }}-{{ $transaction->id }}"
|
||||||
class="text-purple mt-1"
|
class="text-purple mt-1"
|
||||||
override="class"
|
override="class"
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
@if (! $hideAddPayment)
|
@if (! $hideAddPayment)
|
||||||
@if(empty($document->transactions->count()) || (! empty($document->transactions->count()) && $document->paid != $document->amount))
|
@if(empty($document->transactions->count()) || (! empty($document->transactions->count()) && $document->paid != $document->amount))
|
||||||
<x-button
|
<x-button
|
||||||
@click="onPayment"
|
@click="onAddPayment('{{ route('modals.documents.document.transactions.create', $document->id) }}')"
|
||||||
id="show-slider-actions-payment-{{ $document->type }}"
|
id="show-slider-actions-payment-{{ $document->type }}"
|
||||||
class="px-3 py-1.5 mb-3 sm:mb-0 rounded-lg text-xs font-medium leading-6 bg-green hover:bg-green-700 text-white disabled:bg-green-100"
|
class="px-3 py-1.5 mb-3 sm:mb-0 rounded-lg text-xs font-medium leading-6 bg-green hover:bg-green-700 text-white disabled:bg-green-100"
|
||||||
override="class"
|
override="class"
|
||||||
@ -63,7 +63,7 @@
|
|||||||
<span> - </span>
|
<span> - </span>
|
||||||
|
|
||||||
<x-button
|
<x-button
|
||||||
@click="onEditPayment('{{ $transaction->id }}')"
|
@click="onEditPayment('{{ route('modals.documents.document.transactions.edit', ['document' => $document->id, 'transaction' => $transaction->id]) }}')"
|
||||||
id="show-slider-actions-transaction-edit-{{ $document->type }}-{{ $transaction->id }}"
|
id="show-slider-actions-transaction-edit-{{ $document->type }}-{{ $transaction->id }}"
|
||||||
class="text-purple mt-1"
|
class="text-purple mt-1"
|
||||||
override="class"
|
override="class"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user