diff --git a/app/Jobs/Banking/CreateReconciliation.php b/app/Jobs/Banking/CreateReconciliation.php index af20953cd..ac91aa19a 100644 --- a/app/Jobs/Banking/CreateReconciliation.php +++ b/app/Jobs/Banking/CreateReconciliation.php @@ -42,7 +42,7 @@ class CreateReconciliation extends Job 'reconciled' => $reconcile ? 1 : 0, ]); - if ($transactions) { + if ($reconcile && $transactions) { foreach ($transactions as $key => $value) { if (empty($value)) { continue; diff --git a/app/Jobs/Banking/UpdateReconciliation.php b/app/Jobs/Banking/UpdateReconciliation.php index 344dc83dd..aab427399 100644 --- a/app/Jobs/Banking/UpdateReconciliation.php +++ b/app/Jobs/Banking/UpdateReconciliation.php @@ -47,7 +47,7 @@ class UpdateReconciliation extends Job $t = explode('_', $key); $transaction = Transaction::find($t[1]); - $transaction->reconciled = 1; + $transaction->reconciled = $reconcile ? 1 : 0; $transaction->save(); } } diff --git a/resources/assets/js/plugins/form.js b/resources/assets/js/plugins/form.js index a6ea5c75a..e7e7314b3 100644 --- a/resources/assets/js/plugins/form.js +++ b/resources/assets/js/plugins/form.js @@ -48,9 +48,35 @@ export default class Form { this[form_element.getAttribute('data-field')] = field; } + /* if (!this[form_element.getAttribute('data-field')][name]) { this[form_element.getAttribute('data-field')][name] = ''; } + */ + + if (type == 'radio') { + if (!this[form_element.getAttribute('data-field')][name]) { + this[form_element.getAttribute('data-field')][name] = (form_element.getAttribute('value') ? 1 : 0) || 0; + } + } else if (type == 'checkbox') { + if (this[form_element.getAttribute('data-field')][name]) { + if (!this[form_element.getAttribute('data-field')][name].push) { + this[form_element.getAttribute('data-field')][name] = [this[form_element.getAttribute('data-field')][name]]; + } + + if (form_element.checked) { + this[form_element.getAttribute('data-field')][name].push(form_element.value); + } + } else { + if (form_element.checked) { + this[form_element.getAttribute('data-field')][name] = form_element.value; + } else { + this[form_element.getAttribute('data-field')][name] = []; + } + } + } else { + this[form_element.getAttribute('data-field')][name] = form_element.getAttribute('value') || ''; + } continue; } diff --git a/resources/assets/js/views/banking/reconciliations.js b/resources/assets/js/views/banking/reconciliations.js index c36be9c83..eb15882f9 100644 --- a/resources/assets/js/views/banking/reconciliations.js +++ b/resources/assets/js/views/banking/reconciliations.js @@ -43,6 +43,10 @@ const app = new Vue({ if (document.getElementById('closing_balance') != null) { this.totals.closing_balance = parseFloat(document.getElementById('closing_balance').value); } + + if (this.form._method == 'PATCH') { + this.onCalculate(); + } }, methods:{ diff --git a/resources/views/banking/reconciliations/edit.blade.php b/resources/views/banking/reconciliations/edit.blade.php index dba9f1155..7a51f9b3f 100644 --- a/resources/views/banking/reconciliations/edit.blade.php +++ b/resources/views/banking/reconciliations/edit.blade.php @@ -55,7 +55,7 @@ @endif