From 7edadc4f83c033f709799609fc0f226f747d7665 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 28 Dec 2021 09:31:32 +1100 Subject: [PATCH] Fixes for import --- app/Jobs/Company/CompanyImport.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/app/Jobs/Company/CompanyImport.php b/app/Jobs/Company/CompanyImport.php index 8c4ee1bb0c16..802ecc7dd017 100644 --- a/app/Jobs/Company/CompanyImport.php +++ b/app/Jobs/Company/CompanyImport.php @@ -445,7 +445,7 @@ class CompanyImport implements ShouldQueue { //unset / transforms / object_property / match_key $this->genericImport(RecurringExpense::class, - ['assigned_user_id', 'user_id', 'client_id', 'company_id', 'id', 'hashed_id', 'project_id', 'vendor_id'], + ['assigned_user_id', 'user_id', 'client_id', 'company_id', 'id', 'hashed_id', 'project_id', 'vendor_id','recurring_expense_id'], [ ['users' => 'user_id'], ['users' => 'assigned_user_id'], @@ -455,7 +455,7 @@ class CompanyImport implements ShouldQueue ['invoices' => 'invoice_id'], ['expense_categories' => 'category_id'], ], - 'expenses', + 'recurring_expenses', 'number'); return $this; @@ -796,7 +796,7 @@ class CompanyImport implements ShouldQueue $this->genericImport(Expense::class, - ['assigned_user_id', 'user_id', 'client_id', 'company_id', 'id', 'hashed_id', 'project_id','vendor_id'], + ['assigned_user_id', 'user_id', 'client_id', 'company_id', 'id', 'hashed_id', 'project_id','vendor_id','recurring_expense_id'], [ ['users' => 'user_id'], ['users' => 'assigned_user_id'], @@ -804,7 +804,7 @@ class CompanyImport implements ShouldQueue ['projects' => 'project_id'], ['vendors' => 'vendor_id'], ['invoices' => 'invoice_id'], - ['recurring_expenses' => 'recurring_expense_id'], + // ['recurring_expenses' => 'recurring_expense_id'], ['expense_categories' => 'category_id'], ], 'expenses', @@ -1360,6 +1360,13 @@ class CompanyImport implements ShouldQueue $new_obj->fill($obj_array); $new_obj->save(['timestamps' => false]); } + elseif($class == 'App\Models\RecurringExpense' && is_null($obj->{$match_key})){ + $new_obj = new RecurringExpense(); + $new_obj->company_id = $this->company->id; + $new_obj->fill($obj_array); + $new_obj->save(['timestamps' => false]); + $new_obj->number = $this->getNextRecurringExpenseNumber($client = Client::find($obj_array['client_id']), $new_obj); + } else{ $new_obj = $class::firstOrNew( [$match_key => $obj->{$match_key}, 'company_id' => $this->company->id],