diff --git a/app/controllers/HomeController.php b/app/controllers/HomeController.php
index 9617608efc..f6db1ae8d6 100644
--- a/app/controllers/HomeController.php
+++ b/app/controllers/HomeController.php
@@ -6,6 +6,48 @@
*/
class HomeController extends BaseController
{
+ public function cleanup()
+ {
+ Auth::loginUsingId(1);
+ /** @var \FireflyIII\Database\TransactionJournal $repository */
+ $repository = App::make('FireflyIII\Database\TransactionJournal');
+
+ /** @var \FireflyIII\Database\Account $acct */
+ $acct = App::make('FireflyIII\Database\Account');
+
+
+ $journals = $repository->get();
+
+ /** @var TransactionJournal $journal */
+ foreach ($journals as $journal) {
+
+ if ($journal->TransactionType->type == 'Withdrawal') {
+ echo '#' . $journal->id . ': ' . e($journal->description);
+ /** @var Transaction $transaction */
+ foreach ($journal->transactions as $transaction) {
+ if (floatval($transaction->amount) > 0) {
+ // this is the one with the beneficiary account!
+ if ($transaction->account->accountType->type == 'Beneficiary account') {
+ echo ', should be an expense account';
+ if (Input::get('update') == 'true') {
+ $newAccount = $acct->firstExpenseAccountOrCreate($transaction->account->name);
+ $transaction->account_id = $newAccount->id;
+ $transaction->save();
+
+ echo ', updated!';
+ }
+ }
+ }
+ }
+ echo '
';
+ }
+
+
+ }
+
+ return ' ';
+ }
+
/**
* @return \Illuminate\Http\RedirectResponse
*/
diff --git a/app/lib/FireflyIII/Database/TransactionJournal.php b/app/lib/FireflyIII/Database/TransactionJournal.php
index aa6c8a8044..1f12855400 100644
--- a/app/lib/FireflyIII/Database/TransactionJournal.php
+++ b/app/lib/FireflyIII/Database/TransactionJournal.php
@@ -460,7 +460,7 @@ class TransactionJournal implements TransactionJournalInterface, CUD, CommonData
*/
public function get()
{
- return $this->getUser()->transactionjournals()->get();
+ return $this->getUser()->transactionjournals()->with(['TransactionType','transactions','transactions.account','transactions.account.accountType'])->get();
}
/**
diff --git a/app/models/Account.php b/app/models/Account.php
index 46324baab0..4cdf081f74 100644
--- a/app/models/Account.php
+++ b/app/models/Account.php
@@ -36,7 +36,7 @@ class Account extends Ardent
*/
public static $rules
= [
- 'name' => ['required', 'between:1,100', 'alphabasic'],
+ 'name' => ['required', 'between:1,100'],
'user_id' => 'required|exists:users,id',
'account_type_id' => 'required|exists:account_types,id',
'active' => 'required|boolean'
diff --git a/app/routes.php b/app/routes.php
index 7c39fb1ae1..6538bdcd6b 100644
--- a/app/routes.php
+++ b/app/routes.php
@@ -125,6 +125,7 @@ Route::bind(
}
);
+Route::get('/cleanup', ['uses' => 'HomeController@cleanup', 'as' => 'cleanup']);
// protected routes:
Route::group(
['before' => 'auth'], function () {
@@ -134,7 +135,7 @@ Route::group(
Route::get('/prev', ['uses' => 'HomeController@sessionPrev', 'as' => 'sessionPrev']);
Route::get('/next', ['uses' => 'HomeController@sessionNext', 'as' => 'sessionNext']);
Route::get('/jump/{range}', ['uses' => 'HomeController@rangeJump', 'as' => 'rangeJump']);
- Route::get('/cleanup', ['uses' => 'HomeController@cleanup', 'as' => 'cleanup']);
+
// account controller:
Route::get('/accounts/{what}', ['uses' => 'AccountController@index', 'as' => 'accounts.index'])->where('what', 'revenue|asset|expense');