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\CompanyUser;
|
||||||
use App\Models\Credit;
|
use App\Models\Credit;
|
||||||
use App\Models\CreditInvitation;
|
use App\Models\CreditInvitation;
|
||||||
|
use App\Models\Design;
|
||||||
|
use App\Models\Document;
|
||||||
use App\Models\Expense;
|
use App\Models\Expense;
|
||||||
use App\Models\ExpenseCategory;
|
use App\Models\ExpenseCategory;
|
||||||
use App\Models\GroupSetting;
|
use App\Models\GroupSetting;
|
||||||
@ -839,6 +841,101 @@ class ImportCompanyTest extends TestCase
|
|||||||
$this->assertEquals(3, CompanyLedger::count());
|
$this->assertEquals(3, CompanyLedger::count());
|
||||||
|
|
||||||
// Company Ledger
|
// 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()
|
private function paymentablesImport()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user