mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-11-18 15:39:50 +00:00
Merge category and budget info with the transaction array #2483
This commit is contained in:
@@ -207,40 +207,33 @@ class RecurrenceTransformer extends AbstractTransformer
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param RecurrenceTransaction $transaction
|
* @param RecurrenceTransaction $transaction
|
||||||
|
* @param array $array
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
private function getTransactionMeta(RecurrenceTransaction $transaction): array
|
private function getTransactionMeta(RecurrenceTransaction $transaction, array $array): array
|
||||||
{
|
{
|
||||||
$return = [];
|
|
||||||
// get meta data for each transaction:
|
|
||||||
/** @var RecurrenceTransactionMeta $transactionMeta */
|
/** @var RecurrenceTransactionMeta $transactionMeta */
|
||||||
foreach ($transaction->recurrenceTransactionMeta as $transactionMeta) {
|
foreach ($transaction->recurrenceTransactionMeta as $transactionMeta) {
|
||||||
$transactionMetaArray = [
|
|
||||||
'name' => $transactionMeta->name,
|
|
||||||
'value' => $transactionMeta->value,
|
|
||||||
];
|
|
||||||
switch ($transactionMeta->name) {
|
switch ($transactionMeta->name) {
|
||||||
case 'category_name':
|
case 'category_name':
|
||||||
$category = $this->factory->findOrCreate(null, $transactionMeta->value);
|
$category = $this->factory->findOrCreate(null, $transactionMeta->value);
|
||||||
if (null !== $category) {
|
if (null !== $category) {
|
||||||
$transactionMetaArray['category_id'] = $category->id;
|
$array['category_id'] = $category->id;
|
||||||
$transactionMetaArray['category_name'] = $category->name;
|
$array['category_name'] = $category->name;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'budget_id':
|
case 'budget_id':
|
||||||
$budget = $this->budgetRepos->findNull((int)$transactionMeta->value);
|
$budget = $this->budgetRepos->findNull((int)$transactionMeta->value);
|
||||||
if (null !== $budget) {
|
if (null !== $budget) {
|
||||||
$transactionMetaArray['budget_id'] = $budget->id;
|
$array['budget_id'] = $budget->id;
|
||||||
$transactionMetaArray['budget_name'] = $budget->name;
|
$array['budget_name'] = $budget->name;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// store transaction meta data in transaction
|
|
||||||
$return[] = $transactionMetaArray;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $return;
|
return $array;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -315,8 +308,8 @@ class RecurrenceTransformer extends AbstractTransformer
|
|||||||
'amount' => $amount,
|
'amount' => $amount,
|
||||||
'foreign_amount' => $foreignAmount,
|
'foreign_amount' => $foreignAmount,
|
||||||
'description' => $transaction->description,
|
'description' => $transaction->description,
|
||||||
'meta' => $this->getTransactionMeta($transaction),
|
|
||||||
];
|
];
|
||||||
|
$transactionArray = $this->getTransactionMeta($transaction, $transactionArray);
|
||||||
if (null !== $transaction->foreign_currency_id) {
|
if (null !== $transaction->foreign_currency_id) {
|
||||||
$transactionArray['foreign_currency_code'] = $transaction->foreignCurrency->code;
|
$transactionArray['foreign_currency_code'] = $transaction->foreignCurrency->code;
|
||||||
$transactionArray['foreign_currency_symbol'] = $transaction->foreignCurrency->symbol;
|
$transactionArray['foreign_currency_symbol'] = $transaction->foreignCurrency->symbol;
|
||||||
|
|||||||
Reference in New Issue
Block a user