mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-09 20:52:56 +01:00
Added Pancake import
This commit is contained in:
parent
7995d028bc
commit
598b4743d8
@ -180,6 +180,7 @@ if (! defined('APP_NAME')) {
|
||||
define('IMPORT_INVOICEPLANE', 'InvoicePlane');
|
||||
define('IMPORT_HARVEST', 'Harvest');
|
||||
define('IMPORT_STRIPE', 'Stripe');
|
||||
define('IMPORT_PANCAKE', 'Pancake');
|
||||
|
||||
define('MAX_NUM_CLIENTS', 100);
|
||||
define('MAX_NUM_CLIENTS_PRO', 20000);
|
||||
|
41
app/Ninja/Import/Pancake/ClientTransformer.php
Normal file
41
app/Ninja/Import/Pancake/ClientTransformer.php
Normal file
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Ninja\Import\Pancake;
|
||||
|
||||
use App\Ninja\Import\BaseTransformer;
|
||||
use League\Fractal\Resource\Item;
|
||||
|
||||
/**
|
||||
* Class ClientTransformer.
|
||||
*/
|
||||
class ClientTransformer extends BaseTransformer
|
||||
{
|
||||
/**
|
||||
* @param $data
|
||||
*
|
||||
* @return bool|Item
|
||||
*/
|
||||
public function transform($data)
|
||||
{
|
||||
if ($this->hasClient($data->company)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return new Item($data, function ($data) {
|
||||
return [
|
||||
'name' => $this->getString($data, 'company'),
|
||||
'work_phone' => $this->getString($data, 'telephone_number'),
|
||||
'website' => $this->getString($data, 'website_url'),
|
||||
'private_notes' => $this->getString($data, 'notes'),
|
||||
'contacts' => [
|
||||
[
|
||||
'first_name' => $this->getString($data, 'first_name'),
|
||||
'last_name' => $this->getString($data, 'last_name'),
|
||||
'email' => $this->getString($data, 'email'),
|
||||
'phone' => $this->getString($data, 'mobile_number'),
|
||||
],
|
||||
],
|
||||
];
|
||||
});
|
||||
}
|
||||
}
|
71
app/Ninja/Import/Pancake/InvoiceTransformer.php
Normal file
71
app/Ninja/Import/Pancake/InvoiceTransformer.php
Normal file
@ -0,0 +1,71 @@
|
||||
<?php
|
||||
|
||||
namespace App\Ninja\Import\Pancake;
|
||||
|
||||
use App\Ninja\Import\BaseTransformer;
|
||||
use League\Fractal\Resource\Item;
|
||||
|
||||
/**
|
||||
* Class InvoiceTransformer.
|
||||
*/
|
||||
class InvoiceTransformer extends BaseTransformer
|
||||
{
|
||||
/**
|
||||
* @param $data
|
||||
*
|
||||
* @return bool|Item
|
||||
*/
|
||||
public function transform($data)
|
||||
{
|
||||
if (! $this->getClientId($data->client)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($this->hasInvoice($data->invoice)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($data->recurring == 'Yes') {
|
||||
return false;
|
||||
}
|
||||
|
||||
return new Item($data, function ($data) {
|
||||
return [
|
||||
'client_id' => $this->getClientId($data->client),
|
||||
'invoice_number' => $this->getInvoiceNumber($data->invoice),
|
||||
'invoice_date' => ! empty($data->date_of_creation) ? date('Y-m-d', strtotime($data->date_of_creation)) : null,
|
||||
'due_date' => ! empty($data->due_date) ? date('Y-m-d', strtotime($data->due_date)) : null,
|
||||
'paid' => (float) $data->amount_paid,
|
||||
'public_notes' => $this->getString($data, 'notes'),
|
||||
'private_notes' => $this->getString($data, 'description'),
|
||||
'invoice_date_sql' => $data->create_date,
|
||||
'invoice_items' => [
|
||||
[
|
||||
'product_key' => $data->item_1_gross_discount > 0 ? trans('texts.discount') : $data->item_1_name,
|
||||
'notes' => $data->item_1_description,
|
||||
'cost' => (float) $data->item_1_gross_discount > 0 ? $data->item_1_gross_discount * -1 : $data->item_1_rate,
|
||||
'qty' => $data->item_1_quantity,
|
||||
],
|
||||
[
|
||||
'product_key' => $data->item_2_gross_discount > 0 ? trans('texts.discount') : $data->item_2_name,
|
||||
'notes' => $data->item_2_description,
|
||||
'cost' => (float) $data->item_2_gross_discount > 0 ? $data->item_2_gross_discount * -1 : $data->item_2_rate,
|
||||
'qty' => $data->item_2_quantity,
|
||||
],
|
||||
[
|
||||
'product_key' => $data->item_3_gross_discount > 0 ? trans('texts.discount') : $data->item_3_name,
|
||||
'notes' => $data->item_3_description,
|
||||
'cost' => (float) $data->item_3_gross_discount > 0 ? $data->item_3_gross_discount * -1 : $data->item_3_rate,
|
||||
'qty' => $data->item_3_quantity,
|
||||
],
|
||||
[
|
||||
'product_key' => $data->item_4_gross_discount > 0 ? trans('texts.discount') : $data->item_4_name,
|
||||
'notes' => $data->item_4_description,
|
||||
'cost' => (float) $data->item_4_gross_discount > 0 ? $data->item_4_gross_discount * -1 : $data->item_4_rate,
|
||||
'qty' => $data->item_4_quantity,
|
||||
],
|
||||
],
|
||||
];
|
||||
});
|
||||
}
|
||||
}
|
@ -113,6 +113,7 @@ class ImportService
|
||||
IMPORT_INVOICEABLE,
|
||||
IMPORT_INVOICEPLANE,
|
||||
IMPORT_NUTCACHE,
|
||||
IMPORT_PANCAKE,
|
||||
IMPORT_RONIN,
|
||||
IMPORT_STRIPE,
|
||||
IMPORT_WAVE,
|
||||
|
Loading…
Reference in New Issue
Block a user