diff --git a/app/Http/Controllers/Transaction/CreateController.php b/app/Http/Controllers/Transaction/CreateController.php index 4858a8f454..9342ba3643 100644 --- a/app/Http/Controllers/Transaction/CreateController.php +++ b/app/Http/Controllers/Transaction/CreateController.php @@ -77,7 +77,7 @@ class CreateController extends Controller $title = $newGroup->title ?? $newGroup->transactionJournals->first()->description; $link = route('transactions.show', [$newGroup->id]); session()->flash('success', trans('firefly.stored_journal', ['description' => $title])); - session()->flash('success_uri', $link); + session()->flash('success_url', $link); return redirect(route('transactions.show', [$newGroup->id])); } diff --git a/app/Http/Middleware/InterestingMessage.php b/app/Http/Middleware/InterestingMessage.php index c2e729c3e3..9f5494d5e2 100644 --- a/app/Http/Middleware/InterestingMessage.php +++ b/app/Http/Middleware/InterestingMessage.php @@ -53,6 +53,10 @@ class InterestingMessage Preferences::mark(); $this->handleGroupMessage($request); } + if ($this->accountMessage($request)) { + Preferences::mark(); + $this->handleAccountMessage($request); + } return $next($request); } @@ -80,6 +84,25 @@ class InterestingMessage return null !== $transactionGroupId && null !== $message; } + /** + * @param Request $request + */ + private function handleAccountMessage(Request $request): void { + + // get parameters from request. + $accountId = $request->get('account_id'); + $message = $request->get('message'); + + /** @var TransactionGroup $group */ + $account = auth()->user()->accounts()->withTrashed()->find($accountId); + + if (null === $account) { + return; + } + if ('deleted' === $message) { + session()->flash('success', (string)trans('firefly.account_deleted', ['name' => $account->name])); + } + } /** * @param Request $request */ @@ -107,18 +130,32 @@ class InterestingMessage } $title = $count > 1 ? $group->title : $journal->description; if ('created' === $message) { - session()->flash('success_uri', route('transactions.show', [$transactionGroupId])); + session()->flash('success_url', route('transactions.show', [$transactionGroupId])); session()->flash('success', (string)trans('firefly.stored_journal', ['description' => $title])); } if ('updated' === $message) { $type = strtolower($journal->transactionType->type); - session()->flash('success_uri', route('transactions.show', [$transactionGroupId])); + session()->flash('success_url', route('transactions.show', [$transactionGroupId])); session()->flash('success', (string)trans(sprintf('firefly.updated_%s', $type), ['description' => $title])); } if ('no_change' === $message) { $type = strtolower($journal->transactionType->type); - session()->flash('warning_uri', route('transactions.show', [$transactionGroupId])); + session()->flash('warning_url', route('transactions.show', [$transactionGroupId])); session()->flash('warning', (string)trans(sprintf('firefly.no_changes_%s', $type), ['description' => $title])); } } + + /** + * @param Request $request + * + * @return bool + */ + private function accountMessage(Request $request): bool + { + // get parameters from request. + $accountId = $request->get('account_id'); + $message = $request->get('message'); + + return null !== $accountId && null !== $message; + } } diff --git a/resources/views/v1/partials/flashes.twig b/resources/views/v1/partials/flashes.twig index cff5d4eaa9..4331be30c5 100644 --- a/resources/views/v1/partials/flashes.twig +++ b/resources/views/v1/partials/flashes.twig @@ -15,11 +15,11 @@ ×{{ 'close'|_ }} {{ 'flash_success'|_ }} - {% if session_has('success_uri') %} - + {% if session_has('success_url') %} + {% endif %} {{ session('success') }} - {% if session_has('success_uri') %} + {% if session_has('success_url') %} {% endif %} diff --git a/resources/views/v2/partials/layout/flashes.twig b/resources/views/v2/partials/layout/flashes.twig index b4e19eb79d..413bb15a7a 100644 --- a/resources/views/v2/partials/layout/flashes.twig +++ b/resources/views/v2/partials/layout/flashes.twig @@ -7,11 +7,11 @@