diff --git a/app/controllers/TransactionController.php b/app/controllers/TransactionController.php index 10ce039b17..56df20531f 100644 --- a/app/controllers/TransactionController.php +++ b/app/controllers/TransactionController.php @@ -103,7 +103,7 @@ class TransactionController extends BaseController /* * Trigger creation of new piggy bank event */ - Event::fire('piggybank.destroyTransfer', [$transactionJournal]); // new and used. + Event::fire('transactionJournal.destroy', [$transactionJournal]); // new and used. /** @var \FireflyIII\Database\TransactionJournal $repository */ $repository = App::make('FireflyIII\Database\TransactionJournal'); @@ -324,9 +324,11 @@ class TransactionController extends BaseController * Trigger a search for the related (if selected) * piggy bank and store an event. */ + $piggyID = null; if (!is_null(Input::get('piggybank_id')) && intval(Input::get('piggybank_id')) > 0) { - Event::fire('piggybank.storeTransfer', [$journal, intval(Input::get('piggybank_id'))]); // new and used. + $piggyID = intval(Input::get('piggybank_id')); } + Event::fire('transactionJournal.store', [$journal, $piggyID]); // new and used. if ($data['post_submit_action'] == 'create_another') { return Redirect::route('transactions.create', $what)->withInput(); @@ -371,7 +373,7 @@ class TransactionController extends BaseController if ($messageBag->count() == 0) { // has been saved, return to index: Session::flash('success', 'Transaction updated!'); - Event::fire('piggybank.updateTransfer', [$journal]); // new and used. + Event::fire('transactionJournal.update', [$journal]); // new and used. if (Input::get('post_submit_action') == 'return_to_edit') { return Redirect::route('transactions.edit', $journal->id)->withInput(); diff --git a/app/lib/FireflyIII/Event/Piggybank.php b/app/lib/FireflyIII/Event/Piggybank.php index 9a4b0ff845..c856dfba05 100644 --- a/app/lib/FireflyIII/Event/Piggybank.php +++ b/app/lib/FireflyIII/Event/Piggybank.php @@ -110,6 +110,9 @@ class Piggybank */ public function storeTransfer(\TransactionJournal $journal, $piggybankId = 0) { + if ($piggybankId == 0 || is_null($piggybankId)) { + return; + } /** @var \FireflyIII\Database\Piggybank $repository */ $repository = \App::make('FireflyIII\Database\Piggybank'); @@ -176,12 +179,16 @@ class Piggybank */ public function subscribe(Dispatcher $events) { + // triggers on piggy bank events: $events->listen('piggybank.addMoney', 'FireflyIII\Event\Piggybank@addMoney'); $events->listen('piggybank.removeMoney', 'FireflyIII\Event\Piggybank@removeMoney'); - $events->listen('piggybank.storeTransfer', 'FireflyIII\Event\Piggybank@storeTransfer'); + $events->listen('piggybank.storePiggybank', 'FireflyIII\Event\Piggybank@storePiggybank'); - $events->listen('piggybank.destroyTransfer', 'FireflyIII\Event\Piggybank@destroyTransfer'); - $events->listen('piggybank.updateTransfer', 'FireflyIII\Event\Piggybank@updateTransfer'); + + // triggers when others are updated. + $events->listen('transactionJournal.store', 'FireflyIII\Event\Piggybank@storeTransfer'); + $events->listen('transactionJournal.update', 'FireflyIII\Event\Piggybank@updateTransfer'); + $events->listen('transactionJournal.destroy', 'FireflyIII\Event\Piggybank@destroyTransfer'); } public function updateTransfer(\TransactionJournal $journal)