diff --git a/app/Api/V1/Controllers/Autocomplete/PiggyBankController.php b/app/Api/V1/Controllers/Autocomplete/PiggyBankController.php
index c2835525cc..a62b7f342f 100644
--- a/app/Api/V1/Controllers/Autocomplete/PiggyBankController.php
+++ b/app/Api/V1/Controllers/Autocomplete/PiggyBankController.php
@@ -71,12 +71,11 @@ class PiggyBankController extends Controller
$piggies = $this->piggyRepository->searchPiggyBank($data['query'], $data['limit']);
$defaultCurrency = app('amount')->getDefaultCurrency();
$response = [];
+
/** @var PiggyBank $piggy */
foreach ($piggies as $piggy) {
$currency = $this->accountRepository->getAccountCurrency($piggy->account) ?? $defaultCurrency;
- $piggy->objectGroup = $piggy->objectGroups->first();
- $piggy->name_with_amount
- = $response[] = [
+ $response[] = [
'id' => $piggy->id,
'name' => $piggy->name,
'currency_id' => $currency->id,
@@ -104,9 +103,7 @@ class PiggyBankController extends Controller
foreach ($piggies as $piggy) {
$currency = $this->accountRepository->getAccountCurrency($piggy->account) ?? $defaultCurrency;
$currentAmount = $this->piggyRepository->getRepetition($piggy)->currentamount ?? '0';
- $piggy->objectGroup = $piggy->objectGroups->first();
- $piggy->name_with_amount
- = $response[] = [
+ $response[] = [
'id' => $piggy->id,
'name' => $piggy->name,
'name_with_balance' => sprintf(
diff --git a/app/Api/V1/Controllers/Autocomplete/TagController.php b/app/Api/V1/Controllers/Autocomplete/TagController.php
index 46188aeddb..9d57ee31d0 100644
--- a/app/Api/V1/Controllers/Autocomplete/TagController.php
+++ b/app/Api/V1/Controllers/Autocomplete/TagController.php
@@ -25,6 +25,11 @@ namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller;
+use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
+use FireflyIII\Models\Tag;
+use FireflyIII\Repositories\Tag\TagRepositoryInterface;
+use FireflyIII\User;
+use Illuminate\Http\JsonResponse;
/**
* Class TagController
@@ -32,4 +37,46 @@ use FireflyIII\Api\V1\Controllers\Controller;
class TagController extends Controller
{
+ private TagRepositoryInterface $repository;
+
+ /**
+ * CurrencyController constructor.
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ $this->middleware(
+ function ($request, $next) {
+ /** @var User $user */
+ $user = auth()->user();
+ $this->repository = app(TagRepositoryInterface::class);
+ $this->repository->setUser($user);
+
+ return $next($request);
+ }
+ );
+ }
+
+ /**
+ * @param AutocompleteRequest $request
+ *
+ * @return JsonResponse
+ */
+ public function tags(AutocompleteRequest $request): JsonResponse
+ {
+ $data = $request->getData();
+
+ $result = $this->repository->searchTags($data['query'], $data['limit']);
+ $array = [];
+ /** @var Tag $tag */
+ foreach ($result as $tag) {
+ $array[] = [
+ 'id' => $tag->id,
+ 'name' => $tag->tag,
+ 'tag' => $tag->tag,
+ ];
+ }
+
+ return response()->json($array);
+ }
}
diff --git a/app/Http/Controllers/Json/AutoCompleteController.php b/app/Http/Controllers/Json/AutoCompleteController.php
index c7c0dc6b2c..0d6165d311 100644
--- a/app/Http/Controllers/Json/AutoCompleteController.php
+++ b/app/Http/Controllers/Json/AutoCompleteController.php
@@ -121,27 +121,8 @@ class AutoCompleteController extends Controller
return response()->json($array);
}
-
- /**
- * @param Request $request
- *
- * @return JsonResponse
- * @codeCoverageIgnore
- */
- public function tags(Request $request): JsonResponse
- {
- $search = (string) $request->get('search');
- /** @var TagRepositoryInterface $repository */
- $repository = app(TagRepositoryInterface::class);
- $result = $repository->searchTags($search);
- $array = $result->toArray();
- foreach ($array as $index => $item) {
- // rename field for consistency.
- $array[$index]['name'] = $item['tag'];
- }
- return response()->json($array);
- }
+
/**
* @param Request $request
diff --git a/app/Repositories/PiggyBank/PiggyBankRepository.php b/app/Repositories/PiggyBank/PiggyBankRepository.php
index f11bdc356a..735b6df239 100644
--- a/app/Repositories/PiggyBank/PiggyBankRepository.php
+++ b/app/Repositories/PiggyBank/PiggyBankRepository.php
@@ -414,7 +414,7 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
$search->where('piggy_banks.name', 'LIKE', sprintf('%%%s%%', $query));
}
$search->orderBy('piggy_banks.order', 'ASC')
- ->orderBy('piggy_banks.name', 'ASC')->where('piggy_banks.active', 1);
+ ->orderBy('piggy_banks.name', 'ASC');
return $search->take($limit)->get();
}
diff --git a/app/Repositories/Tag/TagRepository.php b/app/Repositories/Tag/TagRepository.php
index 970978a746..71f07f2cf0 100644
--- a/app/Repositories/Tag/TagRepository.php
+++ b/app/Repositories/Tag/TagRepository.php
@@ -287,10 +287,11 @@ class TagRepository implements TagRepositoryInterface
* Search the users tags.
*
* @param string $query
+ * @param int $limit
*
* @return Collection
*/
- public function searchTags(string $query): Collection
+ public function searchTags(string $query, int $limit): Collection
{
/** @var Collection $tags */
$tags = $this->user->tags()->orderBy('tag', 'ASC');
@@ -299,7 +300,7 @@ class TagRepository implements TagRepositoryInterface
$tags->where('tag', 'LIKE', $search);
}
- return $tags->get();
+ return $tags->take($limit)->get('tags.*');
}
/**
diff --git a/app/Repositories/Tag/TagRepositoryInterface.php b/app/Repositories/Tag/TagRepositoryInterface.php
index 7fac389191..309b06be5d 100644
--- a/app/Repositories/Tag/TagRepositoryInterface.php
+++ b/app/Repositories/Tag/TagRepositoryInterface.php
@@ -165,10 +165,11 @@ interface TagRepositoryInterface
* Search the users tags.
*
* @param string $query
+ * @param int $limit
*
* @return Collection
*/
- public function searchTags(string $query): Collection;
+ public function searchTags(string $query, int $limit): Collection;
/**
* @param User $user
diff --git a/public/v1/js/ff/common/autocomplete.js b/public/v1/js/ff/common/autocomplete.js
index 217f31c6d7..fc9916c7cc 100644
--- a/public/v1/js/ff/common/autocomplete.js
+++ b/public/v1/js/ff/common/autocomplete.js
@@ -27,7 +27,7 @@ function initTagsAC() {
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
- url: 'json/tags?uid=' + uid,
+ url: 'api/v1/autocomplete/tags?uid=' + uid,
filter: function (list) {
return $.map(list, function (item) {
return {name: item.name};
@@ -35,7 +35,7 @@ function initTagsAC() {
}
},
remote: {
- url: 'json/tags?search=%QUERY&uid=' + uid,
+ url: 'api/v1/autocomplete/tags?query=%QUERY&uid=' + uid,
wildcard: '%QUERY',
filter: function (list) {
return $.map(list, function (item) {
diff --git a/public/v1/js/ff/object-groups/create-edit.js b/public/v1/js/ff/object-groups/create-edit.js
index eaff3b35d3..af75e47f4f 100644
--- a/public/v1/js/ff/object-groups/create-edit.js
+++ b/public/v1/js/ff/object-groups/create-edit.js
@@ -29,7 +29,7 @@ $(document).ready(function () {
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('title'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
- url: 'json/object-groups?uid=' + uid,
+ url: 'api/v1/autocomplete/object-groups?uid=' + uid,
filter: function (list) {
return $.map(list, function (obj) {
return obj;
@@ -37,7 +37,7 @@ $(document).ready(function () {
}
},
remote: {
- url: 'json/object-groups?search=%QUERY&uid=' + uid,
+ url: 'api/v1/autocomplete/object-groups?query=%QUERY&uid=' + uid,
wildcard: '%QUERY',
filter: function (list) {
return $.map(list, function (obj) {
diff --git a/public/v1/js/ff/rules/create-edit.js b/public/v1/js/ff/rules/create-edit.js
index ebbed0cbd8..a7e4c27891 100644
--- a/public/v1/js/ff/rules/create-edit.js
+++ b/public/v1/js/ff/rules/create-edit.js
@@ -245,7 +245,7 @@ function updateActionInput(selectList) {
case 'add_tag':
case 'remove_tag':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
- createAutoComplete(inputResult, 'json/tags');
+ createAutoComplete(inputResult, 'api/v1/autocomplete/tags');
break;
case 'set_description':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
@@ -316,7 +316,7 @@ function updateTriggerInput(selectList) {
break;
case 'tag_is':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
- createAutoComplete(inputResult, 'json/tags');
+ createAutoComplete(inputResult, 'api/v1/autocomplete/tags');
break;
case 'budget_is':
console.log('Select list value is ' + selectList.val() + ', so input needs auto complete.');
diff --git a/public/v1/js/ff/transactions/split/.htaccess b/public/v1/js/ff/transactions/split/.htaccess
deleted file mode 100644
index 45552cb63e..0000000000
--- a/public/v1/js/ff/transactions/split/.htaccess
+++ /dev/null
@@ -1 +0,0 @@
-Options -Indexes
\ No newline at end of file
diff --git a/public/v1/js/ff/transactions/split/edit.js b/public/v1/js/ff/transactions/split/edit.js
deleted file mode 100644
index 9bd6708d42..0000000000
--- a/public/v1/js/ff/transactions/split/edit.js
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
- * edit.js
- * Copyright (c) 2019 james@firefly-iii.org
- *
- * This file is part of Firefly III (https://github.com/firefly-iii).
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-
-
-/** global: originalSum,originalForeignSum, accounting, what, Modernizr, currencySymbol, foreignCurrencySymbol */
-
-var destNames;
-var sourceNames;
-var categories;
-var journalNames;
-
-$(document).ready(function () {
- "use strict";
- $('.btn-do-split').click(cloneDivRow);
- $('.remove-current-split').click(removeDivRow);
-
- // auto complete destination name (expense accounts):
- destNames = new Bloodhound({
- datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
- queryTokenizer: Bloodhound.tokenizers.whitespace,
- prefetch: {
- url: 'json/expense-accounts?uid=' + uid,
- filter: function (list) {
- return $.map(list, function (name) {
- return {name: name};
- });
- }
- },
- remote: {
- url: 'json/expense-accounts?search=%QUERY&uid=' + uid,
- wildcard: '%QUERY',
- filter: function (list) {
- return $.map(list, function (name) {
- return {name: name};
- });
- }
- }
- });
- destNames.initialize();
- $('input[name$="destination_name]"]').typeahead({hint: true, highlight: true,}, {source: destNames, displayKey: 'name', autoSelect: false});
-
- // auto complete source name (revenue accounts):
- sourceNames = new Bloodhound({
- datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
- queryTokenizer: Bloodhound.tokenizers.whitespace,
- prefetch: {
- url: 'json/revenue-accounts?uid=' + uid,
- filter: function (list) {
- return $.map(list, function (name) {
- return {name: name};
- });
- }
- },
- remote: {
- url: 'json/revenue-accounts?search=%QUERY&uid=' + uid,
- wildcard: '%QUERY',
- filter: function (list) {
- return $.map(list, function (name) {
- return {name: name};
- });
- }
- }
- });
- sourceNames.initialize();
- $('input[name$="source_name]"]').typeahead({hint: true, highlight: true,}, {source: sourceNames, displayKey: 'name', autoSelect: false});
-
- // auto complete category fields:
- categories = new Bloodhound({
- datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
- queryTokenizer: Bloodhound.tokenizers.whitespace,
- prefetch: {
- url: 'api/v1/autocomplete/categories?uid=' + uid,
- filter: function (list) {
- return $.map(list, function (name) {
- return {name: name};
- });
- }
- },
- remote: {
- url: 'api/v1/autocomplete/categories?query=%QUERY&uid=' + uid,
- wildcard: '%QUERY',
- filter: function (list) {
- return $.map(list, function (name) {
- return {name: name};
- });
- }
- }
- });
- categories.initialize();
- $('input[name$="category_name]"]').typeahead({hint: true, highlight: true,}, {source: categories, displayKey: 'name', autoSelect: false});
-
- // get transaction journal name things:
- journalNames = new Bloodhound({
- datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
- queryTokenizer: Bloodhound.tokenizers.whitespace,
- prefetch: {
- url: 'json/transaction-journals/' + what + '?uid=' + uid,
- filter: function (list) {
- return $.map(list, function (name) {
- return {name: name};
- });
- }
- },
- remote: {
- url: 'json/transaction-journals/' + what + '?search=%QUERY&uid=' + uid,
- wildcard: '%QUERY',
- filter: function (list) {
- return $.map(list, function (name) {
- return {name: name};
- });
- }
- }
- });
- journalNames.initialize();
-
- $('input[name="journal_description"]').typeahead({hint: true, highlight: true,}, {source: journalNames, displayKey: 'name', autoSelect: false});
- $('input[name$="transaction_description]"]').typeahead({hint: true, highlight: true,}, {source: journalNames, displayKey: 'name', autoSelect: false});
-
- // get tags:
- console.log('initTagsAC()');
- var tagTags = new Bloodhound({
- datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
- queryTokenizer: Bloodhound.tokenizers.whitespace,
- prefetch: {
- url: 'json/tags?uid=' + uid,
- filter: function (list) {
- return $.map(list, function (tagTag) {
- return {name: tagTag};
- });
- }
- },
- remote: {
- url: 'json/tags?search=%QUERY&uid=' + uid,
- wildcard: '%QUERY',
- filter: function (list) {
- return $.map(list, function (name) {
- return {name: name};
- });
- }
- }
- });
- tagTags.initialize();
- $('input[name="tags"]').tagsinput({
- typeaheadjs: {
- hint: true,
- highlight: true,
- name: 'tags',
- displayKey: 'name',
- valueKey: 'name',
- source: tagTags.ttAdapter()
- }
- });
-
- $('input[name$="][amount]"]').on('change', calculateBothSums);
- $('input[name$="][foreign_amount]"]').on('change', calculateBothSums);
-
- if (!Modernizr.inputtypes.date) {
- $('input[type="date"]').datepicker(
- {
- dateFormat: 'yy-mm-dd'
- }
- );
- }
-});
-
-function calculateBothSums() {
- console.log("Now in calculateBothSums()");
- calculateSum();
- calculateForeignSum();
-}
-
-/**
- * New and cool
- * @param e
- * @returns {boolean}
- */
-function removeDivRow(e) {
- "use strict";
- var rows = $('div.split_row');
- if (rows.length === 1) {
- return false;
- }
- var row = $(e.target);
- var index = row.data('split');
- if (typeof index === 'undefined') {
- var parent = row.parent();
- index = parent.data('split');
- console.log('Parent. ' + parent.className);
- }
- console.log('Split index is "' + index + '"');
- $('div.split_row[data-split="' + index + '"]').remove();
-
-
- resetDivSplits();
-
- return false;
-
-}
-
-/**
- * New and cool
- * @returns {boolean}
- */
-function cloneDivRow() {
- "use strict";
- var source = $('div.split_row').last().clone();
- var count = $('div.split_row').length + 1;
- source.removeClass('initial-row');
- source.find('.count').text('#' + count);
-
- source.find('input[name$="][amount]"]').val("").on('change', calculateBothSums);
- source.find('input[name$="][foreign_amount]"]').val("").on('change', calculateBothSums);
- if (destNames) {
- source.find('input[name$="destination_name]"]').typeahead({hint: true, highlight: true,}, {source: destNames, displayKey: 'name', autoSelect: false});
- }
-
- if (sourceNames) {
- source.find('input[name$="source_name]"]').typeahead({hint: true, highlight: true,}, {source: sourceNames, displayKey: 'name', autoSelect: false});
- }
- if (categories) {
- source.find('input[name$="category_name]"]').typeahead({hint: true, highlight: true,}, {source: categories, displayKey: 'name', autoSelect: false});
- }
- if (journalNames) {
- source.find('input[name$="transaction_description]"]').typeahead({hint: true, highlight: true,}, {source: journalNames, displayKey: 'name', autoSelect: false});
- }
-
- $('div.split_row_holder').append(source);
-
- // remove original click things, add them again:
- $('.remove-current-split').unbind('click').click(removeDivRow);
-
- calculateBothSums();
- resetDivSplits();
-
- return false;
-}
-
-/**
- * New and hip
- */
-function resetDivSplits() {
- "use strict";
- // loop rows, reset numbers:
-
- // update the row split number:
- $.each($('div.split_row'), function (i, v) {
- var row = $(v);
- row.attr('data-split', i);
-
- // add or remove class with bg thing
- if (i % 2 === 0) {
- row.removeClass('bg-gray-light');
- }
- if (i % 2 === 1) {
- row.addClass('bg-gray-light');
- }
-
- });
-
- // loop each remove button, update the index
- $.each($('.remove-current-split'), function (i, v) {
- var button = $(v);
- button.attr('data-split', i);
- button.find('span').text(' #' + (i + 1));
-
- });
-
-
- // loop each possible field.
-
- // ends with ][description]
- $.each($('input[name$="][transaction_description]"]'), function (i, v) {
- var input = $(v);
- input.attr('name', 'transactions[' + i + '][transaction_description]');
- });
- // ends with ][destination_name]
- $.each($('input[name$="][destination_name]"]'), function (i, v) {
- var input = $(v);
- input.attr('name', 'transactions[' + i + '][destination_name]');
- });
- // ends with ][source_name]
- $.each($('input[name$="][source_name]"]'), function (i, v) {
- var input = $(v);
- input.attr('name', 'transactions[' + i + '][source_name]');
- });
- // ends with ][amount]
- $.each($('input[name$="][amount]"]'), function (i, v) {
- var input = $(v);
- input.attr('name', 'transactions[' + i + '][amount]');
- });
-
- // ends with ][foreign_amount]
- $.each($('input[name$="][foreign_amount]"]'), function (i, v) {
- var input = $(v);
- input.attr('name', 'transactions[' + i + '][foreign_amount]');
- });
-
- // ends with ][currency_id]
- $.each($('input[name$="][currency_id]"]'), function (i, v) {
- var input = $(v);
- input.attr('name', 'transactions[' + i + '][currency_id]');
- });
-
- // ends with ][foreign_currency_id]
- $.each($('input[name$="][foreign_currency_id]"]'), function (i, v) {
- var input = $(v);
- input.attr('name', 'transactions[' + i + '][foreign_currency_id]');
- });
-
- // ends with ][budget_id]
- $.each($('select[name$="][budget_id]"]'), function (i, v) {
- var input = $(v);
- input.attr('name', 'transactions[' + i + '][budget_id]');
- });
-
- // ends with ][category]
- $.each($('input[name$="][category_name]"]'), function (i, v) {
- var input = $(v);
- input.attr('name', 'transactions[' + i + '][category_name]');
- });
-}
-
-
-function calculateSum() {
- "use strict";
- console.log("Now in calculateSum()");
- var left = originalSum * -1;
- var sum = 0;
- var set = $('input[name$="][amount]"]');
- for (var i = 0; i < set.length; i++) {
- var current = $(set[i]);
- sum += (current.val() === "" ? 0 : parseFloat(current.val()));
- left += (current.val() === "" ? 0 : parseFloat(current.val()));
- }
- sum = Math.round(sum * 100) / 100;
- left = Math.round(left * 100) / 100;
-
- console.log("Sum is " + sum + ", left is " + left);
-
- $('.amount-warning').remove();
- if (sum !== originalSum) {
- console.log("Is different from original sum " + originalSum);
- var paragraph = $('#journal_amount_holder').find('p.form-control-static');
-
- $('').text(' (' + accounting.formatMoney(sum, currencySymbol) + ')').addClass('text-danger amount-warning').appendTo(paragraph);
-
- // also add what's left to divide (or vice versa)
- $('').text(' (' + accounting.formatMoney(left, currencySymbol) + ')').addClass('text-danger amount-warning').appendTo(paragraph);
- }
-
-}
-
-
-function calculateForeignSum() {
- // "use strict";
- var left = originalForeignSum * -1;
- var sum = 0;
- var set = $('input[name$="][foreign_amount]"]');
- for (var i = 0; i < set.length; i++) {
- var current = $(set[i]);
- sum += (current.val() === "" ? 0 : parseFloat(current.val()));
- left += (current.val() === "" ? 0 : parseFloat(current.val()));
- }
- sum = Math.round(sum * 100) / 100;
- left = Math.round(left * 100) / 100;
-
-
- $('.amount-warning-foreign').remove();
- if (sum !== originalForeignSum) {
- var paragraph = $('#journal_foreign_amount_holder').find('p.form-control-static');
- $('').text(' (' + accounting.formatMoney(sum, foreignCurrencySymbol) + ')').addClass('text-danger amount-warning-foreign').appendTo(paragraph);
-
- // also add what's left to divide (or vice versa)
- $('').text(' (' + accounting.formatMoney(left, foreignCurrencySymbol) + ')').addClass('text-danger amount-warning-foreign').appendTo(paragraph);
- }
-
-}
diff --git a/resources/assets/js/components/transactions/ForeignAmountSelect.vue b/resources/assets/js/components/transactions/ForeignAmountSelect.vue
index 5ac2a3f459..46bdf26c66 100644
--- a/resources/assets/js/components/transactions/ForeignAmountSelect.vue
+++ b/resources/assets/js/components/transactions/ForeignAmountSelect.vue
@@ -32,13 +32,12 @@
@@ -174,27 +173,32 @@
}
},
loadCurrencies: function () {
- // console.log('loadCurrencies');
- let URI = document.getElementsByTagName('base')[0].href + "json/currencies";
+ //console.log('loadCurrencies');
+ let URI = document.getElementsByTagName('base')[0].href + "api/v1/currencies";
axios.get(URI, {}).then((res) => {
this.currencies = [
{
- name: this.no_currency,
id: 0,
- enabled: true
+ attributes: {
+ name: this.no_currency,
+ enabled: true
+ },
}
];
this.enabledCurrencies = [
{
- name: this.no_currency,
+ attributes: {
+ name: this.no_currency,
+ enabled: true
+ },
id: 0,
- enabled: true
}
];
for (const key in res.data.data) {
if (res.data.data.hasOwnProperty(key) && /^0$|^[1-9]\d*$/.test(key) && key <= 4294967294) {
- if (res.data.data[key].enabled) {
+ if (res.data.data[key].attributes.enabled) {
+ console.log(res.data.data[key].attributes);
this.currencies.push(res.data.data[key]);
this.enabledCurrencies.push(res.data.data[key]);
}
diff --git a/resources/assets/js/components/transactions/PiggyBank.vue b/resources/assets/js/components/transactions/PiggyBank.vue
index 17bb1b860a..8bae6a532c 100644
--- a/resources/assets/js/components/transactions/PiggyBank.vue
+++ b/resources/assets/js/components/transactions/PiggyBank.vue
@@ -28,7 +28,7 @@
@@ -58,7 +58,7 @@
return this.error.length > 0;
},
loadPiggies: function () {
- let URI = document.getElementsByTagName('base')[0].href + "json/piggy-banks";
+ let URI = document.getElementsByTagName('base')[0].href + "api/v1/autocomplete/piggy-banks-with-balance";
axios.get(URI, {}).then((res) => {
let tempList = {
0: {
@@ -67,7 +67,7 @@
},
piggies: [
{
- name_with_amount: this.no_piggy_bank,
+ name_with_balance: this.no_piggy_bank,
id: 0,
}
],
@@ -87,11 +87,11 @@
piggies: [],
};
}
- tempList[groupOrder].piggies.push({name_with_amount: currentPiggy.name_with_amount, id: currentPiggy.id});
+ tempList[groupOrder].piggies.push({name_with_balance: currentPiggy.name_with_balance, id: currentPiggy.id});
}
if (!currentPiggy.objectGroup) {
// add to empty one:
- tempList[0].piggies.push({name_with_amount: currentPiggy.name_with_amount, id: currentPiggy.id});
+ tempList[0].piggies.push({name_with_balance: currentPiggy.name_with_balance, id: currentPiggy.id});
}
//console.log(currentPiggy);
this.piggies.push(res.data[key]);
diff --git a/resources/assets/js/components/transactions/Tags.vue b/resources/assets/js/components/transactions/Tags.vue
index 136544924a..0dc591a504 100644
--- a/resources/assets/js/components/transactions/Tags.vue
+++ b/resources/assets/js/components/transactions/Tags.vue
@@ -91,7 +91,7 @@
if (this.tag.length < 2) {
return;
}
- const url = document.getElementsByTagName('base')[0].href + `json/tags?search=${this.tag}`;
+ const url = document.getElementsByTagName('base')[0].href + `api/v1/autocomplete/tags?query=${this.tag}`;
clearTimeout(this.debounce);
this.debounce = setTimeout(() => {
@@ -108,4 +108,4 @@
\ No newline at end of file
+
diff --git a/routes/api.php b/routes/api.php
index 20877a8aff..90aaf6de27 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -70,6 +70,7 @@ Route::group(
Route::get('object-groups', ['uses' => 'ObjectGroupController@objectGroups', 'as' => 'object-groups']);
Route::get('piggy-banks', ['uses' => 'PiggyBankController@piggyBanks', 'as' => 'piggy-banks']);
Route::get('piggy-banks-with-balance', ['uses' => 'PiggyBankController@piggyBanksWithBalance', 'as' => 'piggy-banks-with-balance']);
+ Route::get('tags', ['uses' => 'TagController@tags', 'as' => 'tags']);
}
);
diff --git a/routes/web.php b/routes/web.php
index a3998dd8d0..aa119a44ec 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -604,19 +604,16 @@ Route::group(
static function () {
// for auto complete
- Route::get('budgets', ['uses' => 'Json\AutoCompleteController@budgets', 'as' => 'autocomplete.budgets']);
- Route::get('object-groups', ['uses' => 'Json\AutoCompleteController@objectGroups', 'as' => 'autocomplete.object-groups']);
- Route::get('categories', ['uses' => 'Json\AutoCompleteController@categories', 'as' => 'autocomplete.categories']);
- Route::get('currencies', ['uses' => 'Json\AutoCompleteController@currencies', 'as' => 'autocomplete.currencies']);
- Route::get('piggy-banks', ['uses' => 'Json\AutoCompleteController@piggyBanks', 'as' => 'autocomplete.piggy-banks']);
- Route::get('tags', ['uses' => 'Json\AutoCompleteController@tags', 'as' => 'autocomplete.tags']);
- Route::get('transaction-journals/all', ['uses' => 'Json\AutoCompleteController@allJournals', 'as' => 'autocomplete.all-journals']);
- Route::get('transaction-journals/with-id', ['uses' => 'Json\AutoCompleteController@allJournalsWithID', 'as' => 'autocomplete.all-journals-with-id']);
- Route::get('currency-names', ['uses' => 'Json\AutoCompleteController@currencyNames', 'as' => 'autocomplete.currency-names']);
- Route::get('transaction-types', ['uses' => 'Json\AutoCompleteController@transactionTypes', 'as' => 'transaction-types']);
+ // Route::get('transaction-journals/all', ['uses' => 'Json\AutoCompleteController@allJournals', 'as' => 'autocomplete.all-journals']);
+ // Route::get('transaction-journals/with-id', ['uses' => 'Json\AutoCompleteController@allJournalsWithID', 'as' => 'autocomplete.all-journals-with-id']);
+ // Route::get('currency-names', ['uses' => 'Json\AutoCompleteController@currencyNames', 'as' => 'autocomplete.currency-names']);
+ // Route::get('transaction-types', ['uses' => 'Json\AutoCompleteController@transactionTypes', 'as' => 'transaction-types']);
// budgets:
- Route::get('budget/total-budgeted/{currency}/{start_date}/{end_date}', ['uses' => 'Json\BudgetController@getBudgetInformation', 'as' => 'budget.total-budgeted']);
+ Route::get(
+ 'budget/total-budgeted/{currency}/{start_date}/{end_date}',
+ ['uses' => 'Json\BudgetController@getBudgetInformation', 'as' => 'budget.total-budgeted']
+ );
// boxes