mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
new language strings and updated code
This commit is contained in:
@@ -45,15 +45,6 @@ use Log;
|
||||
*/
|
||||
trait RecurringTransactionTrait
|
||||
{
|
||||
/**
|
||||
* @param null|string $expectedType
|
||||
* @param int|null $accountId
|
||||
* @param null|string $accountName
|
||||
*
|
||||
* @return Account|null
|
||||
*/
|
||||
abstract public function findAccount(?string $expectedType, ?int $accountId, ?string $accountName): ?Account;
|
||||
|
||||
/**
|
||||
* @param Recurrence $recurrence
|
||||
* @param array $repetitions
|
||||
@@ -76,8 +67,12 @@ trait RecurringTransactionTrait
|
||||
}
|
||||
|
||||
/**
|
||||
* Store transactions of a recurring transactions. It's complex but readable.
|
||||
*
|
||||
* @param Recurrence $recurrence
|
||||
* @param array $transactions
|
||||
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
|
||||
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
|
||||
*/
|
||||
public function createTransactions(Recurrence $recurrence, array $transactions): void
|
||||
{
|
||||
@@ -103,9 +98,8 @@ trait RecurringTransactionTrait
|
||||
$factory = app(TransactionCurrencyFactory::class);
|
||||
$currency = $factory->find($array['currency_id'], $array['currency_code']);
|
||||
$foreignCurrency = $factory->find($array['foreign_currency_id'], $array['foreign_currency_code']);
|
||||
$defaultCurrency = app('amount')->getDefaultCurrencyByUser($recurrence->user);
|
||||
if (null === $currency) {
|
||||
$currency = $defaultCurrency;
|
||||
$currency = app('amount')->getDefaultCurrencyByUser($recurrence->user);
|
||||
}
|
||||
$transaction = new RecurrenceTransaction(
|
||||
[
|
||||
@@ -178,6 +172,17 @@ trait RecurringTransactionTrait
|
||||
}
|
||||
|
||||
/**
|
||||
* @param null|string $expectedType
|
||||
* @param int|null $accountId
|
||||
* @param null|string $accountName
|
||||
*
|
||||
* @return Account|null
|
||||
*/
|
||||
abstract public function findAccount(?string $expectedType, ?int $accountId, ?string $accountName): ?Account;
|
||||
|
||||
/**
|
||||
* Update meta data for recurring transaction.
|
||||
*
|
||||
* @param Recurrence $recurrence
|
||||
* @param array $data
|
||||
*/
|
||||
@@ -186,6 +191,22 @@ trait RecurringTransactionTrait
|
||||
// only two special meta fields right now. Let's just hard code them.
|
||||
$piggyId = (int)($data['meta']['piggy_bank_id'] ?? 0.0);
|
||||
$piggyName = $data['meta']['piggy_bank_name'] ?? '';
|
||||
$this->updatePiggyBank($recurrence, $piggyId, $piggyName);
|
||||
|
||||
|
||||
$tags = $data['meta']['tags'] ?? [];
|
||||
$this->updateTags($recurrence, $tags);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Recurrence $recurrence
|
||||
* @param int $piggyId
|
||||
* @param string $piggyName
|
||||
*/
|
||||
protected function updatePiggyBank(Recurrence $recurrence, int $piggyId, string $piggyName): void
|
||||
{
|
||||
|
||||
/** @var PiggyBankFactory $factory */
|
||||
$factory = app(PiggyBankFactory::class);
|
||||
$factory->setUser($recurrence->user);
|
||||
@@ -203,9 +224,14 @@ trait RecurringTransactionTrait
|
||||
// delete if present
|
||||
$recurrence->recurrenceMeta()->where('name', 'piggy_bank_id')->delete();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$tags = $data['meta']['tags'] ?? [];
|
||||
/**
|
||||
* @param Recurrence $recurrence
|
||||
* @param array $tagst
|
||||
*/
|
||||
protected function updateTags(Recurrence $recurrence, array $tags): void
|
||||
{
|
||||
if (\count($tags) > 0) {
|
||||
/** @var RecurrenceMeta $entry */
|
||||
$entry = $recurrence->recurrenceMeta()->where('name', 'tags')->first();
|
||||
|
Reference in New Issue
Block a user