diff --git a/resources/assets/v2/pages/dashboard/accounts.js b/resources/assets/v2/pages/dashboard/accounts.js index 75df5ef948..0c9e20a448 100644 --- a/resources/assets/v2/pages/dashboard/accounts.js +++ b/resources/assets/v2/pages/dashboard/accounts.js @@ -201,14 +201,16 @@ export default () => ({ for (let iii = 0; iii < current.attributes.transactions.length; iii++) { let currentTransaction = current.attributes.transactions[iii]; //console.log(currentTransaction); + const nativeAmountRaw = 'withdrawal' === currentTransaction.type ? parseFloat(currentTransaction.native_amount) * -1 : parseFloat(currentTransaction.native_amount); + const amountRaw = 'withdrawal' === currentTransaction.type ? parseFloat(currentTransaction.amount) * -1 : parseFloat(currentTransaction.amount); group.transactions.push({ description: currentTransaction.description, id: current.id, type: currentTransaction.type, - amount_raw: parseFloat(currentTransaction.amount), - amount: formatMoney(currentTransaction.amount, currentTransaction.currency_code), - native_amount_raw: parseFloat(currentTransaction.native_amount), - native_amount: formatMoney(currentTransaction.native_amount, currentTransaction.native_currency_code), + amount_raw: amountRaw, + amount: formatMoney(amountRaw, currentTransaction.currency_code), + native_amount_raw: nativeAmountRaw, + native_amount: formatMoney(nativeAmountRaw, currentTransaction.native_currency_code), }); } groups.push(group); diff --git a/resources/assets/v2/pages/transactions/create.js b/resources/assets/v2/pages/transactions/create.js index 5dd61c9560..09749d75a0 100644 --- a/resources/assets/v2/pages/transactions/create.js +++ b/resources/assets/v2/pages/transactions/create.js @@ -30,6 +30,8 @@ let transactions = function () { return { count: 0, totalAmount: 0, + showSuccessMessage: false, + showErrorMessage: false, entries: [], // error and success messages: @@ -37,38 +39,15 @@ let transactions = function () { showSuccess: false, init() { - const opts = { - onSelectItem: console.log, - }; - let src = []; - for (let i = 0; i < 50; i++) { - src.push({ - title: "Option " + i, - id: "opt" + i, - data: { - key: i, - }, - }); - } - - // for each thing, make autocomplete? - - + console.log('init()'); this.addSplit(); - console.log('Ik ben init hoera'); - - // let element = document.getElementById('source_0'); - // new Autocomplete(element, { - // items: src, - // valueField: "id", - // labelField: "title", - // highlightTyped: true, - // onSelectItem: console.log, - // }); }, submitTransaction() { + // todo disable buttons + let transactions = parseFromEntries(this.entries); let submission = { + // todo process all options group_title: null, fire_webhooks: false, apply_rules: false, @@ -77,8 +56,15 @@ let transactions = function () { let poster = new Post(); console.log(submission); poster.post(submission).then((response) => { + // todo create success banner + this.showSuccessMessage = true; + // todo or redirect to transaction. + // todo release form console.log(response); }).catch((error) => { + this.showErrorMessage = true; + // todo create error banner. + // todo release form console.error(error); }); }, @@ -90,7 +76,6 @@ let transactions = function () { // fall back to index 0 const triggerFirstTabEl = document.querySelector('#split-0-tab') triggerFirstTabEl.click(); - //bootstrap.Tab.getInstance(triggerFirstTabEl).show() // Select first tab }, formattedTotalAmount() { return formatMoney(this.totalAmount, 'EUR'); @@ -109,7 +94,6 @@ function loadPage() { Alpine.start(); } - // wait for load until bootstrapped event is received. document.addEventListener('firefly-iii-bootstrapped', () => { console.log('Loaded through event listener.'); diff --git a/resources/assets/v2/support/default-chart-settings.js b/resources/assets/v2/support/default-chart-settings.js index 4ac38854e9..4f6f98e935 100644 --- a/resources/assets/v2/support/default-chart-settings.js +++ b/resources/assets/v2/support/default-chart-settings.js @@ -27,6 +27,7 @@ function getDefaultChartSettings(type) { data: { datasets: [], }, + options: {animations: false} } } if ('pie' === type) { diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index fd843dd0fe..465cced993 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -1681,6 +1681,7 @@ return [ 'remove_budgeted_amount' => 'Remove budgeted amount in :currency', // bills: + 'subscription' => 'Subscription', 'not_expected_period' => 'Not expected this period', 'subscriptions_in_group' => 'Subscriptions in group "%{title}"', 'subscr_expected_x_times' => 'Expect to pay %{amount} %{times} times this period', @@ -1720,6 +1721,7 @@ return [ 'bill_edit_rules' => 'Firefly III will attempt to edit the rule related to this bill as well. If you\'ve edited this rule yourself however, Firefly III won\'t change anything.|Firefly III will attempt to edit the :count rules related to this bill as well. If you\'ve edited these rules yourself however, Firefly III won\'t change anything.', 'bill_expected_date' => 'Expected :date', 'bill_expected_date_js' => 'Expected {date}', + 'expected_amount' => '(Expected) amount', 'bill_paid_on' => 'Paid on {date}', 'bill_repeats_weekly' => 'Repeats weekly', 'bill_repeats_monthly' => 'Repeats monthly', diff --git a/resources/views/v2/partials/dashboard/account-list.blade.php b/resources/views/v2/partials/dashboard/account-list.blade.php index 2530de9a24..ca5316ff0d 100644 --- a/resources/views/v2/partials/dashboard/account-list.blade.php +++ b/resources/views/v2/partials/dashboard/account-list.blade.php @@ -13,7 +13,7 @@ x-text="account.name"> - @include('partials.elements.amount', ['autoConversion' => true,'amount' => 'account.balance','native' => 'account.native_balance']) + @include('partials.elements.amount', ['autoConversion' => true,'type' => 'null','amount' => 'account.balance','native' => 'account.native_balance']) @@ -71,7 +71,7 @@ diff --git a/resources/views/v2/partials/dashboard/subscriptions.blade.php b/resources/views/v2/partials/dashboard/subscriptions.blade.php index 371383ec29..d5102d6898 100644 --- a/resources/views/v2/partials/dashboard/subscriptions.blade.php +++ b/resources/views/v2/partials/dashboard/subscriptions.blade.php @@ -8,7 +8,7 @@ -
+
@else @endif diff --git a/routes/api.php b/routes/api.php index 448f973139..0b9456f0c2 100644 --- a/routes/api.php +++ b/routes/api.php @@ -202,6 +202,24 @@ Route::group( } ); +/** + * V2 API route for user groups (administrations). + */ +Route::group( + [ + 'namespace' => 'FireflyIII\Api\V2\Controllers\UserGroup', + 'prefix' => 'v2/user-groups', + 'as' => 'api.v2.user-groups.', + ], + static function () { + Route::get('', ['uses' => 'ShowController@index', 'as' => 'index']); + Route::post('', ['uses' => 'StoreController@store', 'as' => 'store']); + Route::get('{userGroup}', ['uses' => 'ShowController@show', 'as' => 'show']); + } +); + +// down here is v1 + /** * Autocomplete controllers */