Fixes for export resolution

This commit is contained in:
David Bomba 2023-12-02 14:40:28 +11:00
parent e3cc11eaed
commit 7d37e6cb2c
7 changed files with 34 additions and 333 deletions

View File

@ -110,6 +110,7 @@ class RecurringInvoiceExport extends BaseExport
{
$transformed_invoice = $this->invoice_transformer->transform($invoice);
$transformed_invoice['frequency_id'] = $invoice->frequencyForKey($invoice->frequency_id); //need to inject this here because it is also a valid key
nlog($transformed_invoice);
$entity = [];
@ -127,6 +128,7 @@ class RecurringInvoiceExport extends BaseExport
}
}
nlog($entity);
return $entity;
// return $this->decorateAdvancedFields($invoice, $entity);
}

View File

@ -30,6 +30,9 @@ class ClientDecorator extends Decorator implements DecoratorInterface
if($client && method_exists($this, $key)) {
return $this->{$key}($client);
}
elseif($client && $client->{$key}) {
return $client->{$key};
}
return '';
}
@ -39,11 +42,6 @@ class ClientDecorator extends Decorator implements DecoratorInterface
return $client->present()->name();
}
public function number(Client $client)
{
return $client->number ?? '';
}
public function user(Client $client)
{
return $client->user->present()->name();
@ -54,29 +52,14 @@ class ClientDecorator extends Decorator implements DecoratorInterface
return $client->assigned_user ? $client->user->present()->name() : '';
}
public function balance(Client $client)
{
return $client->balance ?? 0;
}
public function paid_to_date(Client $client)
{
return $client->paid_to_date ?? 0;
}
public function currency_id(Client $client)
{
return $client->currency() ? $client->currency()->code : $client->company->currency()->code;
}
public function website(Client $client)
{
return $client->website ?? '';
}
public function private_notes(Client $client)
{
return $client->private_notes ?? '';
return strip_tags($client->private_notes ?? '');
}
public function industry_id(Client $client)
@ -89,66 +72,11 @@ class ClientDecorator extends Decorator implements DecoratorInterface
return $client->size ? ctrans("texts.size_{$client->size->name}") : '';
}
public function phone(Client $client)
{
return $client->phone ?? '';
}
public function address1(Client $client)
{
return $client->address1 ?? '';
}
public function address2(Client $client)
{
return $client->address2 ?? '';
}
public function city(Client $client)
{
return $client->city ?? '';
}
public function state(Client $client)
{
return $client->state ?? '';
}
public function postal_code(Client $client)
{
return $client->postal_code ?? '';
}
public function country_id(Client $client)
{
return $client->country ? ctrans("texts.country_{$client->country->name}") : '';
}
public function shipping_address1(Client $client)
{
return $client->shipping_address1 ?? '';
}
public function shipping_address2(Client $client)
{
return $client->shipping_address2 ?? '';
}
public function shipping_city(Client $client)
{
return $client->shipping_city ?? '';
}
public function shipping_state(Client $client)
{
return $client->shipping_state ?? '';
}
public function shipping_postal_code(Client $client)
{
return $client->shipping_postal_code ?? '';
}
public function shipping_country_id(Client $client)
{
return $client->shipping_country ? ctrans("texts.country_{$client->shipping_country->name}") : '';
@ -159,49 +87,9 @@ class ClientDecorator extends Decorator implements DecoratorInterface
return $client?->settings?->payment_terms ?? $client->company->settings->payment_terms;
}
public function vat_number(Client $client)
{
return $client->vat_number ?? '';
}
public function id_number(Client $client)
{
return $client->id_number ?? '';
}
public function public_notes(Client $client)
{
return $client->public_notes ?? '';
}
public function custom_value1(Client $client)
{
return $client->custom_value1 ?? '';
}
public function custom_value2(Client $client)
{
return $client->custom_value2 ?? '';
}
public function custom_value3(Client $client)
{
return $client->custom_value3 ?? '';
}
public function custom_value4(Client $client)
{
return $client->custom_value4 ?? '';
}
public function payment_balance(Client $client)
{
return $client->payment_balance ?? 0;
}
public function credit_balance(Client $client)
{
return $client->credit_balance ?? 0;
return strip_tags($client->public_notes ?? '');
}
public function classification(Client $client)

View File

@ -28,42 +28,12 @@ class ContactDecorator implements DecoratorInterface
if($contact && method_exists($this, $key)) {
return $this->{$key}($contact);
}
elseif($contact && $contact->{$key}){
return $contact->{$key};
}
return '';
}
public function phone(ClientContact $contact)
{
return $contact->phone ?? '';
}
public function first_name(ClientContact $contact)
{
return $contact->first_name ?? '';
}
public function last_name(ClientContact $contact)
{
return $contact->last_name ?? '';
}
public function email(ClientContact $contact)
{
return $contact->email ?? '';
}
public function custom_value1(ClientContact $contact)
{
return $contact->custom_value1 ?? '';
}
public function custom_value2(ClientContact $contact)
{
return $contact->custom_value2 ?? '';
}
public function custom_value3(ClientContact $contact)
{
return $contact->custom_value3 ?? '';
}
public function custom_value4(ClientContact $contact)
{
return $contact->custom_value4 ?? '';
}
}

View File

@ -27,32 +27,14 @@ class CreditDecorator implements DecoratorInterface
if($credit && method_exists($this, $key)) {
return $this->{$key}($credit);
} elseif($credit && $credit->{$key}){
return $credit->{$key};
}
return '';
}
public function number(Credit $credit)
{
return $credit->number ?? '';
}
public function amount(Credit $credit)
{
return $credit->amount ?? 0;
}
public function balance(Credit $credit)
{
return $credit->balance ?? 0;
}
public function paid_to_date(Credit $credit)
{
return $credit->paid_to_date ?? 0;
}
public function po_number(Credit $credit)
{
return $credit->po_number ?? '';
}
public function date(Credit $credit)
{
return $credit->date ?? '';
@ -63,7 +45,7 @@ class CreditDecorator implements DecoratorInterface
}
public function terms(Credit $credit)
{
return $credit->terms ?? '';
return strip_tags($credit->terms ?? '');
}
public function discount(Credit $credit)
{

View File

@ -27,40 +27,24 @@ class ExpenseDecorator implements DecoratorInterface
if($expense && method_exists($this, $key)) {
return $this->{$key}($expense);
} elseif($expense && $expense->{$key}) {
return $expense->{$key};
}
return '';
}
public function amount(Expense $expense)
{
return $expense->amount ?? 0;
}
public function category_id(Expense $expense)
{
return $expense->category ? $expense->category->name : '';
}
public function client_id(Expense $expense)
{
return $expense->client ? $expense->client->present()->name() : '';
}
public function custom_value1(Expense $expense)
{
return $expense->custom_value1 ?? '';
}
public function custom_value2(Expense $expense)
{
return $expense->custom_value2 ?? '';
}
public function custom_value3(Expense $expense)
{
return $expense->custom_value3 ?? '';
}
public function custom_value4(Expense $expense)
{
return $expense->custom_value4 ?? '';
}
public function currency_id(Expense $expense)
{
return $expense->currency ? $expense->currency->code : $expense->company->currency()->code;
@ -85,17 +69,14 @@ class ExpenseDecorator implements DecoratorInterface
{
return $expense->payment_date ?? '';
}
public function number(Expense $expense)
{
return $expense->number ?? '';
}
public function payment_type_id(Expense $expense)
{
return $expense->payment_type ? $expense->payment_type->name : '';
}
public function private_notes(Expense $expense)
{
return $expense->private_notes ?? '';
return strip_tags($expense->private_notes ?? '');
}
public function project_id(Expense $expense)
{
@ -103,48 +84,9 @@ class ExpenseDecorator implements DecoratorInterface
}
public function public_notes(Expense $expense)
{
return $expense->public_notes ?? '';
}
public function tax_amount1(Expense $expense)
{
return $expense->tax_amount1 ?? 0;
}
public function tax_amount2(Expense $expense)
{
return $expense->tax_amount2 ?? 0;
}
public function tax_amount3(Expense $expense)
{
return $expense->tax_amount3 ?? 0;
}
public function tax_name1(Expense $expense)
{
return $expense->tax_name1 ?? '';
}
public function tax_name2(Expense $expense)
{
return $expense->tax_name2 ?? '';
}
public function tax_name3(Expense $expense)
{
return $expense->tax_name3 ?? '';
}
public function tax_rate1(Expense $expense)
{
return $expense->tax_rate1 ?? 0;
}
public function tax_rate2(Expense $expense)
{
return $expense->tax_rate2 ?? 0;
}
public function tax_rate3(Expense $expense)
{
return $expense->tax_rate3 ?? 0;
}
public function transaction_reference(Expense $expense)
{
return $expense->transaction_reference ?? '';
return strip_tags($expense->public_notes ?? '');
}
public function vendor_id(Expense $expense)
{
return $expense->vendor ? $expense->vendor->name : '';

View File

@ -23,36 +23,20 @@ class InvoiceDecorator extends Decorator implements DecoratorInterface
$invoice = $entity;
} elseif($entity->invoice) {
$invoice = $entity->invoice;
} elseif($entity->invoices()->exists()) {
$invoice = $entity->invoices()->first();
}
if($invoice && method_exists($this, $key)) {
return $this->{$key}($invoice);
}elseif($invoice && $invoice->{$key}){
return $invoice->{$key};
}
return '';
}
public function number(Invoice $invoice)
{
return $invoice->number ?? '';
}
public function amount(Invoice $invoice)
{
return $invoice->amount ?? 0;
}
public function balance(Invoice $invoice)
{
return $invoice->balance ?? 0;
}
public function paid_to_date(Invoice $invoice)
{
return $invoice->paid_to_date ?? 0;
}
public function po_number(Invoice $invoice)
{
return $invoice->po_number ?? '';
}
public function date(Invoice $invoice)
{
return $invoice->date ?? '';
@ -63,11 +47,11 @@ class InvoiceDecorator extends Decorator implements DecoratorInterface
}
public function terms(Invoice $invoice)
{
return $invoice->terms ?? '';
return strip_tags($invoice->terms ?? '');
}
public function footer(Invoice $invoice)
{
return $invoice->footer ?? '';
return strip_tags($invoice->footer ?? '');
}
public function status(Invoice $invoice)
{
@ -75,7 +59,7 @@ class InvoiceDecorator extends Decorator implements DecoratorInterface
}
public function public_notes(Invoice $invoice)
{
return $invoice->public_notes ?? '';
return strip_tags($invoice->public_notes ?? '');
}
public function private_notes(Invoice $invoice)
{
@ -89,42 +73,13 @@ class InvoiceDecorator extends Decorator implements DecoratorInterface
{
return $invoice->is_amount_discount ? ctrans('texts.yes') : ctrans('texts.no');
}
public function discount(Invoice $invoice)
{
return $invoice->discount ?? 0;
}
public function partial(Invoice $invoice)
{
return $invoice->partial ?? 0;
}
public function partial_due_date(Invoice $invoice)
{
return $invoice->partial_due_date ?? '';
}
public function custom_surcharge1(Invoice $invoice)
{
return $invoice->custom_surcharge1 ?? 0;
}
public function custom_surcharge2(Invoice $invoice)
{
return $invoice->custom_surcharge2 ?? 0;
}
public function custom_surcharge3(Invoice $invoice)
{
return $invoice->custom_surcharge3 ?? 0;
}
public function custom_surcharge4(Invoice $invoice)
{
return $invoice->custom_surcharge4 ?? 0;
}
public function exchange_rate(Invoice $invoice)
{
return $invoice->exchange_rate ?? 0;
}
public function total_taxes(Invoice $invoice)
{
return $invoice->total_taxes ?? 0;
}
public function assigned_user_id(Invoice $invoice)
{
return $invoice->assigned_user ? $invoice->assigned_user->present()->name(): '';
@ -133,46 +88,7 @@ class InvoiceDecorator extends Decorator implements DecoratorInterface
{
return $invoice->user ? $invoice->user->present()->name(): '';
}
public function custom_value1(Invoice $invoice)
{
return $invoice->custom_value1 ?? '';
}
public function custom_value2(Invoice $invoice)
{
return $invoice->custom_value2 ?? '';
}
public function custom_value3(Invoice $invoice)
{
return $invoice->custom_value3 ?? '';
}
public function custom_value4(Invoice $invoice)
{
return $invoice->custom_value4 ?? '';
}
public function tax_name1(Invoice $invoice)
{
return $invoice->tax_name1 ?? '';
}
public function tax_name2(Invoice $invoice)
{
return $invoice->tax_name2 ?? '';
}
public function tax_name3(Invoice $invoice)
{
return $invoice->tax_name3 ?? '';
}
public function tax_rate1(Invoice $invoice)
{
return $invoice->tax_rate1 ?? 0;
}
public function tax_rate2(Invoice $invoice)
{
return $invoice->tax_rate2 ?? 0;
}
public function tax_rate3(Invoice $invoice)
{
return $invoice->tax_rate3 ?? 0;
}
public function recurring_id(Invoice $invoice)
{
return $invoice->recurring_invoice ? $invoice->recurring_invoice->number : '';

View File

@ -890,10 +890,11 @@ class ReportCsvGenerationTest extends TestCase
$csv = $response->body();
nlog($csv);
$this->assertEquals(100, $this->getFirstValueByColumn($csv, 'Payment Amount'));
$this->assertEquals(now()->addSeconds($this->company->timezone()->utc_offset)->format('Y-m-d'), $this->getFirstValueByColumn($csv, 'Payment Date'));
// $this->assertEquals('12345', $this->getFirstValueByColumn($csv, 'Invoice Invoice Number'));
$this->assertEquals('12345', $this->getFirstValueByColumn($csv, 'Invoice Invoice Number'));
$this->assertEquals(100, $this->getFirstValueByColumn($csv, 'Invoice Amount'));
$this->assertEquals('bob', $this->getFirstValueByColumn($csv, 'Client Name'));
$this->assertEquals(0, $this->getFirstValueByColumn($csv, 'Client Balance'));