mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-23 20:00:33 -04:00
Company Ledger import
This commit is contained in:
parent
088fefbb34
commit
9b5a6f3468
@ -24,6 +24,8 @@ use App\Models\CompanyToken;
|
||||
use App\Models\CompanyUser;
|
||||
use App\Models\Credit;
|
||||
use App\Models\CreditInvitation;
|
||||
use App\Models\Design;
|
||||
use App\Models\Document;
|
||||
use App\Models\Expense;
|
||||
use App\Models\ExpenseCategory;
|
||||
use App\Models\GroupSetting;
|
||||
@ -839,6 +841,101 @@ class ImportCompanyTest extends TestCase
|
||||
$this->assertEquals(3, CompanyLedger::count());
|
||||
|
||||
// Company Ledger
|
||||
|
||||
// Designs
|
||||
|
||||
$this->genericImport(Design::class,
|
||||
['company_id', 'user_id'],
|
||||
[
|
||||
['users' => 'user_id'],
|
||||
],
|
||||
'designs',
|
||||
'name');
|
||||
|
||||
// Designs
|
||||
|
||||
// Documents
|
||||
$this->documentsImport();
|
||||
// Documents
|
||||
}
|
||||
|
||||
private function documentsImport()
|
||||
{
|
||||
|
||||
foreach($this->backup_json_object->documents as $document)
|
||||
{
|
||||
|
||||
$new_document = new Document();
|
||||
$new_document->user_id = $this->transformId('users', $document->user_id);
|
||||
$new_document->assigned_user_id = $this->transformId('users', $document->assigned_user_id);
|
||||
$new_document->company_id = $this->company->id;
|
||||
$new_document->project_id = $this->transformId('projects', $document->project_id);
|
||||
$new_document->vendor_id = $this->transformId('vendors', $document->vendor_id);
|
||||
$new_document->url = $document->url;
|
||||
$new_document->preview = $document->preview;
|
||||
$new_document->name = $document->name;
|
||||
$new_document->type = $document->type;
|
||||
$new_document->disk = $document->disk;
|
||||
$new_document->hash = $document->hash;
|
||||
$new_document->size = $document->size;
|
||||
$new_document->width = $document->width;
|
||||
$new_document->height = $document->height;
|
||||
$new_document->is_default = $document->is_default;
|
||||
$new_document->custom_value1 = $document->custom_value1;
|
||||
$new_document->custom_value2 = $document->custom_value2;
|
||||
$new_document->custom_value3 = $document->custom_value3;
|
||||
$new_document->custom_value4 = $document->custom_value4;
|
||||
$new_document->deleted_at = $document->deleted_at;
|
||||
$new_document->documentable_id = $this->transformDocumentId($document->documentable_id, $document->documentable_type);
|
||||
$new_document->documentable_type = $document->documentable_type;
|
||||
|
||||
$new_document->save(['timestamps' => false]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private function transformDocumentId($id, $type)
|
||||
{
|
||||
switch ($type) {
|
||||
case Company::class:
|
||||
return $this->company->id;
|
||||
break;
|
||||
case Client::class:
|
||||
return $this->transformId('clients', $id);
|
||||
break;
|
||||
case ClientContact::class:
|
||||
return $this->transformId('client_contacts', $id);
|
||||
break;
|
||||
case Credit::class:
|
||||
return $this->transformId('credits', $id);
|
||||
break;
|
||||
case Expense::class:
|
||||
return $this->transformId('expenses', $id);
|
||||
break;
|
||||
case Invoice::class:
|
||||
return $this->transformId('invoices', $id);
|
||||
break;
|
||||
case Payment::class:
|
||||
return $this->transformId('payments', $id);
|
||||
break;
|
||||
case Product::class:
|
||||
return $this->transformId('products', $id);
|
||||
break;
|
||||
case Quote::class:
|
||||
return $this->transformId('quotes', $id);
|
||||
break;
|
||||
case RecurringInvoice::class:
|
||||
return $this->transformId('recurring_invoices', $id);
|
||||
break;
|
||||
case Company::class:
|
||||
return $this->transformId('clients', $id);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
# code...
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private function paymentablesImport()
|
||||
|
Loading…
x
Reference in New Issue
Block a user