diff --git a/app/Jobs/Company/CompanyExport.php b/app/Jobs/Company/CompanyExport.php index bc5b9101bc..6c80ae34b6 100644 --- a/app/Jobs/Company/CompanyExport.php +++ b/app/Jobs/Company/CompanyExport.php @@ -18,6 +18,7 @@ use App\Libraries\MultiDB; use App\Mail\DownloadBackup; use App\Models\Company; use App\Models\CreditInvitation; +use App\Models\EInvoicingToken; use App\Models\InvoiceInvitation; use App\Models\PurchaseOrderInvitation; use App\Models\QuoteInvitation; @@ -622,10 +623,21 @@ class CompanyExport implements ShouldQueue //write to tmp and email to owner(); + if(Ninja::isSelfHost()) { + $this->export_data['e_invoicing_tokens'] = EInvoicingToken::all()->makeHidden(['id'])->all(); + } + else { + $this->export_data['e_invoicing_tokens'] = []; + } + + $x = $this->writer->collection('e_invoicing_tokens'); + $x->addItems($this->export_data['e_invoicing_tokens']); + $this->export_data = null; + + //////////////////////////////////// fine //////////////////////////////////// $this->writer->end(); - - + $this->zipAndSend(); return true; diff --git a/app/Jobs/Company/CompanyImport.php b/app/Jobs/Company/CompanyImport.php index 0a331ad41f..ed5155ed43 100644 --- a/app/Jobs/Company/CompanyImport.php +++ b/app/Jobs/Company/CompanyImport.php @@ -11,69 +11,70 @@ namespace App\Jobs\Company; -use App\Exceptions\ImportCompanyFailed; -use App\Exceptions\NonExistingMigrationFile; -use App\Factory\ClientContactFactory; -use App\Jobs\Mail\NinjaMailerJob; -use App\Jobs\Mail\NinjaMailerObject; -use App\Libraries\MultiDB; -use App\Mail\Import\CompanyImportFailure; -use App\Mail\Import\ImportCompleted; -use App\Models\Activity; +use ZipArchive; +use App\Models\Task; +use App\Models\User; +use App\Utils\Ninja; +use App\Models\Quote; use App\Models\Backup; -use App\Models\BankIntegration; -use App\Models\BankTransaction; use App\Models\Client; -use App\Models\ClientContact; -use App\Models\ClientGatewayToken; -use App\Models\Company; -use App\Models\CompanyGateway; -use App\Models\CompanyLedger; -use App\Models\CompanyUser; use App\Models\Credit; -use App\Models\CreditInvitation; use App\Models\Design; -use App\Models\Document; +use App\Models\Vendor; +use App\Models\Company; use App\Models\Expense; -use App\Models\ExpenseCategory; -use App\Models\GroupSetting; use App\Models\Invoice; -use App\Models\InvoiceInvitation; use App\Models\Payment; -use App\Models\Paymentable; -use App\Models\PaymentTerm; use App\Models\Product; use App\Models\Project; +use App\Models\TaxRate; +use App\Models\Webhook; +use App\Utils\TempFile; +use App\Models\Activity; +use App\Models\Document; +use App\Libraries\MultiDB; +use App\Models\TaskStatus; +use App\Models\CompanyUser; +use App\Models\Paymentable; +use App\Models\PaymentTerm; +use Illuminate\Support\Str; +use App\Models\GroupSetting; +use App\Models\Subscription; +use JsonMachine\JsonMachine; +use App\Models\ClientContact; +use App\Models\CompanyLedger; use App\Models\PurchaseOrder; -use App\Models\PurchaseOrderInvitation; -use App\Models\Quote; +use App\Models\VendorContact; +use Illuminate\Bus\Queueable; +use App\Models\CompanyGateway; +use App\Models\BankIntegration; +use App\Models\BankTransaction; +use App\Models\EInvoicingToken; +use App\Models\ExpenseCategory; use App\Models\QuoteInvitation; +use App\Utils\Traits\MakesHash; +use App\Models\CreditInvitation; use App\Models\RecurringExpense; use App\Models\RecurringInvoice; -use App\Models\RecurringInvoiceInvitation; -use App\Models\Subscription; -use App\Models\Task; -use App\Models\TaskStatus; -use App\Models\TaxRate; -use App\Models\User; -use App\Models\Vendor; -use App\Models\VendorContact; -use App\Models\Webhook; -use App\Utils\Ninja; -use App\Utils\TempFile; +use App\Jobs\Mail\NinjaMailerJob; +use App\Models\InvoiceInvitation; +use App\Models\ClientGatewayToken; +use Illuminate\Support\Facades\App; +use App\Jobs\Mail\NinjaMailerObject; +use App\Mail\Import\ImportCompleted; +use App\Factory\ClientContactFactory; use App\Utils\Traits\GeneratesCounter; -use App\Utils\Traits\MakesHash; -use Illuminate\Bus\Queueable; +use Illuminate\Queue\SerializesModels; +use App\Exceptions\ImportCompanyFailed; +use App\Models\PurchaseOrderInvitation; +use Illuminate\Support\Facades\Storage; +use Illuminate\Queue\InteractsWithQueue; +use App\Mail\Import\CompanyImportFailure; +use App\Models\RecurringInvoiceInvitation; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; -use Illuminate\Queue\InteractsWithQueue; -use Illuminate\Queue\SerializesModels; -use Illuminate\Support\Facades\App; -use Illuminate\Support\Facades\Storage; -use Illuminate\Support\Str; use JsonMachine\JsonDecoder\ExtJsonDecoder; -use JsonMachine\JsonMachine; -use ZipArchive; +use App\Exceptions\NonExistingMigrationFile; class CompanyImport implements ShouldQueue { @@ -156,6 +157,7 @@ class CompanyImport implements ShouldQueue 'bank_transactions', 'payments', 'schedulers', + 'e_invoicing_tokens', ]; private $company_properties = [ @@ -638,6 +640,16 @@ class CompanyImport implements ShouldQueue return $this; } + private function import_e_invoicing_tokens() + { + $this->genericNewClassImport( + EInvoicingToken::class, + [], + [], + 'e_invoicing_tokens' + ); + } + private function import_schedulers() { $this->genericNewClassImport(