diff --git a/app/Events/JournalSaved.php b/app/Events/JournalSaved.php new file mode 100644 index 0000000000..e618861169 --- /dev/null +++ b/app/Events/JournalSaved.php @@ -0,0 +1,25 @@ +journal = $journal; + } + +} diff --git a/app/Handlers/Events/RescanJournal.php b/app/Handlers/Events/RescanJournal.php new file mode 100644 index 0000000000..9b74e3bb44 --- /dev/null +++ b/app/Handlers/Events/RescanJournal.php @@ -0,0 +1,53 @@ +journal; + + Log::debug('Triggered saved event for journal #' . $journal->id . ' (' . $journal->description . ')'); + + /** @var \FireflyIII\Repositories\Bill\BillRepositoryInterface $repository */ + $repository = App::make('FireflyIII\Repositories\Bill\BillRepositoryInterface'); + $list = $journal->user->bills()->where('active', 1)->where('automatch', 1)->get(); + + Log::debug('Found ' . $list->count() . ' bills to check.'); + + /** @var Bill $bill */ + foreach ($list as $bill) { + Log::debug('Now calling bill #' . $bill->id . ' (' . $bill->name . ')'); + $repository->scan($bill, $journal); + } + + Log::debug('Done!'); + } + +} diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php index 88a8e0f17f..26d24d611b 100644 --- a/app/Http/Controllers/TransactionController.php +++ b/app/Http/Controllers/TransactionController.php @@ -3,6 +3,7 @@ use Auth; use Carbon\Carbon; use ExpandedForm; +use FireflyIII\Events\JournalSaved; use FireflyIII\Http\Requests; use FireflyIII\Http\Requests\JournalFormRequest; use FireflyIII\Models\Transaction; @@ -264,6 +265,8 @@ class TransactionController extends Controller $journal = $repository->store($journalData); + event(new JournalSaved($journal)); + Session::flash('success', 'New transaction "' . $journal->description . '" stored!'); return Redirect::route('transactions.index', $request->input('what')); @@ -298,6 +301,9 @@ class TransactionController extends Controller ]; $repository->update($journal, $journalData); + + event(new JournalSaved($journal)); + Session::flash('success', 'Transaction "' . e($journalData['description']) . '" updated.'); return Redirect::route('transactions.index', $journalData['what']); diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 3b3c957b5b..b12e29e483 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -30,11 +30,8 @@ class EventServiceProvider extends ServiceProvider */ protected $listen = [ - 'event.name' => [ - 'EventListener', - ], - 'App\Events\JournalDeleted' => [ - 'App\Handlers\Events\JournalDeletedHandler@handle', + 'FireflyIII\Events\JournalSaved' => [ + 'FireflyIII\Handlers\Events\RescanJournal', ], ]; @@ -59,26 +56,6 @@ class EventServiceProvider extends ServiceProvider } ); -// TransactionJournal::saved( -// function (TransactionJournal $journal) { -// -// Log::debug('Triggered saved event for journal #' . $journal->id . ' (' . $journal->description . ')'); -// -// /** @var \FireflyIII\Repositories\Bill\BillRepositoryInterface $repository */ -// $repository = App::make('FireflyIII\Repositories\Bill\BillRepositoryInterface'); -// $list = $journal->user->bills()->where('active', 1)->where('automatch', 1)->get(); -// -// Log::debug('Found ' . $list->count() . ' bills to check.'); -// -// /** @var Bill $bill */ -// foreach ($list as $bill) { -// Log::debug('Now calling bill #' . $bill->id . ' (' . $bill->name . ')'); -// $repository->scan($bill, $journal); -// } -// -// Log::debug('Done!'); -// } -// ); Account::deleted(