mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-30 10:33:30 +00:00
Fix issue with recurring transactions and piggy banks.
This commit is contained in:
@@ -246,7 +246,7 @@ class TransactionController extends Controller
|
|||||||
$data['user'] = auth()->user()->id;
|
$data['user'] = auth()->user()->id;
|
||||||
$journal = $repository->store($data);
|
$journal = $repository->store($data);
|
||||||
|
|
||||||
event(new StoredTransactionJournal($journal, 0));
|
event(new StoredTransactionJournal($journal));
|
||||||
|
|
||||||
$manager = new Manager();
|
$manager = new Manager();
|
||||||
$baseUrl = $request->getSchemeAndHttpHost() . '/api/v1';
|
$baseUrl = $request->getSchemeAndHttpHost() . '/api/v1';
|
||||||
|
@@ -38,18 +38,14 @@ class StoredTransactionJournal extends Event
|
|||||||
|
|
||||||
/** @var TransactionJournal The journal that was stored. */
|
/** @var TransactionJournal The journal that was stored. */
|
||||||
public $journal;
|
public $journal;
|
||||||
/** @var int The piggy bank ID. */
|
|
||||||
public $piggyBankId;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new event instance.
|
* Create a new event instance.
|
||||||
*
|
*
|
||||||
* @param TransactionJournal $journal
|
* @param TransactionJournal $journal
|
||||||
* @param int $piggyBankId
|
|
||||||
*/
|
*/
|
||||||
public function __construct(TransactionJournal $journal, int $piggyBankId)
|
public function __construct(TransactionJournal $journal)
|
||||||
{
|
{
|
||||||
$this->journal = $journal;
|
$this->journal = $journal;
|
||||||
$this->piggyBankId = $piggyBankId;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -400,7 +400,7 @@ class SingleController extends Controller
|
|||||||
session()->flash('info', $this->attachments->getMessages()->get('attachments'));
|
session()->flash('info', $this->attachments->getMessages()->get('attachments'));
|
||||||
}
|
}
|
||||||
|
|
||||||
event(new StoredTransactionJournal($journal, $data['piggy_bank_id']));
|
event(new StoredTransactionJournal($journal));
|
||||||
|
|
||||||
session()->flash('success_uri', route('transactions.show', [$journal->id]));
|
session()->flash('success_uri', route('transactions.show', [$journal->id]));
|
||||||
session()->flash('success', (string)trans('firefly.stored_journal', ['description' => $journal->description]));
|
session()->flash('success', (string)trans('firefly.stored_journal', ['description' => $journal->description]));
|
||||||
|
@@ -48,6 +48,8 @@ namespace FireflyIII\Jobs;
|
|||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use FireflyIII\Events\RequestedReportOnJournals;
|
use FireflyIII\Events\RequestedReportOnJournals;
|
||||||
use FireflyIII\Events\StoredTransactionJournal;
|
use FireflyIII\Events\StoredTransactionJournal;
|
||||||
|
use FireflyIII\Factory\PiggyBankEventFactory;
|
||||||
|
use FireflyIII\Factory\PiggyBankFactory;
|
||||||
use FireflyIII\Models\Recurrence;
|
use FireflyIII\Models\Recurrence;
|
||||||
use FireflyIII\Models\RecurrenceMeta;
|
use FireflyIII\Models\RecurrenceMeta;
|
||||||
use FireflyIII\Models\RecurrenceRepetition;
|
use FireflyIII\Models\RecurrenceRepetition;
|
||||||
@@ -356,9 +358,23 @@ class CreateRecurringTransactions implements ShouldQueue
|
|||||||
|
|
||||||
// get piggy bank ID from meta data:
|
// get piggy bank ID from meta data:
|
||||||
$piggyBankId = $this->getPiggyId($recurrence);
|
$piggyBankId = $this->getPiggyId($recurrence);
|
||||||
|
Log::debug(sprintf('Piggy bank ID for recurrence #%d is #%d', $recurrence->id, $piggyBankId));
|
||||||
|
|
||||||
// trigger event:
|
// trigger event:
|
||||||
event(new StoredTransactionJournal($journal, $piggyBankId));
|
event(new StoredTransactionJournal($journal));
|
||||||
|
|
||||||
|
// link to piggy bank:
|
||||||
|
/** @var PiggyBankFactory $factory */
|
||||||
|
$factory = app(PiggyBankFactory::class);
|
||||||
|
$factory->setUser($recurrence->user);
|
||||||
|
|
||||||
|
$piggyBank = $factory->find($piggyBankId, null);
|
||||||
|
if (null !== $piggyBank) {
|
||||||
|
/** @var PiggyBankEventFactory $factory */
|
||||||
|
$factory = app(PiggyBankEventFactory::class);
|
||||||
|
$factory->create($journal, $piggyBank);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$collection->push($journal);
|
$collection->push($journal);
|
||||||
// update recurring thing:
|
// update recurring thing:
|
||||||
|
Reference in New Issue
Block a user