mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-15 16:57:09 +00:00
Fix display for new transaction store.
This commit is contained in:
@@ -178,6 +178,7 @@ class TransactionController extends Controller
|
|||||||
* @param TransactionRequest $request
|
* @param TransactionRequest $request
|
||||||
*
|
*
|
||||||
* @return \Illuminate\Http\JsonResponse
|
* @return \Illuminate\Http\JsonResponse
|
||||||
|
* @throws \FireflyIII\Exceptions\FireflyException
|
||||||
*/
|
*/
|
||||||
public function store(TransactionRequest $request)
|
public function store(TransactionRequest $request)
|
||||||
{
|
{
|
||||||
@@ -188,16 +189,35 @@ class TransactionController extends Controller
|
|||||||
$factory->setUser(auth()->user());
|
$factory->setUser(auth()->user());
|
||||||
$journal = $factory->create($data);
|
$journal = $factory->create($data);
|
||||||
|
|
||||||
exit;
|
|
||||||
|
|
||||||
$manager = new Manager();
|
$manager = new Manager();
|
||||||
$baseUrl = $request->getSchemeAndHttpHost() . '/api/v1';
|
$baseUrl = $request->getSchemeAndHttpHost() . '/api/v1';
|
||||||
$manager->setSerializer(new JsonApiSerializer($baseUrl));
|
$manager->setSerializer(new JsonApiSerializer($baseUrl));
|
||||||
|
|
||||||
$resource = new Item($bill, new BillTransformer($this->parameters), 'bills');
|
// add include parameter:
|
||||||
|
$include = $request->get('include') ?? '';
|
||||||
|
$manager->parseIncludes($include);
|
||||||
|
|
||||||
|
// needs a lot of extra data to match the journal collector. Or just expand that one.
|
||||||
|
// collect transactions using the journal collector
|
||||||
|
$collector = new JournalCollector;
|
||||||
|
$collector->setUser(auth()->user());
|
||||||
|
$collector->withOpposingAccount()->withCategoryInformation()->withBudgetInformation();
|
||||||
|
// filter on specific journals.
|
||||||
|
$collector->setJournals(new Collection([$journal]));
|
||||||
|
|
||||||
|
// add filter to remove transactions:
|
||||||
|
$transactionType = $journal->transactionType->type;
|
||||||
|
if ($transactionType === TransactionType::WITHDRAWAL) {
|
||||||
|
$collector->addFilter(PositiveAmountFilter::class);
|
||||||
|
}
|
||||||
|
if (!($transactionType === TransactionType::WITHDRAWAL)) {
|
||||||
|
$collector->addFilter(NegativeAmountFilter::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
$transaction = $collector->getJournals();
|
||||||
|
$resource = new FractalCollection($transaction, new TransactionTransformer($this->parameters), 'transactions');
|
||||||
|
|
||||||
return response()->json($manager->createData($resource)->toArray());
|
return response()->json($manager->createData($resource)->toArray());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user