mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-08 17:44:32 -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();
|
||||
|
||||
$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){
|
||||
|
||||
|
@ -47,6 +47,7 @@ use App\Models\Product;
|
||||
use App\Models\Project;
|
||||
use App\Models\Quote;
|
||||
use App\Models\QuoteInvitation;
|
||||
use App\Models\RecurringExpense;
|
||||
use App\Models\RecurringInvoice;
|
||||
use App\Models\RecurringInvoiceInvitation;
|
||||
use App\Models\Subscription;
|
||||
@ -76,6 +77,8 @@ use ZipArchive;
|
||||
use ZipStream\Option\Archive;
|
||||
use ZipStream\ZipStream;
|
||||
|
||||
use function GuzzleHttp\json_encode;
|
||||
|
||||
class CompanyImport implements ShouldQueue
|
||||
{
|
||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels, MakesHash, GeneratesCounter;
|
||||
@ -135,6 +138,7 @@ class CompanyImport implements ShouldQueue
|
||||
'quote_invitations',
|
||||
'credits',
|
||||
'credit_invitations',
|
||||
'recurring_expenses',
|
||||
'expenses',
|
||||
'tasks',
|
||||
'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()
|
||||
{
|
||||
|
||||
@ -795,6 +819,8 @@ class CompanyImport implements ShouldQueue
|
||||
['projects' => 'project_id'],
|
||||
['vendors' => 'vendor_id'],
|
||||
['invoices' => 'invoice_id'],
|
||||
['recurring_expenses' => 'recurring_expense_id'],
|
||||
['expense_categories' => 'category_id'],
|
||||
],
|
||||
'expenses',
|
||||
'number');
|
||||
@ -1248,6 +1274,7 @@ class CompanyImport implements ShouldQueue
|
||||
if($class == 'App\Models\Subscription'){
|
||||
$obj_array['product_ids'] = $this->recordProductIds($obj_array['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(
|
||||
@ -1297,7 +1324,8 @@ class CompanyImport implements ShouldQueue
|
||||
if($class == 'App\Models\Subscription'){
|
||||
//$obj_array['product_ids'] = $this->recordProductIds($obj_array['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['product_ids'] = '';
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user