From 67044f9dd3ee7edf1ebf6d2b9cc1b94d2f45118d Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 5 Mar 2020 07:30:10 +1100 Subject: [PATCH] Migration improvements: (#3422) - Added option to force the migration - Cleaned imports --- .../Controllers/Migration/StepsController.php | 38 +++++++++---------- app/Services/Migration/CompleteService.php | 9 +++++ resources/views/migration/companies.blade.php | 7 +++- 3 files changed, 33 insertions(+), 21 deletions(-) diff --git a/app/Http/Controllers/Migration/StepsController.php b/app/Http/Controllers/Migration/StepsController.php index 3e9e1459a237..a8d3df3ba330 100644 --- a/app/Http/Controllers/Migration/StepsController.php +++ b/app/Http/Controllers/Migration/StepsController.php @@ -2,29 +2,29 @@ namespace App\Http\Controllers\Migration; -use App\Http\Controllers\BaseController; -use App\Http\Requests\MigrationAuthRequest; -use App\Http\Requests\MigrationCompaniesRequest; -use App\Http\Requests\MigrationEndpointRequest; -use App\Http\Requests\MigrationTypeRequest; -use App\Libraries\Utils; -use App\Models\AccountGateway; -use App\Models\AccountGatewaySettings; -use App\Models\AccountGatewayToken; -use App\Models\Contact; +use App\Models\User; use App\Models\Credit; -use App\Models\Document; +use App\Models\Contact; use App\Models\Invoice; use App\Models\Payment; -use App\Models\PaymentMethod; use App\Models\Product; use App\Models\TaxRate; -use App\Models\User; -use App\Services\Migration\AuthService; -use App\Services\Migration\CompanyService; -use App\Services\Migration\CompleteService; +use App\Libraries\Utils; +use App\Models\Document; +use App\Models\PaymentMethod; +use App\Models\AccountGateway; +use App\Models\AccountGatewayToken; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Crypt; +use App\Models\AccountGatewaySettings; +use App\Services\Migration\AuthService; +use App\Http\Controllers\BaseController; +use App\Services\Migration\CompanyService; +use App\Http\Requests\MigrationAuthRequest; +use App\Http\Requests\MigrationTypeRequest; +use App\Services\Migration\CompleteService; +use App\Http\Requests\MigrationEndpointRequest; +use App\Http\Requests\MigrationCompaniesRequest; class StepsController extends BaseController { @@ -147,7 +147,8 @@ class StepsController extends BaseController foreach ($request->companies as $company) { $completeService = (new CompleteService(session('MIGRATION_ACCOUNT_TOKEN'))) ->file($this->getMigrationFile()) - ->company($company) + ->force(array_key_exists('force', $company)) + ->company($company['id']) ->endpoint(session('MIGRATION_ENDPOINT')) ->start(); } @@ -257,9 +258,6 @@ class StepsController extends BaseController public function getCompanySettings() { - // In v1: custom_invoice_taxes1 & custom_invoice_taxes2, v2: 'invoice_taxes'. What do to with this? - // V1: invoice_number_prefix, v2: invoice_number_pattern.. same with quote_number, client_number, - return [ 'timezone_id' => $this->account->timezone_id ? (string)$this->account->timezone_id : '15', 'date_format_id' => $this->account->date_format_id ? (string)$this->account->date_format_id : '1', diff --git a/app/Services/Migration/CompleteService.php b/app/Services/Migration/CompleteService.php index 1f07ce5b0f94..959714df1b89 100644 --- a/app/Services/Migration/CompleteService.php +++ b/app/Services/Migration/CompleteService.php @@ -15,6 +15,7 @@ class CompleteService protected $uri = '/api/v1/migration/start/'; protected $errors = []; protected $isSuccessful; + protected $force = false; public function __construct(string $token) @@ -29,6 +30,13 @@ class CompleteService return $this; } + public function force($option) + { + $this->force = $option; + + return $this; + } + public function company($company) { $this->company = $company; @@ -47,6 +55,7 @@ class CompleteService { $body = [ 'migration' => \Unirest\Request\Body::file($this->file, 'application/zip'), + 'force' => $this->force, ]; $response = Request::post($this->getUrl(), $this->getHeaders(), $body); diff --git a/resources/views/migration/companies.blade.php b/resources/views/migration/companies.blade.php index 18cc11a82281..19c8b9374303 100644 --- a/resources/views/migration/companies.blade.php +++ b/resources/views/migration/companies.blade.php @@ -17,11 +17,16 @@ @foreach($companies as $company)
- +
+
+ + + * All current company data will be wiped. +
@endforeach