diff --git a/app/Http/Controllers/PiggyBank/EditController.php b/app/Http/Controllers/PiggyBank/EditController.php index 9e001e66fd..200d5acc6d 100644 --- a/app/Http/Controllers/PiggyBank/EditController.php +++ b/app/Http/Controllers/PiggyBank/EditController.php @@ -63,9 +63,11 @@ class EditController extends Controller ); } - public function resetHistory(PiggyBank $piggyBank): RedirectResponse { + public function resetHistory(PiggyBank $piggyBank): RedirectResponse + { $this->piggyRepos->resetHistory($piggyBank); session()->flash('success', (string) trans('firefly.piggy_history_reset')); + return redirect(route('piggy-banks.show', [$piggyBank->id])); } diff --git a/app/Notifications/Security/UserFailedLoginAttempt.php b/app/Notifications/Security/UserFailedLoginAttempt.php index 618cf3c6d9..08159020be 100644 --- a/app/Notifications/Security/UserFailedLoginAttempt.php +++ b/app/Notifications/Security/UserFailedLoginAttempt.php @@ -67,7 +67,7 @@ class UserFailedLoginAttempt extends Notification { $settings = ReturnsSettings::getSettings('ntfy', 'user', $notifiable); $message = new Message(); - $ip = Request::ip(); + $ip = Request::ip(); $message->topic($settings['ntfy_topic']); $message->title((string) trans('email.failed_login_subject')); $message->body((string) trans('email.failed_login_message', ['ip' => $ip, 'email' => $this->user->email])); @@ -80,7 +80,8 @@ class UserFailedLoginAttempt extends Notification */ public function toPushover(User $notifiable): PushoverMessage { - $ip = Request::ip(); + $ip = Request::ip(); + return PushoverMessage::create((string) trans('email.failed_login_message', ['ip' => $ip, 'email' => $this->user->email])) ->title((string) trans('email.failed_login_subject')) ; @@ -91,7 +92,7 @@ class UserFailedLoginAttempt extends Notification */ public function toSlack(User $notifiable): SlackMessage { - $ip = Request::ip(); + $ip = Request::ip(); $message = (string) trans('email.failed_login_message', ['ip' => $ip, 'email' => $this->user->email]); return new SlackMessage()->content($message); diff --git a/app/Repositories/PiggyBank/PiggyBankRepository.php b/app/Repositories/PiggyBank/PiggyBankRepository.php index ee30bac3f5..c8b13a29bc 100644 --- a/app/Repositories/PiggyBank/PiggyBankRepository.php +++ b/app/Repositories/PiggyBank/PiggyBankRepository.php @@ -443,8 +443,8 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface, UserGroupInte public function resetHistory(PiggyBank $piggyBank): void { $piggyBank->piggyBankEvents()->delete(); - foreach($piggyBank->accounts as $account) { - if(0 !== bccomp('0',$account->pivot->current_amount)) { + foreach ($piggyBank->accounts as $account) { + if (0 !== bccomp('0', $account->pivot->current_amount)) { event(new ChangedAmount($piggyBank, $account->pivot->current_amount, null, null)); } } diff --git a/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php b/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php index a1c9d05a12..2ac344069c 100644 --- a/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php +++ b/app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php @@ -33,7 +33,6 @@ use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\UserGroup; use FireflyIII\User; use Illuminate\Contracts\Auth\Authenticatable; -use Illuminate\Routing\Redirector; use Illuminate\Support\Collection; /** @@ -48,8 +47,8 @@ use Illuminate\Support\Collection; */ interface PiggyBankRepositoryInterface { - public function resetHistory(PiggyBank $piggyBank): void; + public function addAmount(PiggyBank $piggyBank, Account $account, string $amount, ?TransactionJournal $journal = null): bool; public function addAmountToPiggyBank(PiggyBank $piggyBank, string $amount, TransactionJournal $journal): void; diff --git a/composer.lock b/composer.lock index d95f75fe56..63e338ba8d 100644 --- a/composer.lock +++ b/composer.lock @@ -939,16 +939,16 @@ }, { "name": "filp/whoops", - "version": "2.18.0", + "version": "2.18.1", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e" + "reference": "8fcc6a862f2e7b94eb4221fd0819ddba3d30ab26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e", - "reference": "a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e", + "url": "https://api.github.com/repos/filp/whoops/zipball/8fcc6a862f2e7b94eb4221fd0819ddba3d30ab26", + "reference": "8fcc6a862f2e7b94eb4221fd0819ddba3d30ab26", "shasum": "" }, "require": { @@ -998,7 +998,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.18.0" + "source": "https://github.com/filp/whoops/tree/2.18.1" }, "funding": [ { @@ -1006,7 +1006,7 @@ "type": "github" } ], - "time": "2025-03-15T12:00:00+00:00" + "time": "2025-06-03T18:56:14+00:00" }, { "name": "firebase/php-jwt", @@ -3473,22 +3473,22 @@ }, { "name": "mailersend/laravel-driver", - "version": "v2.9.1", + "version": "v2.11.0", "source": { "type": "git", "url": "https://github.com/mailersend/mailersend-laravel-driver.git", - "reference": "87fd5ab76808bbaac9221be0d306baef13e98725" + "reference": "63acebb5064745076df27b1a80423986b6d7b69e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mailersend/mailersend-laravel-driver/zipball/87fd5ab76808bbaac9221be0d306baef13e98725", - "reference": "87fd5ab76808bbaac9221be0d306baef13e98725", + "url": "https://api.github.com/repos/mailersend/mailersend-laravel-driver/zipball/63acebb5064745076df27b1a80423986b6d7b69e", + "reference": "63acebb5064745076df27b1a80423986b6d7b69e", "shasum": "" }, "require": { "ext-json": "*", "illuminate/support": "^9.0 || ^10.0 || ^11.0 || ^12.0", - "mailersend/mailersend": "^0.31.0", + "mailersend/mailersend": "^0.34.0", "nyholm/psr7": "^1.5", "php": ">=8.0", "php-http/guzzle7-adapter": "^1.0", @@ -3536,29 +3536,28 @@ ], "support": { "issues": "https://github.com/mailersend/mailersend-laravel-driver/issues", - "source": "https://github.com/mailersend/mailersend-laravel-driver/tree/v2.9.1" + "source": "https://github.com/mailersend/mailersend-laravel-driver/tree/v2.11.0" }, - "time": "2025-04-09T09:33:07+00:00" + "time": "2025-06-04T08:47:41+00:00" }, { "name": "mailersend/mailersend", - "version": "v0.31.0", + "version": "v0.34.0", "source": { "type": "git", "url": "https://github.com/mailersend/mailersend-php.git", - "reference": "513ff83ee768526055ad52987cde401ea7218c67" + "reference": "1cb8c42e5569e7455b1e0e794dcbf68e3b7898ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mailersend/mailersend-php/zipball/513ff83ee768526055ad52987cde401ea7218c67", - "reference": "513ff83ee768526055ad52987cde401ea7218c67", + "url": "https://api.github.com/repos/mailersend/mailersend-php/zipball/1cb8c42e5569e7455b1e0e794dcbf68e3b7898ab", + "reference": "1cb8c42e5569e7455b1e0e794dcbf68e3b7898ab", "shasum": "" }, "require": { "beberlei/assert": "^3.2", "ext-json": "*", - "illuminate/collections": "^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", - "php": "^7.4|^8.0", + "php": "^7.4 || ^8.0 <8.5", "php-http/client-common": "^2.2", "php-http/discovery": "^1.9", "php-http/httplug": "^2.1", @@ -3603,9 +3602,9 @@ ], "support": { "issues": "https://github.com/mailersend/mailersend-php/issues", - "source": "https://github.com/mailersend/mailersend-php/tree/v0.31.0" + "source": "https://github.com/mailersend/mailersend-php/tree/v0.34.0" }, - "time": "2025-04-03T12:16:11+00:00" + "time": "2025-06-04T07:53:52+00:00" }, { "name": "monolog/monolog", diff --git a/config/firefly.php b/config/firefly.php index 8bdfe40ccd..f24b1aa6c3 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -78,7 +78,7 @@ return [ 'running_balance_column' => env('USE_RUNNING_BALANCE', false), // see cer.php for exchange rates feature flag. ], - 'version' => 'develop/2025-06-03', + 'version' => 'develop/2025-06-04', 'api_version' => '2.1.0', // field is no longer used. 'db_version' => 25, diff --git a/package-lock.json b/package-lock.json index 8af76379a4..231d641e52 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4417,9 +4417,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001720", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz", - "integrity": "sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==", + "version": "1.0.30001721", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001721.tgz", + "integrity": "sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==", "dev": true, "funding": [ { @@ -5632,9 +5632,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.162", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.162.tgz", - "integrity": "sha512-hQA+Zb5QQwoSaXJWEAGEw1zhk//O7qDzib05Z4qTqZfNju/FAkrm5ZInp0JbTp4Z18A6bilopdZWEYrFSsfllA==", + "version": "1.5.165", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.165.tgz", + "integrity": "sha512-naiMx1Z6Nb2TxPU6fiFrUrDTjyPMLdTtaOd2oLmG8zVSg2hCWGkhPyxwk+qRmZ1ytwVqUv0u7ZcDA5+ALhaUtw==", "dev": true, "license": "ISC" }, diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index 848a479212..65b3eb1ace 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -2486,10 +2486,10 @@ return [ 'left_for_piggy_banks' => 'Left for piggy banks', 'sum_of_piggy_banks' => 'Sum of piggy banks', 'saved_so_far' => 'Saved so far', - 'saved_so_far_total' => 'Saved so far in total', - 'reset_history' => 'reset history', + 'saved_so_far_total' => 'Saved so far in total', + 'reset_history' => 'reset history', 'reset_history_confirm' => 'Are you sure you want to reset the history of this piggy bank? This will make the chart match the piggy bank\'s amount again.', - 'piggy_history_reset' => 'The piggy bank history has been reset', + 'piggy_history_reset' => 'The piggy bank history has been reset', 'left_to_save' => 'Left to save', 'suggested_amount' => 'Suggested monthly amount to save', 'add_money_to_piggy_title' => 'Add money to piggy bank ":name"',