From 12542d8f63b8a9eef893a751ee73ecf45d45de85 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 27 Mar 2015 13:16:14 +0100 Subject: [PATCH] Auto fill transaction descriptions. --- app/Http/Controllers/JsonController.php | 41 +++++++++++++----- app/Http/routes.php | 1 + config/firefly.php | 6 +-- favicon.pxm | Bin 102164 -> 102164 bytes public/js/transactions.js | 10 +++++ resources/views/transactions/create.blade.php | 3 ++ 6 files changed, 46 insertions(+), 15 deletions(-) diff --git a/app/Http/Controllers/JsonController.php b/app/Http/Controllers/JsonController.php index 5f1bb43549..d741936111 100644 --- a/app/Http/Controllers/JsonController.php +++ b/app/Http/Controllers/JsonController.php @@ -10,7 +10,8 @@ use Input; use Preferences; use Response; use Session; - +use Config; +use FireflyIII\Models\TransactionType; /** * Class JsonController * @@ -19,7 +20,6 @@ use Session; class JsonController extends Controller { - /** * */ @@ -156,16 +156,6 @@ class JsonController extends Controller } - /** - * @return \Symfony\Component\HttpFoundation\Response - */ - public function showSharedReports() - { - $pref = Preferences::get('showSharedReports', false); - - return Response::json(['value' => $pref->data]); - } - /** * @return \Symfony\Component\HttpFoundation\Response */ @@ -179,4 +169,31 @@ class JsonController extends Controller return Response::json(['value' => $new]); } + /** + * @return \Symfony\Component\HttpFoundation\Response + */ + public function showSharedReports() + { + $pref = Preferences::get('showSharedReports', false); + + return Response::json(['value' => $pref->data]); + } + + public function transactionJournals($what) + { + $descriptions = []; + $dbType = TransactionType::whereType($what)->first(); + $journals = Auth::user()->transactionjournals()->where('transaction_type_id', $dbType->id) + ->orderBy('id','DESC')->take(50) + ->get(); + foreach($journals as $j) { + $descriptions[] = $j->description; + } + + $descriptions = array_unique($descriptions); + return Response::json($descriptions); + + + } + } diff --git a/app/Http/routes.php b/app/Http/routes.php index 299799ea5b..cf1bb3f2e3 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -261,6 +261,7 @@ Route::group( Route::get('/json/categories', ['uses' => 'JsonController@categories', 'as' => 'json.categories']); Route::get('/json/box', ['uses' => 'JsonController@box', 'as' => 'json.box']); Route::get('/json/show-shared-reports', 'JsonController@showSharedReports'); + Route::get('/json/transaction-journals/{what}', 'JsonController@transactionJournals'); Route::get('/json/show-shared-reports/set', 'JsonController@setSharedReports'); diff --git a/config/firefly.php b/config/firefly.php index 6d9714f9a3..da0ceee692 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -73,9 +73,9 @@ return [ ], 'accountTypeByIdentifier' => [ - 'asset' => 'Asset account', - 'expense' => 'Expense account', - 'revenue' => 'Revenue account', + 'asset' => 'Asset account', + 'expense' => 'Expense account', + 'revenue' => 'Revenue account' ], 'shortNamesByFullName' => [ diff --git a/favicon.pxm b/favicon.pxm index 03998f3b15ad1ec6c3b8ab52a51de337a3091a6f..18998b1f1c967132475f208afa3b4b0979528322 100644 GIT binary patch delta 1140 zcmeH_OHUJF7=^$0ozC>aZ8T75Y3XoNB88N(lo*VJiwIT_ip5H}6)aFJ7lAIM(S8Is zY5>VVx>1A>VvIqIV zj7b};Bh93p^pHU^L~f8C0m?z4c!~FF{qaBipL#!PV7QZS%C=TV1LMy&ehNefM2*DoO8U@R5 DQ71Q_ delta 1053 zcmeH^-Ahw(7{{OIIiAgJI!~dqoo#NuWzmLi%@;5VU5T(X-^LVMHcf4{L}I%zsr{lZ zBI;P3*)F7EWf37J9>S2aKuRo9GNQW(B#5w}+X73q6={n&=>*oocPiy;hSANJ!(JcTi2IE!<*i0|<$ ze#bRZQyQ7bN=0NR2NhEd)lmaAg{g)7)JE+TpaGI-h{j2wM>Io^X_lVRbDF0GdPT2k ziB{v5|B+weKf|99{w18);0E|F$~Rj@ilMy3ZgaRQ zoTu%!L8q(KWw$v?%H7JY!r^K|1oZYaxAu*;U*p&0{}2361&;1k@r_T0rhX`~!55rh zG#ag9u4rWGOwTe{y5ftSNg 0) { $('input[name="revenue_account"]').typeahead({source: data}); }); } + +if ($('input[name="description"]').length > 0 && what != undefined) { + $.getJSON('json/transaction-journals/' + what).success(function (data) { + $('input[name="description"]').typeahead({source: data}); + }); +} + + + + if ($('input[name="category"]').length > 0) { $.getJSON('json/categories').success(function (data) { $('input[name="category"]').typeahead({source: data}); diff --git a/resources/views/transactions/create.blade.php b/resources/views/transactions/create.blade.php index ece7b4478f..d56f5b2cd3 100644 --- a/resources/views/transactions/create.blade.php +++ b/resources/views/transactions/create.blade.php @@ -92,6 +92,9 @@ @stop @section('scripts') + @stop