Better routes and titles.

This commit is contained in:
James Cole
2016-05-15 12:26:40 +02:00
parent 1c93d8bf79
commit 823839fbf6
9 changed files with 202 additions and 56 deletions

View File

@@ -58,6 +58,8 @@ class SplitController extends Controller
$uploadSize = min(Steam::phpBytes(ini_get('upload_max_filesize')), Steam::phpBytes(ini_get('post_max_size')));
$currencies = ExpandedForm::makeSelectList($currencyRepository->get());
$budgets = ExpandedForm::makeSelectListWithEmpty($budgetRepository->getActiveBudgets());
$subTitle = trans('form.add_new_' . $sessionData['what']);
$subTitleIcon = 'fa-plus';
$preFilled = [
'what' => $sessionData['what'] ?? 'withdrawal',
'journal_amount' => $sessionData['amount'] ?? 0,
@@ -71,7 +73,9 @@ class SplitController extends Controller
'category' => [$sessionData['category']],
];
return view('split.journals.create', compact('journal', 'preFilled', 'assetAccounts', 'currencies', 'budgets', 'uploadSize'));
return view(
'split.journals.create', compact('journal', 'subTitle', 'subTitleIcon', 'preFilled', 'assetAccounts', 'currencies', 'budgets', 'uploadSize')
);
}
/**
@@ -90,6 +94,8 @@ class SplitController extends Controller
$assetAccounts = ExpandedForm::makeSelectList($accountRepository->getAccountsByType(['Default account', 'Asset account']));
$budgets = ExpandedForm::makeSelectListWithEmpty($budgetRepository->getActiveBudgets());
$preFilled = $this->arrayFromJournal($request, $journal);
$subTitle = trans('breadcrumbs.edit_journal', ['description' => $journal->description]);
$subTitleIcon = 'fa-pencil';
Session::flash('gaEventCategory', 'transactions');
Session::flash('gaEventAction', 'edit-split-' . $preFilled['what']);
@@ -102,7 +108,10 @@ class SplitController extends Controller
return view(
'split.journals.edit',
compact('currencies', 'preFilled', 'amount', 'sourceAccounts', 'uploadSize', 'destinationAccounts', 'assetAccounts', 'budgets', 'journal')
compact(
'subTitleIcon', 'currencies', 'preFilled', 'subTitle', 'amount', 'sourceAccounts', 'uploadSize', 'destinationAccounts', 'assetAccounts',
'budgets', 'journal'
)
);
}

View File

@@ -68,6 +68,7 @@ class TransactionController extends Controller
$piggies = ExpandedForm::makeSelectListWithEmpty($piggyBanks);
$preFilled = Session::has('preFilled') ? session('preFilled') : [];
$subTitle = trans('form.add_new_' . $what);
$subTitleIcon = 'fa-plus';
Session::put('preFilled', $preFilled);
@@ -84,7 +85,7 @@ class TransactionController extends Controller
asort($piggies);
return view('transactions.create', compact('assetAccounts', 'uploadSize', 'budgets', 'what', 'piggies', 'subTitle'));
return view('transactions.create', compact('assetAccounts', 'subTitleIcon', 'uploadSize', 'budgets', 'what', 'piggies', 'subTitle'));
}
/**

View File

@@ -502,6 +502,7 @@ Breadcrumbs::register(
}
);
/**
* TAGS
*/
@@ -579,3 +580,20 @@ Breadcrumbs::register(
}
);
/**
* SPLIT
*/
Breadcrumbs::register(
'split.journal.edit', function (BreadCrumbGenerator $breadcrumbs, TransactionJournal $journal) {
$breadcrumbs->parent('transactions.show', $journal);
$breadcrumbs->push(trans('breadcrumbs.edit_journal', ['description' => $journal->description]), route('split.journal.edit', [$journal->id]));
}
);
Breadcrumbs::register(
'split.journal.create', function (BreadCrumbGenerator $breadcrumbs, string $what) {
$breadcrumbs->parent('transactions.index', $what);
$breadcrumbs->push(trans('breadcrumbs.create_' . e($what)), route('split.journal.create', [$what]));
}
);

View File

@@ -482,6 +482,70 @@ class TestData
}
}
private function createMultiTransfers()
{
foreach ($this->data['multi-transfers'] as $transfer) {
$journalId = DB::table('transaction_journals')->insertGetId(
[
'created_at' => DB::raw('NOW()'),
'updated_at' => DB::raw('NOW()'),
'user_id' => $transfer['user_id'],
'transaction_type_id' => 3,
'transaction_currency_id' => 1,
'description' => Crypt::encrypt($transfer['description']),
'completed' => 1,
'date' => $transfer['date'],
'interest_date' => $transfer['interest_date'] ?? null,
'book_date' => $transfer['book_date'] ?? null,
'process_date' => $transfer['process_date'] ?? null,
'encrypted' => 1,
'order' => 0,
'tag_count' => 0,
]
);
foreach ($transfer['destination_ids'] as $index => $destination) {
$description = $transfer['description'] . ' (#' . ($index + 1) . ')';
$amount = $transfer['amounts'][$index];
$source = $transfer['source_ids'][$index];
$first = DB::table('transactions')->insertGetId(
[
'created_at' => DB::raw('NOW()'),
'updated_at' => DB::raw('NOW()'),
'account_id' => $source,
'transaction_journal_id' => $journalId,
'description' => $description,
'amount' => $amount * -1,
]
);
$second = DB::table('transactions')->insertGetId(
[
'created_at' => DB::raw('NOW()'),
'updated_at' => DB::raw('NOW()'),
'account_id' => $destination,
'transaction_journal_id' => $journalId,
'description' => $description,
'amount' => $amount,
]
);
if (isset($transfer['category_ids'][$index])) {
DB::table('category_transaction')->insert(
[
'category_id' => $transfer['category_ids'][$index],
'transaction_id' => $first,
]
);
DB::table('category_transaction')->insert(
[
'category_id' => $transfer['category_ids'][$index],
'transaction_id' => $second,
]
);
}
}
}
}
/**
*
*/
@@ -728,6 +792,7 @@ class TestData
$this->createAttachments();
$this->createMultiWithdrawals();
$this->createMultiDeposits();
$this->createMultiTransfers();
}
}