diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php
index ded94b2943..0aafa57c49 100644
--- a/app/Http/Controllers/HomeController.php
+++ b/app/Http/Controllers/HomeController.php
@@ -153,10 +153,10 @@ class HomeController extends Controller
{
// these routes are not relevant for the help pages:
$ignore = [
- 'logout', 'register', 'bills.rescan', 'attachments.download', 'attachments.preview',
- 'budgets.income', 'csv.download-config', 'currency.default', 'export.status', 'export.download',
- 'json.', 'help.', 'piggy-banks.addMoney', 'piggy-banks.removeMoney', 'rules.rule.up', 'rules.rule.down',
- 'rules.rule-group.up', 'rules.rule-group.down', 'debugbar',
+// 'logout', 'register', 'bills.rescan', 'attachments.download', 'attachments.preview',
+// 'budgets.income', 'csv.download-config', 'currency.default', 'export.status', 'export.download',
+// 'json.', 'help.', 'piggy-banks.addMoney', 'piggy-banks.removeMoney', 'rules.rule.up', 'rules.rule.down',
+// 'rules.rule-group.up', 'rules.rule-group.down', 'debugbar',
];
$routes = Route::getRoutes();
/** @var \Illuminate\Routing\Route $route */
@@ -166,9 +166,7 @@ class HomeController extends Controller
$methods = $route->getMethods();
if (!is_null($name) && in_array('GET', $methods) && !$this->startsWithAny($ignore, $name)) {
- foreach (array_keys(config('firefly.languages')) as $lang) {
- echo 'touch ' . $lang . '/' . $name . '.md
';
- }
+ echo $name . '
';
}
}
diff --git a/app/Http/Controllers/Transaction/SplitController.php b/app/Http/Controllers/Transaction/SplitController.php
index 62870495d3..53edce6490 100644
--- a/app/Http/Controllers/Transaction/SplitController.php
+++ b/app/Http/Controllers/Transaction/SplitController.php
@@ -15,6 +15,7 @@ use FireflyIII\Crud\Split\JournalInterface;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Http\Requests\SplitJournalFormRequest;
+use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\Budget\BudgetRepositoryInterface;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
@@ -41,6 +42,13 @@ class SplitController extends Controller
View::share('title', trans('firefly.split-transactions'));
}
+ public function edit(TransactionJournal $journal)
+ {
+ $count = $journal->transactions()->count();
+ if ($count === 2) {
+ return redirect(route('transactions.edit', [$journal->id]));
+ }
+ }
/**
* @param Request $request
@@ -88,7 +96,8 @@ class SplitController extends Controller
* @param SplitJournalFormRequest $request
* @param JournalInterface $repository
*
- * @return mixed
+ * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
+ * @throws FireflyException
*/
public function postJournalFromStore(SplitJournalFormRequest $request, JournalInterface $repository)
{
diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php
index 71871aabaa..a03d971893 100644
--- a/app/Http/Controllers/TransactionController.php
+++ b/app/Http/Controllers/TransactionController.php
@@ -12,6 +12,7 @@ namespace FireflyIII\Http\Controllers;
use Amount;
use Auth;
use Carbon\Carbon;
+use DB;
use ExpandedForm;
use FireflyIII\Events\TransactionJournalStored;
use FireflyIII\Events\TransactionJournalUpdated;
@@ -21,7 +22,6 @@ use FireflyIII\Http\Requests\MassDeleteJournalRequest;
use FireflyIII\Http\Requests\MassEditJournalRequest;
use FireflyIII\Models\PiggyBank;
use FireflyIII\Models\PiggyBankEvent;
-use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface as ARI;
@@ -147,6 +147,10 @@ class TransactionController extends Controller
*/
public function edit(TransactionJournal $journal)
{
+ $count = $journal->transactions()->count();
+ if ($count > 2) {
+ return redirect(route('split.journal.edit', [$journal->id]));
+ }
/** @var ARI $accountRepository */
$accountRepository = app(ARI::class);
/** @var BudgetRepositoryInterface $budgetRepository */
@@ -400,12 +404,11 @@ class TransactionController extends Controller
}
/**
- * @param JournalRepositoryInterface $repository
- * @param TransactionJournal $journal
+ * @param TransactionJournal $journal
*
* @return \Illuminate\View\View
*/
- public function show(JournalRepositoryInterface $repository, TransactionJournal $journal)
+ public function show(TransactionJournal $journal)
{
/** @var Collection $set */
@@ -415,17 +418,13 @@ class TransactionController extends Controller
$event->piggyBank = $event->piggyBank()->withTrashed()->first();
}
);
-
- $journal->transactions->each(
- function (Transaction $t) use ($journal, $repository) {
- $t->before = $repository->getAmountBefore($journal, $t);
- $t->after = bcadd($t->before, $t->amount);
- }
+ $transactions = $journal->transactions()->groupBy('transactions.account_id')->orderBy('amount', 'ASC')->get(
+ ['transactions.*', DB::raw('SUM(`transactions`.`amount`) as `sum`')]
);
- $what = strtolower($journal->transaction_type_type ?? $journal->transactionType->type);
- $subTitle = trans('firefly.' . $what) . ' "' . e($journal->description) . '"';
+ $what = strtolower($journal->transaction_type_type ?? $journal->transactionType->type);
+ $subTitle = trans('firefly.' . $what) . ' "' . e($journal->description) . '"';
- return view('transactions.show', compact('journal', 'events', 'subTitle', 'what'));
+ return view('transactions.show', compact('journal', 'events', 'subTitle', 'what', 'transactions'));
}
/**
diff --git a/resources/views/transactions/show.twig b/resources/views/transactions/show.twig
index c139094dde..610d21acff 100644
--- a/resources/views/transactions/show.twig
+++ b/resources/views/transactions/show.twig
@@ -132,7 +132,7 @@
{% endif %}
-
+
|
{% endfor %}
@@ -154,54 +154,103 @@
{% endif %}
-
- {% for t in journal.transactions %}
-
-
- {% endfor %}
+ {% endfor %}
+ {% endif %}
+
+
+ {% if transactions.count > 2 %}
+
+
+
+
+
+
+
+
+ {{ trans('list.account') }} |
+ {{ trans('list.account_type') }} |
+ {{ trans('list.amount') }} |
+ {{ trans('list.new_balance') }} |
+ {{ trans('list.description') }} |
+ {{ trans('list.category') }} |
+ {{ trans('list.budget') }} |
+
+
+
+ {% for t in transactions %}
+
+ {{ t.account.name }} |
+ {{ t.account.accounttype.type|_ }} |
+ {{ t.sum|formatAmount }} |
+ null |
+ {{ t.description }} |
+
+ {% if t.categories[0] %}
+ {{ t.categories[0].name }}
+ {% endif %}
+ |
+
+ {% if t.budgets[0] %}
+ {{ t.budgets[0].name }}
+ {% endif %}
+ |
+ {% endfor %}
+
+
+
+
+
+ {% endif %}
+
{% endblock %}