Small changes to create transaction form

This commit is contained in:
James Cole
2023-10-21 07:45:28 +02:00
parent 24a1d61560
commit b032210a33
3 changed files with 48 additions and 17 deletions

View File

@@ -92,7 +92,7 @@ class CreateController extends Controller
if('edit' === $request->get('redirect')) { if('edit' === $request->get('redirect')) {
return response()->json(['redirect' => route('transactions.edit', [$newGroup->id])]); return response()->json(['redirect' => route('transactions.edit', [$newGroup->id])]);
} }
return response()->json(['redirect' => route('transactions.show', [$newGroup->id])]); return response()->json(['redirect' => route('transactions.show', [$newGroup->id])]);
} }
} }

View File

@@ -44,6 +44,10 @@ let transactions = function () {
showSuccessMessage: false, showSuccessMessage: false,
showErrorMessage: false, showErrorMessage: false,
entries: [], entries: [],
loadingCurrencies: true,
enabledCurrencies: [],
nativeCurrencies: [],
foreignCurrencies: [],
filters: { filters: {
source: [], source: [],
destination: [], destination: [],
@@ -123,6 +127,9 @@ let transactions = function () {
}; };
console.log('Changed destination account into a known ' + item.type.toLowerCase()); console.log('Changed destination account into a known ' + item.type.toLowerCase());
}, },
loadCurrencies() {
console.log('Loading user currencies.');
},
changeSourceAccount(item, ac) { changeSourceAccount(item, ac) {
if (typeof item === 'undefined') { if (typeof item === 'undefined') {
const index = parseInt(ac._searchInput.attributes['data-index'].value); const index = parseInt(ac._searchInput.attributes['data-index'].value);
@@ -161,6 +168,7 @@ let transactions = function () {
addedSplit() { addedSplit() {
console.log('addedSplit'); console.log('addedSplit');
// TODO improve code location
Autocomplete.init("input.ac-source", { Autocomplete.init("input.ac-source", {
server: urls.account, server: urls.account,
serverParams: { serverParams: {
@@ -229,6 +237,7 @@ let transactions = function () {
}); });
}); });
this.loadCurrencies();
// source can never be expense account // source can never be expense account
this.filters.source = ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Revenue account']; this.filters.source = ['Asset account', 'Loan', 'Debt', 'Mortgage', 'Revenue account'];

View File

@@ -37,7 +37,7 @@
:data-bs-target="'#split-'+index+'-pane'" :data-bs-target="'#split-'+index+'-pane'"
type="button" role="tab" type="button" role="tab"
:aria-controls="'split-'+index+'-pane'" :aria-controls="'split-'+index+'-pane'"
aria-selected="true">Split # aria-selected="true">{{ __('firefly.single_split') }} #
<span x-text="index"></span> <span x-text="index"></span>
</button> </button>
</li> </li>
@@ -49,7 +49,7 @@
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link disabled" aria-disabled="true"> <a class="nav-link disabled" aria-disabled="true">
Total: {{ __('firefly.total') }}:
<span x-text="formattedTotalAmount()"></span> <span x-text="formattedTotalAmount()"></span>
</a> </a>
</li> </li>
@@ -72,45 +72,52 @@
<div class="col-xl-6 col-lg-6 col-md-12 col-xs-12 mb-2"> <div class="col-xl-6 col-lg-6 col-md-12 col-xs-12 mb-2">
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
<h3 class="card-title">{{ __('firefly.basic_journal_information') }}</h3> <h3 class="card-title"
>{{ __('firefly.basic_journal_information') }}</h3>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="row mb-3"> <div class="row mb-3">
<label for="description_0" <label :for="'description_' + index"
class="col-sm-1 col-form-label d-none d-sm-block"> class="col-sm-1 col-form-label d-none d-sm-block">
<em class="fa-solid fa-font"></em> <em
title="TODO explain me"
class="fa-solid fa-font"></em>
</label> </label>
<div class="col-sm-10"> <div class="col-sm-10">
<input type="text" class="form-control ac-description" <input type="text" class="form-control ac-description"
:id="'description_' + index" :id="'description_' + index"
@change="detectTransactionType" @change="detectTransactionType"
x-model="transaction.description" x-model="transaction.description"
placeholder="Transaction description"> placeholder="{{ __('firefly.description') }}">
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="source_0" class="col-sm-1 col-form-label d-none d-sm-block"> <label :for="'source_' + index" class="col-sm-1 col-form-label d-none d-sm-block">
<i class="fa-solid fa-arrow-right"></i> <i class="fa-solid fa-arrow-right"></i>
</label> </label>
<div class="col-sm-10"> <div class="col-sm-10">
<input type="text" class="form-control ac-source" id="source_0" <input type="text"
class="form-control ac-source"
:id="'source_' + index"
x-model="transaction.source_account.name" x-model="transaction.source_account.name"
:data-index="index" :data-index="index"
placeholder="Source account"> placeholder="{{ __('firefly.source_account') }}">
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="dest_0" class="col-sm-1 col-form-label d-none d-sm-block"> <label :for ="'dest_' + index" class="col-sm-1 col-form-label d-none d-sm-block">
<i class="fa-solid fa-arrow-left"></i> <i class="fa-solid fa-arrow-left"></i>
</label> </label>
<div class="col-sm-10"> <div class="col-sm-10">
<input type="text" class="form-control ac-dest" id="dest_0" <input type="text"
class="form-control ac-dest"
:id="'dest_' + index"
x-model="transaction.destination_account.name" x-model="transaction.destination_account.name"
:data-index="index" :data-index="index"
placeholder="Destination account"> placeholder="{{ __('firefly.destination_account') }}">
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
@@ -136,10 +143,25 @@
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="row mb-3"> <div class="row mb-3">
<label for="dest_0" class="col-sm-1 col-form-label d-none d-sm-block"> <div class="col-sm-3">
EUR <template x-if="loadingCurrencies">
</label> <span class="form-control-plaintext"><em class="fa-solid fa-spinner fa-spin"></em></span>
<div class="col-sm-10"> </template>
<template x-if="!loadingCurrencies">
<select class="form-control">
<option>
Euro
</option>
<option>
Euro
</option>
<option>
Euro
</option>
</select>
</template>
</div>
<div class="col-sm-9">
<input type="number" step="any" min="0" class="form-control" <input type="number" step="any" min="0" class="form-control"
:id="'amount_' + index" :id="'amount_' + index"
:data-index="index" :data-index="index"