mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-05 12:12:18 +00:00
Add some factory stuff before another refactoring.
This commit is contained in:
@@ -23,7 +23,6 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Factory;
|
||||
|
||||
use FireflyIII\Events\StoredTransactionJournal;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Bill;
|
||||
use FireflyIII\Models\PiggyBank;
|
||||
@@ -74,8 +73,8 @@ class TransactionJournalFactory
|
||||
public function create(array $data): TransactionJournal
|
||||
{
|
||||
$type = $this->findTransactionType($data['type']);
|
||||
$bill = $this->findBill($data['bill_id'], $data['bill_name']);
|
||||
$piggyBank = $this->findPiggyBank($data['piggy_bank_id'], $data['piggy_bank_name']);
|
||||
//$bill = $this->findBill($data['bill_id'], $data['bill_name']);
|
||||
//$piggyBank = $this->findPiggyBank($data['piggy_bank_id'], $data['piggy_bank_name']);
|
||||
$defaultCurrency = app('amount')->getDefaultCurrencyByUser($this->user);
|
||||
$values = [
|
||||
'user_id' => $data['user'],
|
||||
@@ -91,10 +90,6 @@ class TransactionJournalFactory
|
||||
|
||||
$journal = $this->repository->storeBasic($values);
|
||||
|
||||
// todo link other stuff to journal (meta-data etc). tags
|
||||
// todo
|
||||
// start creating transactions:
|
||||
|
||||
$factory = app(TransactionFactory::class);
|
||||
$factory->setUser($this->user);
|
||||
|
||||
@@ -112,6 +107,24 @@ class TransactionJournalFactory
|
||||
$factory->create($journal, $piggyBank);
|
||||
}
|
||||
|
||||
// store tags and link them:
|
||||
/** @var TagFactory $factory */
|
||||
$factory = app(TagFactory::class);
|
||||
$factory->setUser($journal->user);
|
||||
foreach ($data['tags'] as $string) {
|
||||
$tagData = [
|
||||
'tag' => $string,
|
||||
'date' => null,
|
||||
'description' => null,
|
||||
'latitude' => null,
|
||||
'longitude' => null,
|
||||
'zoom_level' => null,
|
||||
'user' => $journal->user,
|
||||
];
|
||||
$tag = $factory->create($tagData);
|
||||
$this->repository->addTag($journal, $tag);
|
||||
}
|
||||
|
||||
return $journal;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user