Skip to main content

Black Friday 2025! Only until December 1st: coupon FRIDAY25 for 40% off Yearly/Lifetime membership!

Read more here

firefly-iii/firefly-iii

21505 stars
4 code files
View firefly-iii/firefly-iii on GitHub

app/Handlers/Events/StoredAccountEventHandler.php

Open in GitHub
use FireflyIII\Events\StoredAccount;
use FireflyIII\Services\Internal\Support\CreditRecalculateService;
 
class StoredAccountEventHandler
{
public function recalculateCredit(StoredAccount $event): void
{
$account = $event->account;
$object = app(CreditRecalculateService::class);
$object->setAccount($account);
$object->recalculate();
}
 
}

app/Events/StoredAccount.php

Open in GitHub
use FireflyIII\Models\Account;
use Illuminate\Queue\SerializesModels;
 
class StoredAccount extends Event
{
use SerializesModels;
 
public Account $account;
 
public function __construct(Account $account)
{
$this->account = $account;
}
}

app/Providers/EventServiceProvider.php

Open in GitHub
use FireflyIII\Events\StoredAccount;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
 
class EventServiceProvider extends ServiceProvider
{
protected $listen
= [
//
StoredAccount::class => [
'FireflyIII\Handlers\Events\StoredAccountEventHandler@recalculateCredit',
],
//
];
//
}

app/Factory/AccountFactory.php

Open in GitHub
use FireflyIII\Events\StoredAccount;
use FireflyIII\Models\Account;
 
class AccountFactory
{
//
public function create(array $data): Account
{
$type = $this->getAccountType($data);
$data['iban'] = $this->filterIban($data['iban'] ?? null);
 
$return = $this->find($data['name'], $type->type);
 
if (null !== $return) {
return $return;
}
 
$return = $this->createAccount($type, $data);
 
event(new StoredAccount($return));
 
return $return;
}
//
}

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.