diff --git a/app/Http/Controllers/Json/AutoCompleteController.php b/app/Http/Controllers/Json/AutoCompleteController.php index 7e9edd5d3d..6ca6d052a4 100644 --- a/app/Http/Controllers/Json/AutoCompleteController.php +++ b/app/Http/Controllers/Json/AutoCompleteController.php @@ -205,7 +205,7 @@ class AutoCompleteController extends Controller { $search = (string)$request->get('search'); $cache = new CacheProperties; - $cache->addProperty('ac-revenue-accounts'); + $cache->addProperty('ac-journals'); // very unlikely a user will actually search for this string. $key = '' === $search ? 'skjf0893j89fj2398hd89dh289h2398hr7isd8900828u209ujnxs88929282u' : $search; $cache->addProperty($key); diff --git a/app/Http/Controllers/Transaction/MassController.php b/app/Http/Controllers/Transaction/MassController.php index e367da91d0..e15f6b5325 100644 --- a/app/Http/Controllers/Transaction/MassController.php +++ b/app/Http/Controllers/Transaction/MassController.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Transaction; use Carbon\Carbon; +use FireflyIII\Events\UpdatedTransactionJournal; use FireflyIII\Helpers\Collector\TransactionCollectorInterface; use FireflyIII\Helpers\Filter\InternalTransferFilter; use FireflyIII\Helpers\Filter\TransactionViewFilter; @@ -241,6 +242,9 @@ class MassController extends Controller // call repository update function. $repository->update($journal, $data); + // trigger rules + event(new UpdatedTransactionJournal($journal)); + ++$count; } } diff --git a/public/v1/js/ff/transactions/mass/edit.js b/public/v1/js/ff/transactions/mass/edit.js index 9fa02fa9b7..41ccf288c7 100644 --- a/public/v1/js/ff/transactions/mass/edit.js +++ b/public/v1/js/ff/transactions/mass/edit.js @@ -23,8 +23,36 @@ $(document).ready(function () { "use strict"; + // description + if ($('input[name^="description["]').length > 0) { + console.log('descr'); + var journalNames = new Bloodhound({ + datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'), + queryTokenizer: Bloodhound.tokenizers.whitespace, + prefetch: { + url: 'json/transaction-journals/all?uid=' + uid, + filter: function (list) { + return $.map(list, function (name) { + return {name: name}; + }); + } + }, + remote: { + url: 'json/transaction-journals/all?search=%QUERY&uid=' + uid, + wildcard: '%QUERY', + filter: function (list) { + return $.map(list, function (name) { + return {name: name}; + }); + } + } + }); + journalNames.initialize(); + $('input[name^="description["]').typeahead({hint: true, highlight: true,}, {source: journalNames, displayKey: 'name', autoSelect: false}); + } // destination account names: if ($('input[name^="destination_name["]').length > 0) { + var destNames = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'), queryTokenizer: Bloodhound.tokenizers.whitespace,