From 158f94993e292cc02356cfb8c8efa1d3b05303fd Mon Sep 17 00:00:00 2001 From: = Date: Fri, 4 Jun 2021 21:39:35 +1000 Subject: [PATCH 1/2] Company Import --- app/Jobs/Company/CompanyImport.php | 41 +++++++++------------- tests/Feature/Import/ImportCompanyTest.php | 5 ++- 2 files changed, 18 insertions(+), 28 deletions(-) diff --git a/app/Jobs/Company/CompanyImport.php b/app/Jobs/Company/CompanyImport.php index 1efb528d8e2d..5106ca03c7ca 100644 --- a/app/Jobs/Company/CompanyImport.php +++ b/app/Jobs/Company/CompanyImport.php @@ -646,24 +646,8 @@ class CompanyImport implements ShouldQueue $this->backup_file->activities = $activities; - $this->genericImport(Activity::class, + $this->genericNewClassImport(Activity::class, [ - 'user_id', - 'company_id', - 'client_id', - 'client_contact_id', - 'project_id', - 'vendor_id', - 'payment_id', - 'invoice_id', - 'credit_id', - 'invitation_id', - 'task_id', - 'expense_id', - 'token_id', - 'quote_id', - 'subscription_id', - 'recurring_invoice_id', 'hashed_id', 'company_id', ], @@ -683,8 +667,7 @@ class CompanyImport implements ShouldQueue ['recurring_invoices' => 'recurring_invoice_id'], ['invitations' => 'invitation_id'], ], - 'activities', - 'created_at'); + 'activities'); return $this; @@ -955,16 +938,18 @@ class CompanyImport implements ShouldQueue $activity_invitation_key = false; - if($class instanceof Activity){ + if($class == 'App\Models\Activity'){ if(isset($obj->invitation_id)){ - +nlog($obj); if(isset($obj->invoice_id)) $activity_invitation_key = 'invoice_invitations'; elseif(isset($obj->quote_id)) $activity_invitation_key = 'quote_invitations'; elseif($isset($obj->credit_id)) $activity_invitation_key = 'credit_invitations'; + else + $activity_invitation_key = false; } } @@ -974,14 +959,20 @@ class CompanyImport implements ShouldQueue { foreach($transform as $key => $value) { - if($class instanceof Activity && $activity_invitation_key) + if($class == 'App\Models\Activity' && $activity_invitation_key){ $key = $activity_invitation_key; + nlog($class); + nlog("{$value} - {$key}"); + nlog($obj->{$value}); + nlog($activity_invitation_key); + } + $obj_array["{$value}"] = $this->transformId($key, $obj->{$value}); } } - if($class instanceof CompanyGateway) { + if($class == 'App\Models\CompanyGateway') { $obj_array['config'] = encrypt($obj_array['config']); } @@ -1116,13 +1107,13 @@ class CompanyImport implements ShouldQueue if (! array_key_exists($resource, $this->ids)) { nlog($this->ids); - nlog($this->backup_file->payments); + // nlog($this->backup_file->payments); throw new \Exception("Resource {$resource} not available."); } if (! array_key_exists("{$old}", $this->ids[$resource])) { nlog($this->ids); - nlog($this->backup_file->payments); + // nlog($this->backup_file->company_gateways); throw new \Exception("Missing {$resource} key: {$old}"); } diff --git a/tests/Feature/Import/ImportCompanyTest.php b/tests/Feature/Import/ImportCompanyTest.php index 0028579d493e..87099b58e937 100644 --- a/tests/Feature/Import/ImportCompanyTest.php +++ b/tests/Feature/Import/ImportCompanyTest.php @@ -769,7 +769,7 @@ class ImportCompanyTest extends TestCase $this->backup_json_object->activities = $activities; - $this->genericImport(Activity::class, + $this->genericNewClassImport(Activity::class, [ 'user_id', 'company_id', @@ -806,8 +806,7 @@ class ImportCompanyTest extends TestCase ['recurring_invoices' => 'recurring_invoice_id'], ['invitations' => 'invitation_id'], ], - 'activities', - 'created_at'); + 'activities'); $this->assertEquals(25, Activity::count()); From 2602144c7ab9b179133a8412e3a0d0510ba06687 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 5 Jun 2021 12:42:56 +1000 Subject: [PATCH 2/2] 5.1.71 --- VERSION.txt | 2 +- app/Jobs/Company/CompanyImport.php | 24 +++++++++--------------- config/ninja.php | 4 ++-- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/VERSION.txt b/VERSION.txt index 6c0a3ed796de..cc65bcfbd0d8 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -5.1.70 \ No newline at end of file +5.1.71 \ No newline at end of file diff --git a/app/Jobs/Company/CompanyImport.php b/app/Jobs/Company/CompanyImport.php index 5106ca03c7ca..486b74fde904 100644 --- a/app/Jobs/Company/CompanyImport.php +++ b/app/Jobs/Company/CompanyImport.php @@ -20,6 +20,7 @@ use App\Libraries\MultiDB; use App\Mail\DownloadBackup; use App\Mail\DownloadInvoices; use App\Models\Activity; +use App\Models\Backup; use App\Models\Client; use App\Models\ClientContact; use App\Models\ClientGatewayToken; @@ -677,7 +678,7 @@ class CompanyImport implements ShouldQueue { $this->genericImportWithoutCompany(Backup::class, - ['activity_id','hashed_id'], + ['hashed_id','id'], [ ['activities' => 'activity_id'], ], @@ -696,7 +697,7 @@ class CompanyImport implements ShouldQueue [ ['users' => 'user_id'], ['clients' => 'client_id'], - ['activities' => 'activity_id'], + // ['activities' => 'activity_id'], ], 'company_ledger', 'created_at'); @@ -941,15 +942,14 @@ class CompanyImport implements ShouldQueue if($class == 'App\Models\Activity'){ if(isset($obj->invitation_id)){ -nlog($obj); + if(isset($obj->invoice_id)) $activity_invitation_key = 'invoice_invitations'; elseif(isset($obj->quote_id)) $activity_invitation_key = 'quote_invitations'; elseif($isset($obj->credit_id)) $activity_invitation_key = 'credit_invitations'; - else - $activity_invitation_key = false; + } } @@ -959,15 +959,10 @@ nlog($obj); { foreach($transform as $key => $value) { - if($class == 'App\Models\Activity' && $activity_invitation_key){ + if($class == 'App\Models\Activity' && $activity_invitation_key && $key == 'invitations'){ $key = $activity_invitation_key; - nlog($class); - nlog("{$value} - {$key}"); - nlog($obj->{$value}); - nlog($activity_invitation_key); } - $obj_array["{$value}"] = $this->transformId($key, $obj->{$value}); } } @@ -1106,14 +1101,13 @@ nlog($obj); return null; if (! array_key_exists($resource, $this->ids)) { - nlog($this->ids); - // nlog($this->backup_file->payments); + // nlog($this->ids); throw new \Exception("Resource {$resource} not available."); } if (! array_key_exists("{$old}", $this->ids[$resource])) { - nlog($this->ids); - // nlog($this->backup_file->company_gateways); + // nlog($this->ids[$resource]); + nlog("searching for {$old} in {$resource}"); throw new \Exception("Missing {$resource} key: {$old}"); } diff --git a/config/ninja.php b/config/ninja.php index ccc31b9721a9..3a16f4672d3c 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -14,8 +14,8 @@ return [ 'require_https' => env('REQUIRE_HTTPS', true), 'app_url' => rtrim(env('APP_URL', ''), '/'), 'app_domain' => env('APP_DOMAIN', 'invoicing.co'), - 'app_version' => '5.1.70', - 'app_tag' => '5.1.70-release', + 'app_version' => '5.1.71', + 'app_tag' => '5.1.71-release', 'minimum_client_version' => '5.0.16', 'terms_version' => '1.0.1', 'api_secret' => env('API_SECRET', ''),