Преглед изворни кода

Fix transaction seeder creation

3.x
Andrew Wallo пре 1 година
родитељ
комит
00ab0a9860
1 измењених фајлова са 12 додато и 4 уклоњено
  1. 12
    4
      database/factories/Accounting/TransactionFactory.php

+ 12
- 4
database/factories/Accounting/TransactionFactory.php Прегледај датотеку

@@ -38,9 +38,18 @@ class TransactionFactory extends Factory
38 38
     public function configure(): static
39 39
     {
40 40
         return $this->afterCreating(function (Transaction $transaction) {
41
-            $transaction->journalEntries()->create([
41
+            $chartAccount = $transaction->account;
42
+            $bankAccount = $transaction->bankAccount->account;
43
+
44
+            $debitAccount = $transaction->type->isWithdrawal() ? $chartAccount : $bankAccount;
45
+            $creditAccount = $transaction->type->isWithdrawal() ? $bankAccount : $chartAccount;
46
+
47
+            if ($debitAccount === null || $creditAccount === null) {
48
+                return;
49
+            }
50
+
51
+            $debitAccount->journalEntries()->create([
42 52
                 'company_id' => $transaction->company_id,
43
-                'account_id' => $transaction->account_id,
44 53
                 'transaction_id' => $transaction->id,
45 54
                 'type' => 'debit',
46 55
                 'amount' => $transaction->amount,
@@ -49,9 +58,8 @@ class TransactionFactory extends Factory
49 58
                 'updated_by' => $transaction->updated_by,
50 59
             ]);
51 60
 
52
-            $transaction->journalEntries()->create([
61
+            $creditAccount->journalEntries()->create([
53 62
                 'company_id' => $transaction->company_id,
54
-                'account_id' => $transaction->account_id,
55 63
                 'transaction_id' => $transaction->id,
56 64
                 'type' => 'credit',
57 65
                 'amount' => $transaction->amount,

Loading…
Откажи
Сачувај