mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-08 17:54:30 -04:00
Company import/expore recurring expenses
This commit is contained in:
parent
c4f09c23ba
commit
feab95caa7
@ -336,6 +336,14 @@ class CompanyExport implements ShouldQueue
|
|||||||
|
|
||||||
})->all();
|
})->all();
|
||||||
|
|
||||||
|
$this->export_data['recurring_expenses'] = $this->company->recurring_expenses->map(function ($expense){
|
||||||
|
|
||||||
|
$expense = $this->transformBasicEntities($expense);
|
||||||
|
$expense = $this->transformArrayOfKeys($expense, ['vendor_id', 'invoice_id', 'client_id', 'category_id', 'project_id']);
|
||||||
|
|
||||||
|
return $expense->makeVisible(['id']);
|
||||||
|
|
||||||
|
})->all();
|
||||||
|
|
||||||
$this->export_data['recurring_invoices'] = $this->company->recurring_invoices->makeVisible(['id'])->map(function ($ri){
|
$this->export_data['recurring_invoices'] = $this->company->recurring_invoices->makeVisible(['id'])->map(function ($ri){
|
||||||
|
|
||||||
|
@ -47,6 +47,7 @@ use App\Models\Product;
|
|||||||
use App\Models\Project;
|
use App\Models\Project;
|
||||||
use App\Models\Quote;
|
use App\Models\Quote;
|
||||||
use App\Models\QuoteInvitation;
|
use App\Models\QuoteInvitation;
|
||||||
|
use App\Models\RecurringExpense;
|
||||||
use App\Models\RecurringInvoice;
|
use App\Models\RecurringInvoice;
|
||||||
use App\Models\RecurringInvoiceInvitation;
|
use App\Models\RecurringInvoiceInvitation;
|
||||||
use App\Models\Subscription;
|
use App\Models\Subscription;
|
||||||
@ -76,6 +77,8 @@ use ZipArchive;
|
|||||||
use ZipStream\Option\Archive;
|
use ZipStream\Option\Archive;
|
||||||
use ZipStream\ZipStream;
|
use ZipStream\ZipStream;
|
||||||
|
|
||||||
|
use function GuzzleHttp\json_encode;
|
||||||
|
|
||||||
class CompanyImport implements ShouldQueue
|
class CompanyImport implements ShouldQueue
|
||||||
{
|
{
|
||||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels, MakesHash, GeneratesCounter;
|
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels, MakesHash, GeneratesCounter;
|
||||||
@ -135,6 +138,7 @@ class CompanyImport implements ShouldQueue
|
|||||||
'quote_invitations',
|
'quote_invitations',
|
||||||
'credits',
|
'credits',
|
||||||
'credit_invitations',
|
'credit_invitations',
|
||||||
|
'recurring_expenses',
|
||||||
'expenses',
|
'expenses',
|
||||||
'tasks',
|
'tasks',
|
||||||
'payments',
|
'payments',
|
||||||
@ -452,6 +456,26 @@ class CompanyImport implements ShouldQueue
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function import_recurring_expenses()
|
||||||
|
{
|
||||||
|
//unset / transforms / object_property / match_key
|
||||||
|
$this->genericImport(RecurringExpense::class,
|
||||||
|
['assigned_user_id', 'user_id', 'client_id', 'company_id', 'id', 'hashed_id', 'project_id', 'vendor_id'],
|
||||||
|
[
|
||||||
|
['users' => 'user_id'],
|
||||||
|
['users' => 'assigned_user_id'],
|
||||||
|
['clients' => 'client_id'],
|
||||||
|
['projects' => 'project_id'],
|
||||||
|
['vendors' => 'vendor_id'],
|
||||||
|
['invoices' => 'invoice_id'],
|
||||||
|
['expense_categories' => 'category_id'],
|
||||||
|
],
|
||||||
|
'expenses',
|
||||||
|
'number');
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
private function import_payment_terms()
|
private function import_payment_terms()
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -795,6 +819,8 @@ class CompanyImport implements ShouldQueue
|
|||||||
['projects' => 'project_id'],
|
['projects' => 'project_id'],
|
||||||
['vendors' => 'vendor_id'],
|
['vendors' => 'vendor_id'],
|
||||||
['invoices' => 'invoice_id'],
|
['invoices' => 'invoice_id'],
|
||||||
|
['recurring_expenses' => 'recurring_expense_id'],
|
||||||
|
['expense_categories' => 'category_id'],
|
||||||
],
|
],
|
||||||
'expenses',
|
'expenses',
|
||||||
'number');
|
'number');
|
||||||
@ -1248,6 +1274,7 @@ class CompanyImport implements ShouldQueue
|
|||||||
if($class == 'App\Models\Subscription'){
|
if($class == 'App\Models\Subscription'){
|
||||||
$obj_array['product_ids'] = $this->recordProductIds($obj_array['product_ids']);
|
$obj_array['product_ids'] = $this->recordProductIds($obj_array['product_ids']);
|
||||||
$obj_array['recurring_product_ids'] = $this->recordProductIds($obj_array['recurring_product_ids']);
|
$obj_array['recurring_product_ids'] = $this->recordProductIds($obj_array['recurring_product_ids']);
|
||||||
|
$obj_array['webhook_configuration'] = json_encode($obj_array['webhook_configuration']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$new_obj = $class::firstOrNew(
|
$new_obj = $class::firstOrNew(
|
||||||
@ -1297,7 +1324,8 @@ class CompanyImport implements ShouldQueue
|
|||||||
if($class == 'App\Models\Subscription'){
|
if($class == 'App\Models\Subscription'){
|
||||||
//$obj_array['product_ids'] = $this->recordProductIds($obj_array['product_ids']);
|
//$obj_array['product_ids'] = $this->recordProductIds($obj_array['product_ids']);
|
||||||
//$obj_array['recurring_product_ids'] = $this->recordProductIds($obj_array['recurring_product_ids']);
|
//$obj_array['recurring_product_ids'] = $this->recordProductIds($obj_array['recurring_product_ids']);
|
||||||
//
|
// $obj_array['webhook_configuration'] = json_encode($obj_array['webhook_configuration']);
|
||||||
|
$obj_array['webhook_configuration'] = '';
|
||||||
$obj_array['recurring_product_ids'] = '';
|
$obj_array['recurring_product_ids'] = '';
|
||||||
$obj_array['product_ids'] = '';
|
$obj_array['product_ids'] = '';
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user