diff --git a/app/Jobs/Mail/NinjaMailerJob.php b/app/Jobs/Mail/NinjaMailerJob.php index f3730dece83b..ad58e767eebc 100644 --- a/app/Jobs/Mail/NinjaMailerJob.php +++ b/app/Jobs/Mail/NinjaMailerJob.php @@ -63,6 +63,7 @@ class NinjaMailerJob implements ShouldQueue { $this->nmo = $nmo; + $this->override = $override; } diff --git a/app/Jobs/Util/Import.php b/app/Jobs/Util/Import.php index 20b2645ef94d..d915966177c5 100644 --- a/app/Jobs/Util/Import.php +++ b/app/Jobs/Util/Import.php @@ -210,7 +210,7 @@ class Import implements ShouldQueue $this->{$method}($data[$import]); } - if(Ninja::isHosted()) + if(Ninja::isHosted() && array_key_exists('ninja_tokens', $data)) $this->processNinjaTokens($data['ninja_tokens']); $this->setInitialCompanyLedgerBalances(); @@ -225,6 +225,7 @@ class Import implements ShouldQueue ->send(new MigrationCompleted($this->company, implode("
",$check_data))); } catch(\Exception $e) { + nlog($e->getMessage()); } @@ -1671,6 +1672,7 @@ class Import implements ShouldQueue $ninja_client->postal_code = $local_company->settings->postal_code; $ninja_client->state = $local_company->settings->state; $ninja_client->country_id = $local_company->settings->country_id; + $ninja_client->custom_value1 = $local_company->company_key; $ninja_client->save(); @@ -1690,21 +1692,24 @@ class Import implements ShouldQueue private function processNinjaTokens(array $data) { - if(count($data) == 0) - $ninja_client = $this->buildNewUserPlan(); - $current_db = config('database.default'); + $local_company = Company::find($this->company->id); MultiDB::setDb('db-ninja-01'); + if($existing_client = Client::where('custom_value1', $local_company->company_key)->first()) + $ninja_client = $existing_client; + else + $ninja_client = $this->buildNewUserPlan(); + foreach($data as $token) { //get invoiceninja company_id $ninja_company = Company::where('id', config('ninja.ninja_default_company_id'))->first(); - $token['company_id'] = $ninja_client->company_id; - $token['client_id'] = $ninja_client->id; - $token['user_id'] = $ninja_client->user_id; + $token['company_id'] = $ninja_company->id; + $token['client_id'] = $ninja_client->id;///// + $token['user_id'] = $ninja_company->owner()->id; $token['company_gateway_id'] = config('ninja.ninja_default_company_gateway_id'); //todo diff --git a/app/Jobs/Util/StartMigration.php b/app/Jobs/Util/StartMigration.php index 2d8ba9c4272c..36c6257a9e01 100644 --- a/app/Jobs/Util/StartMigration.php +++ b/app/Jobs/Util/StartMigration.php @@ -20,6 +20,7 @@ use App\Libraries\MultiDB; use App\Mail\MigrationFailed; use App\Models\Company; use App\Models\User; +use App\Utils\Ninja; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; @@ -139,6 +140,10 @@ class StartMigration implements ShouldQueue $this->company->update_products = $update_product_flag; $this->company->save(); + + if(Ninja::isHosted()) + app('sentry')->captureException($e); + Mail::to($this->user->email, $this->user->name())->send(new MigrationFailed($e, $this->company->settings, $e->getMessage())); if (app()->environment() !== 'production') {