mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-04 06:37:33 -05:00 
			
		
		
		
	v5.7.56
This commit is contained in:
		
							parent
							
								
									396198a43c
								
							
						
					
					
						commit
						bb5ff25ea7
					
				@ -1 +1 @@
 | 
				
			|||||||
5.7.55
 | 
					5.7.56
 | 
				
			||||||
@ -105,8 +105,6 @@ class ActivityExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        $this->date_format = DateFormat::find($this->company->settings->date_format_id)->format;
 | 
					        $this->date_format = DateFormat::find($this->company->settings->date_format_id)->format;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // ksort($this->entity_keys);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (count($this->input['report_keys']) == 0) {
 | 
					        if (count($this->input['report_keys']) == 0) {
 | 
				
			||||||
            $this->input['report_keys'] = array_values($this->entity_keys);
 | 
					            $this->input['report_keys'] = array_values($this->entity_keys);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -142,8 +140,7 @@ class ActivityExport extends BaseExport
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
       
 | 
					       
 | 
				
			||||||
        $this->csv->insertOne($this->buildActivityRow($activity));
 | 
					        $this->csv->insertOne($this->buildActivityRow($activity));
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function decorateAdvancedFields(Task $task, array $entity) :array
 | 
					    private function decorateAdvancedFields(Task $task, array $entity) :array
 | 
				
			||||||
 | 
				
			|||||||
@ -175,11 +175,15 @@ class ClientExport extends BaseExport
 | 
				
			|||||||
            } elseif (is_array($parts) && $parts[0] == 'contact' && array_key_exists($parts[1], $transformed_contact)) {
 | 
					            } elseif (is_array($parts) && $parts[0] == 'contact' && array_key_exists($parts[1], $transformed_contact)) {
 | 
				
			||||||
                $entity[$key] = $transformed_contact[$parts[1]];
 | 
					                $entity[$key] = $transformed_contact[$parts[1]];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = '';
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $client);
 | 
				
			||||||
 | 
					                // $entity[$key] = '';
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return $this->decorateAdvancedFields($client, $entity);
 | 
					        return $entity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // return $this->decorateAdvancedFields($client, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function processMetaData(array $row, $resource): array
 | 
					    public function processMetaData(array $row, $resource): array
 | 
				
			||||||
 | 
				
			|||||||
@ -11,16 +11,17 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					 | 
				
			||||||
use App\Models\Client;
 | 
					 | 
				
			||||||
use App\Models\ClientContact;
 | 
					 | 
				
			||||||
use App\Models\Company;
 | 
					 | 
				
			||||||
use App\Transformers\ClientContactTransformer;
 | 
					 | 
				
			||||||
use App\Transformers\ClientTransformer;
 | 
					 | 
				
			||||||
use App\Utils\Ninja;
 | 
					use App\Utils\Ninja;
 | 
				
			||||||
use Illuminate\Contracts\Database\Eloquent\Builder;
 | 
					use App\Models\Client;
 | 
				
			||||||
use Illuminate\Support\Facades\App;
 | 
					 | 
				
			||||||
use League\Csv\Writer;
 | 
					use League\Csv\Writer;
 | 
				
			||||||
 | 
					use App\Models\Company;
 | 
				
			||||||
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
 | 
					use App\Models\ClientContact;
 | 
				
			||||||
 | 
					use Illuminate\Support\Facades\App;
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
 | 
					use App\Transformers\ClientTransformer;
 | 
				
			||||||
 | 
					use App\Transformers\ClientContactTransformer;
 | 
				
			||||||
 | 
					use Illuminate\Database\Eloquent\Builder;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ContactExport extends BaseExport
 | 
					class ContactExport extends BaseExport
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -29,6 +30,8 @@ class ContactExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private ClientContactTransformer $contact_transformer;
 | 
					    private ClientContactTransformer $contact_transformer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public string $date_key = 'created_at';
 | 
					    public string $date_key = 'created_at';
 | 
				
			||||||
@ -39,6 +42,7 @@ class ContactExport extends BaseExport
 | 
				
			|||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->client_transformer = new ClientTransformer();
 | 
					        $this->client_transformer = new ClientTransformer();
 | 
				
			||||||
        $this->contact_transformer = new ClientContactTransformer();
 | 
					        $this->contact_transformer = new ClientContactTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function init(): Builder
 | 
					    private function init(): Builder
 | 
				
			||||||
@ -119,11 +123,14 @@ class ContactExport extends BaseExport
 | 
				
			|||||||
            } elseif ($parts[0] == 'contact' && array_key_exists($parts[1], $transformed_contact)) {
 | 
					            } elseif ($parts[0] == 'contact' && array_key_exists($parts[1], $transformed_contact)) {
 | 
				
			||||||
                $entity[$key] = $transformed_contact[$parts[1]];
 | 
					                $entity[$key] = $transformed_contact[$parts[1]];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = '';
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $contact);
 | 
				
			||||||
 | 
					                // $entity[$key] = '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        return $entity;
 | 
				
			||||||
        return $this->decorateAdvancedFields($contact->client, $entity);
 | 
					        // return $this->decorateAdvancedFields($contact->client, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function decorateAdvancedFields(Client $client, array $entity) :array
 | 
					    private function decorateAdvancedFields(Client $client, array $entity) :array
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Models\Company;
 | 
					use App\Models\Company;
 | 
				
			||||||
use App\Models\Credit;
 | 
					use App\Models\Credit;
 | 
				
			||||||
@ -26,6 +27,8 @@ class CreditExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private CreditTransformer $credit_transformer;
 | 
					    private CreditTransformer $credit_transformer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public string $date_key = 'created_at';
 | 
					    public string $date_key = 'created_at';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
@ -35,6 +38,7 @@ class CreditExport extends BaseExport
 | 
				
			|||||||
        $this->company = $company;
 | 
					        $this->company = $company;
 | 
				
			||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->credit_transformer = new CreditTransformer();
 | 
					        $this->credit_transformer = new CreditTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function returnJson()
 | 
					    public function returnJson()
 | 
				
			||||||
@ -143,7 +147,11 @@ class CreditExport extends BaseExport
 | 
				
			|||||||
            } elseif(isset($transformed_credit[$searched_credit_key])) {
 | 
					            } elseif(isset($transformed_credit[$searched_credit_key])) {
 | 
				
			||||||
                $entity[$keyval] = $transformed_credit[$searched_credit_key];
 | 
					                $entity[$keyval] = $transformed_credit[$searched_credit_key];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$keyval] = $this->resolveKey($keyval, $credit, $this->credit_transformer);
 | 
					
 | 
				
			||||||
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $credit);
 | 
				
			||||||
 | 
					                // $entity[$key] = '';
 | 
				
			||||||
 | 
					                // $entity[$keyval] = $this->resolveKey($keyval, $credit, $this->credit_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -11,12 +11,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Models\Company;
 | 
					use App\Models\Company;
 | 
				
			||||||
use App\Models\Expense;
 | 
					use App\Models\Expense;
 | 
				
			||||||
use App\Transformers\ExpenseTransformer;
 | 
					use App\Transformers\ExpenseTransformer;
 | 
				
			||||||
use App\Utils\Ninja;
 | 
					use App\Utils\Ninja;
 | 
				
			||||||
use Illuminate\Contracts\Database\Eloquent\Builder;
 | 
					use Illuminate\Database\Eloquent\Builder;
 | 
				
			||||||
use Illuminate\Support\Facades\App;
 | 
					use Illuminate\Support\Facades\App;
 | 
				
			||||||
use League\Csv\Writer;
 | 
					use League\Csv\Writer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -25,6 +26,8 @@ class ExpenseExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    private $expense_transformer;
 | 
					    private $expense_transformer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public string $date_key = 'date';
 | 
					    public string $date_key = 'date';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
@ -34,6 +37,7 @@ class ExpenseExport extends BaseExport
 | 
				
			|||||||
        $this->company = $company;
 | 
					        $this->company = $company;
 | 
				
			||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->expense_transformer = new ExpenseTransformer();
 | 
					        $this->expense_transformer = new ExpenseTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -113,12 +117,16 @@ class ExpenseExport extends BaseExport
 | 
				
			|||||||
            } elseif (array_key_exists($key, $transformed_expense)) {
 | 
					            } elseif (array_key_exists($key, $transformed_expense)) {
 | 
				
			||||||
                $entity[$key] = $transformed_expense[$key];
 | 
					                $entity[$key] = $transformed_expense[$key];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = $this->resolveKey($key, $expense, $this->expense_transformer);
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $expense);
 | 
				
			||||||
 | 
					                // $entity[$key] = '';
 | 
				
			||||||
 | 
					                // $entity[$key] = $this->resolveKey($key, $expense, $this->expense_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return $this->decorateAdvancedFields($expense, $entity);
 | 
					        return $entity;
 | 
				
			||||||
 | 
					        // return $this->decorateAdvancedFields($expense, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function decorateAdvancedFields(Expense $expense, array $entity) :array
 | 
					    private function decorateAdvancedFields(Expense $expense, array $entity) :array
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Models\Company;
 | 
					use App\Models\Company;
 | 
				
			||||||
use App\Models\Invoice;
 | 
					use App\Models\Invoice;
 | 
				
			||||||
@ -28,11 +29,14 @@ class InvoiceExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function __construct(Company $company, array $input)
 | 
					    public function __construct(Company $company, array $input)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $this->company = $company;
 | 
					        $this->company = $company;
 | 
				
			||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->invoice_transformer = new InvoiceTransformer();
 | 
					        $this->invoice_transformer = new InvoiceTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function init(): Builder
 | 
					    public function init(): Builder
 | 
				
			||||||
@ -116,12 +120,16 @@ class InvoiceExport extends BaseExport
 | 
				
			|||||||
            if (is_array($parts) && $parts[0] == 'invoice' && array_key_exists($parts[1], $transformed_invoice)) {
 | 
					            if (is_array($parts) && $parts[0] == 'invoice' && array_key_exists($parts[1], $transformed_invoice)) {
 | 
				
			||||||
                $entity[$key] = $transformed_invoice[$parts[1]];
 | 
					                $entity[$key] = $transformed_invoice[$parts[1]];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = $this->resolveKey($key, $invoice, $this->invoice_transformer);
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $invoice);
 | 
				
			||||||
 | 
					                // $entity[$key] = '';
 | 
				
			||||||
 | 
					                // $entity[$key] = $this->resolveKey($key, $invoice, $this->invoice_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        return $this->decorateAdvancedFields($invoice, $entity);
 | 
					        return $entity;
 | 
				
			||||||
 | 
					        // return $this->decorateAdvancedFields($invoice, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function decorateAdvancedFields(Invoice $invoice, array $entity) :array
 | 
					    private function decorateAdvancedFields(Invoice $invoice, array $entity) :array
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Models\Company;
 | 
					use App\Models\Company;
 | 
				
			||||||
use App\Models\Invoice;
 | 
					use App\Models\Invoice;
 | 
				
			||||||
@ -29,6 +30,8 @@ class InvoiceItemExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private bool $force_keys = false;
 | 
					    private bool $force_keys = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private array $storage_array = [];
 | 
					    private array $storage_array = [];
 | 
				
			||||||
@ -46,6 +49,7 @@ class InvoiceItemExport extends BaseExport
 | 
				
			|||||||
        $this->company = $company;
 | 
					        $this->company = $company;
 | 
				
			||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->invoice_transformer = new InvoiceTransformer();
 | 
					        $this->invoice_transformer = new InvoiceTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function init(): Builder
 | 
					    public function init(): Builder
 | 
				
			||||||
@ -186,11 +190,14 @@ class InvoiceItemExport extends BaseExport
 | 
				
			|||||||
            } elseif (array_key_exists($key, $transformed_invoice)) {
 | 
					            } elseif (array_key_exists($key, $transformed_invoice)) {
 | 
				
			||||||
                $entity[$key] = $transformed_invoice[$key];
 | 
					                $entity[$key] = $transformed_invoice[$key];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = $this->resolveKey($key, $invoice, $this->invoice_transformer);
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $invoice);
 | 
				
			||||||
 | 
					                // $entity[$key] = '';
 | 
				
			||||||
 | 
					                // $entity[$key] = $this->resolveKey($key, $invoice, $this->invoice_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        return $entity;
 | 
				
			||||||
        return $this->decorateAdvancedFields($invoice, $entity);
 | 
					        // return $this->decorateAdvancedFields($invoice, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function decorateAdvancedFields(Invoice $invoice, array $entity) :array
 | 
					    private function decorateAdvancedFields(Invoice $invoice, array $entity) :array
 | 
				
			||||||
 | 
				
			|||||||
@ -118,13 +118,15 @@ class PaymentExport extends BaseExport
 | 
				
			|||||||
                $entity[$key] = $transformed_entity[$key];
 | 
					                $entity[$key] = $transformed_entity[$key];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                // $entity[$key] = $this->decorator->transform($key, $payment);
 | 
					                // nlog($key);
 | 
				
			||||||
                $entity[$key] = $this->resolveKey($key, $payment, $this->entity_transformer);
 | 
					                $entity[$key] = $this->decorator->transform($key, $payment);
 | 
				
			||||||
 | 
					                // $entity[$key] = $this->resolveKey($key, $payment, $this->entity_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return $this->decorateAdvancedFields($payment, $entity);
 | 
					        return $entity;
 | 
				
			||||||
 | 
					        // return $this->decorateAdvancedFields($payment, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function decorateAdvancedFields(Payment $payment, array $entity) :array
 | 
					    private function decorateAdvancedFields(Payment $payment, array $entity) :array
 | 
				
			||||||
 | 
				
			|||||||
@ -11,14 +11,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Utils\Ninja;
 | 
				
			||||||
 | 
					use League\Csv\Writer;
 | 
				
			||||||
use App\Models\Company;
 | 
					use App\Models\Company;
 | 
				
			||||||
use App\Models\Product;
 | 
					use App\Models\Product;
 | 
				
			||||||
use App\Transformers\ProductTransformer;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Utils\Ninja;
 | 
					 | 
				
			||||||
use Illuminate\Database\Eloquent\Builder;
 | 
					 | 
				
			||||||
use Illuminate\Support\Facades\App;
 | 
					use Illuminate\Support\Facades\App;
 | 
				
			||||||
use League\Csv\Writer;
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
 | 
					use App\Transformers\ProductTransformer;
 | 
				
			||||||
 | 
					use Illuminate\Database\Eloquent\Builder;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ProductExport extends BaseExport
 | 
					class ProductExport extends BaseExport
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -28,11 +29,14 @@ class ProductExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function __construct(Company $company, array $input)
 | 
					    public function __construct(Company $company, array $input)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $this->company = $company;
 | 
					        $this->company = $company;
 | 
				
			||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->entity_transformer = new ProductTransformer();
 | 
					        $this->entity_transformer = new ProductTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function returnJson()
 | 
					    public function returnJson()
 | 
				
			||||||
@ -109,11 +113,15 @@ class ProductExport extends BaseExport
 | 
				
			|||||||
            if (array_key_exists($key, $transformed_entity)) {
 | 
					            if (array_key_exists($key, $transformed_entity)) {
 | 
				
			||||||
                $entity[$keyval] = $transformed_entity[$key];
 | 
					                $entity[$keyval] = $transformed_entity[$key];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$keyval] = '';
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $product);
 | 
				
			||||||
 | 
					                // $entity[$key] = '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return $this->decorateAdvancedFields($product, $entity);
 | 
					        return $entity;
 | 
				
			||||||
 | 
					        // return $this->decorateAdvancedFields($product, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function decorateAdvancedFields(Product $product, array $entity) :array
 | 
					    private function decorateAdvancedFields(Product $product, array $entity) :array
 | 
				
			||||||
 | 
				
			|||||||
@ -11,14 +11,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					 | 
				
			||||||
use App\Models\Company;
 | 
					 | 
				
			||||||
use App\Models\PurchaseOrder;
 | 
					 | 
				
			||||||
use App\Transformers\PurchaseOrderTransformer;
 | 
					 | 
				
			||||||
use App\Utils\Ninja;
 | 
					use App\Utils\Ninja;
 | 
				
			||||||
use Illuminate\Database\Eloquent\Builder;
 | 
					 | 
				
			||||||
use Illuminate\Support\Facades\App;
 | 
					 | 
				
			||||||
use League\Csv\Writer;
 | 
					use League\Csv\Writer;
 | 
				
			||||||
 | 
					use App\Models\Company;
 | 
				
			||||||
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
 | 
					use App\Models\PurchaseOrder;
 | 
				
			||||||
 | 
					use Illuminate\Support\Facades\App;
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
 | 
					use Illuminate\Database\Eloquent\Builder;
 | 
				
			||||||
 | 
					use App\Transformers\PurchaseOrderTransformer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class PurchaseOrderExport extends BaseExport
 | 
					class PurchaseOrderExport extends BaseExport
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -29,6 +30,8 @@ class PurchaseOrderExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public array $entity_keys = [
 | 
					    public array $entity_keys = [
 | 
				
			||||||
        'amount' => 'purchase_order.amount',
 | 
					        'amount' => 'purchase_order.amount',
 | 
				
			||||||
        'balance' => 'purchase_order.balance',
 | 
					        'balance' => 'purchase_order.balance',
 | 
				
			||||||
@ -79,6 +82,7 @@ class PurchaseOrderExport extends BaseExport
 | 
				
			|||||||
        $this->company = $company;
 | 
					        $this->company = $company;
 | 
				
			||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->purchase_order_transformer = new PurchaseOrderTransformer();
 | 
					        $this->purchase_order_transformer = new PurchaseOrderTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -160,13 +164,17 @@ class PurchaseOrderExport extends BaseExport
 | 
				
			|||||||
            if (is_array($parts) && $parts[0] == 'purchase_order' && array_key_exists($parts[1], $transformed_purchase_order)) {
 | 
					            if (is_array($parts) && $parts[0] == 'purchase_order' && array_key_exists($parts[1], $transformed_purchase_order)) {
 | 
				
			||||||
                $entity[$key] = $transformed_purchase_order[$parts[1]];
 | 
					                $entity[$key] = $transformed_purchase_order[$parts[1]];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = $this->resolveKey($key, $purchase_order, $this->purchase_order_transformer);
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $purchase_order);
 | 
				
			||||||
 | 
					                // $entity[$key] = '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                // $entity[$key] = $this->resolveKey($key, $purchase_order, $this->purchase_order_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        return $entity;
 | 
				
			||||||
        return $this->decorateAdvancedFields($purchase_order, $entity);
 | 
					        // return $this->decorateAdvancedFields($purchase_order, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function decorateAdvancedFields(PurchaseOrder $purchase_order, array $entity) :array
 | 
					    private function decorateAdvancedFields(PurchaseOrder $purchase_order, array $entity) :array
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Models\Company;
 | 
					use App\Models\Company;
 | 
				
			||||||
use App\Models\PurchaseOrder;
 | 
					use App\Models\PurchaseOrder;
 | 
				
			||||||
@ -29,6 +30,8 @@ class PurchaseOrderItemExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private bool $force_keys = false;
 | 
					    private bool $force_keys = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private array $storage_array = [];
 | 
					    private array $storage_array = [];
 | 
				
			||||||
@ -40,6 +43,7 @@ class PurchaseOrderItemExport extends BaseExport
 | 
				
			|||||||
        $this->company = $company;
 | 
					        $this->company = $company;
 | 
				
			||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->purchase_order_transformer = new PurchaseOrderTransformer();
 | 
					        $this->purchase_order_transformer = new PurchaseOrderTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function init(): Builder
 | 
					    private function init(): Builder
 | 
				
			||||||
@ -171,7 +175,10 @@ class PurchaseOrderItemExport extends BaseExport
 | 
				
			|||||||
            } elseif (array_key_exists($key, $transformed_purchase_order)) {
 | 
					            } elseif (array_key_exists($key, $transformed_purchase_order)) {
 | 
				
			||||||
                $entity[$key] = $transformed_purchase_order[$key];
 | 
					                $entity[$key] = $transformed_purchase_order[$key];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = $this->resolveKey($key, $purchase_order, $this->purchase_order_transformer);
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $purchase_order);
 | 
				
			||||||
 | 
					                // $entity[$key] = '';
 | 
				
			||||||
 | 
					                // $entity[$key] = $this->resolveKey($key, $purchase_order, $this->purchase_order_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Models\Company;
 | 
					use App\Models\Company;
 | 
				
			||||||
use App\Models\Quote;
 | 
					use App\Models\Quote;
 | 
				
			||||||
@ -29,6 +30,8 @@ class QuoteExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private array $decorate_keys = [
 | 
					    private array $decorate_keys = [
 | 
				
			||||||
        'client',
 | 
					        'client',
 | 
				
			||||||
        'currency',
 | 
					        'currency',
 | 
				
			||||||
@ -40,6 +43,7 @@ class QuoteExport extends BaseExport
 | 
				
			|||||||
        $this->company = $company;
 | 
					        $this->company = $company;
 | 
				
			||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->quote_transformer = new QuoteTransformer();
 | 
					        $this->quote_transformer = new QuoteTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function init(): Builder
 | 
					    private function init(): Builder
 | 
				
			||||||
@ -122,15 +126,17 @@ class QuoteExport extends BaseExport
 | 
				
			|||||||
            if (is_array($parts) && $parts[0] == 'quote' && array_key_exists($parts[1], $transformed_invoice)) {
 | 
					            if (is_array($parts) && $parts[0] == 'quote' && array_key_exists($parts[1], $transformed_invoice)) {
 | 
				
			||||||
                $entity[$key] = $transformed_invoice[$parts[1]];
 | 
					                $entity[$key] = $transformed_invoice[$parts[1]];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = $this->resolveKey($key, $quote, $this->quote_transformer);
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $quote);
 | 
				
			||||||
 | 
					                // $entity[$key] = '';
 | 
				
			||||||
 | 
					                // $entity[$key] = $this->resolveKey($key, $quote, $this->quote_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        return $entity;
 | 
				
			||||||
        return $this->decorateAdvancedFields($quote, $entity);
 | 
					        // return $this->decorateAdvancedFields($quote, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    private function decorateAdvancedFields(Quote $quote, array $entity) :array
 | 
					    private function decorateAdvancedFields(Quote $quote, array $entity) :array
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if (in_array('quote.currency_id', $this->input['report_keys'])) {
 | 
					        if (in_array('quote.currency_id', $this->input['report_keys'])) {
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Models\Company;
 | 
					use App\Models\Company;
 | 
				
			||||||
use App\Models\Quote;
 | 
					use App\Models\Quote;
 | 
				
			||||||
@ -29,7 +30,10 @@ class QuoteItemExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private array $storage_array = [];
 | 
					    private array $storage_array = [];
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    private array $storage_item_array = [];
 | 
					    private array $storage_item_array = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private array $decorate_keys = [
 | 
					    private array $decorate_keys = [
 | 
				
			||||||
@ -42,6 +46,7 @@ class QuoteItemExport extends BaseExport
 | 
				
			|||||||
        $this->company = $company;
 | 
					        $this->company = $company;
 | 
				
			||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->quote_transformer = new QuoteTransformer();
 | 
					        $this->quote_transformer = new QuoteTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function init(): Builder
 | 
					    public function init(): Builder
 | 
				
			||||||
@ -178,12 +183,14 @@ class QuoteItemExport extends BaseExport
 | 
				
			|||||||
            } elseif (array_key_exists($key, $transformed_quote)) {
 | 
					            } elseif (array_key_exists($key, $transformed_quote)) {
 | 
				
			||||||
                $entity[$key] = $transformed_quote[$key];
 | 
					                $entity[$key] = $transformed_quote[$key];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = $this->resolveKey($key, $quote, $this->quote_transformer);
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $quote);
 | 
				
			||||||
 | 
					                // $entity[$key] = $this->resolveKey($key, $quote, $this->quote_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return $entity;
 | 
				
			||||||
        return $this->decorateAdvancedFields($quote, $entity);
 | 
					        // return $this->decorateAdvancedFields($quote, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    private function decorateAdvancedFields(Quote $quote, array $entity) :array
 | 
					    private function decorateAdvancedFields(Quote $quote, array $entity) :array
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Models\Company;
 | 
					use App\Models\Company;
 | 
				
			||||||
use App\Models\RecurringInvoice;
 | 
					use App\Models\RecurringInvoice;
 | 
				
			||||||
@ -29,11 +30,14 @@ class RecurringInvoiceExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function __construct(Company $company, array $input)
 | 
					    public function __construct(Company $company, array $input)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $this->company = $company;
 | 
					        $this->company = $company;
 | 
				
			||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->invoice_transformer = new RecurringInvoiceTransformer();
 | 
					        $this->invoice_transformer = new RecurringInvoiceTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function init(): Builder
 | 
					    public function init(): Builder
 | 
				
			||||||
@ -115,12 +119,15 @@ class RecurringInvoiceExport extends BaseExport
 | 
				
			|||||||
            if (is_array($parts) && $parts[0] == 'recurring_invoice' && array_key_exists($parts[1], $transformed_invoice)) {
 | 
					            if (is_array($parts) && $parts[0] == 'recurring_invoice' && array_key_exists($parts[1], $transformed_invoice)) {
 | 
				
			||||||
                $entity[$key] = $transformed_invoice[$parts[1]];
 | 
					                $entity[$key] = $transformed_invoice[$parts[1]];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = $this->resolveKey($key, $invoice, $this->invoice_transformer);
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $invoice);
 | 
				
			||||||
 | 
					                // $entity[$key] = '';
 | 
				
			||||||
 | 
					                // $entity[$key] = $this->resolveKey($key, $invoice, $this->invoice_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        return $entity;
 | 
				
			||||||
        return $this->decorateAdvancedFields($invoice, $entity);
 | 
					        // return $this->decorateAdvancedFields($invoice, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function decorateAdvancedFields(RecurringInvoice $invoice, array $entity) :array
 | 
					    private function decorateAdvancedFields(RecurringInvoice $invoice, array $entity) :array
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Models\Company;
 | 
					use App\Models\Company;
 | 
				
			||||||
use App\Models\DateFormat;
 | 
					use App\Models\DateFormat;
 | 
				
			||||||
@ -34,6 +35,8 @@ class TaskExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private array $storage_array = [];
 | 
					    private array $storage_array = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private array $storage_item_array = [];
 | 
					    private array $storage_item_array = [];
 | 
				
			||||||
@ -43,6 +46,7 @@ class TaskExport extends BaseExport
 | 
				
			|||||||
        $this->company = $company;
 | 
					        $this->company = $company;
 | 
				
			||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->entity_transformer = new TaskTransformer();
 | 
					        $this->entity_transformer = new TaskTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function init(): Builder
 | 
					    public function init(): Builder
 | 
				
			||||||
@ -133,8 +137,12 @@ class TaskExport extends BaseExport
 | 
				
			|||||||
                $entity[$key] = $transformed_entity[$parts[1]];
 | 
					                $entity[$key] = $transformed_entity[$parts[1]];
 | 
				
			||||||
            } elseif (array_key_exists($key, $transformed_entity)) {
 | 
					            } elseif (array_key_exists($key, $transformed_entity)) {
 | 
				
			||||||
                $entity[$key] = $transformed_entity[$key];
 | 
					                $entity[$key] = $transformed_entity[$key];
 | 
				
			||||||
 | 
					            } elseif (in_array($key, ['task.start_date', 'task.end_date', 'task.duration'])) {
 | 
				
			||||||
 | 
					                //
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = $this->resolveKey($key, $task, $this->entity_transformer);
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $task);
 | 
				
			||||||
 | 
					                // $entity[$key] = $this->resolveKey($key, $task, $this->entity_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -187,7 +195,7 @@ class TaskExport extends BaseExport
 | 
				
			|||||||
                $entity['task.duration'] = $task->calcDuration();
 | 
					                $entity['task.duration'] = $task->calcDuration();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            $entity = $this->decorateAdvancedFields($task, $entity);
 | 
					            // $entity = $this->decorateAdvancedFields($task, $entity);
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            $this->storage_array[] = $entity;
 | 
					            $this->storage_array[] = $entity;
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace App\Export\CSV;
 | 
					namespace App\Export\CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Export\Decorators\Decorator;
 | 
				
			||||||
use App\Libraries\MultiDB;
 | 
					use App\Libraries\MultiDB;
 | 
				
			||||||
use App\Models\Company;
 | 
					use App\Models\Company;
 | 
				
			||||||
use App\Models\Vendor;
 | 
					use App\Models\Vendor;
 | 
				
			||||||
@ -30,6 +31,8 @@ class VendorExport extends BaseExport
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    public Writer $csv;
 | 
					    public Writer $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Decorator $decorator;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public string $date_key = 'created_at';
 | 
					    public string $date_key = 'created_at';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function __construct(Company $company, array $input)
 | 
					    public function __construct(Company $company, array $input)
 | 
				
			||||||
@ -38,6 +41,7 @@ class VendorExport extends BaseExport
 | 
				
			|||||||
        $this->input = $input;
 | 
					        $this->input = $input;
 | 
				
			||||||
        $this->vendor_transformer = new VendorTransformer();
 | 
					        $this->vendor_transformer = new VendorTransformer();
 | 
				
			||||||
        $this->contact_transformer = new VendorContactTransformer();
 | 
					        $this->contact_transformer = new VendorContactTransformer();
 | 
				
			||||||
 | 
					        $this->decorator = new Decorator();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function init(): Builder
 | 
					    public function init(): Builder
 | 
				
			||||||
@ -122,11 +126,15 @@ class VendorExport extends BaseExport
 | 
				
			|||||||
            } elseif (is_array($parts) && $parts[0] == 'vendor_contact' && isset($transformed_contact[$parts[1]])) {
 | 
					            } elseif (is_array($parts) && $parts[0] == 'vendor_contact' && isset($transformed_contact[$parts[1]])) {
 | 
				
			||||||
                $entity[$key] = $transformed_contact[$parts[1]];
 | 
					                $entity[$key] = $transformed_contact[$parts[1]];
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                $entity[$key] = $this->resolveKey($key, $vendor, $this->vendor_transformer);
 | 
					                // nlog($key);
 | 
				
			||||||
 | 
					                $entity[$key] = $this->decorator->transform($key, $vendor);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                // $entity[$key] = $this->resolveKey($key, $vendor, $this->vendor_transformer);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return $this->decorateAdvancedFields($vendor, $entity);
 | 
					        return $entity;
 | 
				
			||||||
 | 
					        // return $this->decorateAdvancedFields($vendor, $entity);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private function decorateAdvancedFields(Vendor $vendor, array $entity) :array
 | 
					    private function decorateAdvancedFields(Vendor $vendor, array $entity) :array
 | 
				
			||||||
 | 
				
			|||||||
@ -42,6 +42,9 @@ class PaymentDecorator extends Decorator implements DecoratorInterface
 | 
				
			|||||||
            return $this->{$key}($payment);
 | 
					            return $this->{$key}($payment);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if($payment && ($payment->{$key} ?? false)){
 | 
				
			||||||
 | 
					            return $payment->{$key};
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        return '';
 | 
					        return '';
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -78,11 +81,6 @@ class PaymentDecorator extends Decorator implements DecoratorInterface
 | 
				
			|||||||
        return $payment->exchange_rate ?? 1;
 | 
					        return $payment->exchange_rate ?? 1;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function number(Payment $payment)
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        return $payment->number ?? '';
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public function method(Payment $payment)
 | 
					    public function method(Payment $payment)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        return $payment->translatedType();
 | 
					        return $payment->translatedType();
 | 
				
			||||||
@ -98,26 +96,6 @@ class PaymentDecorator extends Decorator implements DecoratorInterface
 | 
				
			|||||||
        return strip_tags($payment->private_notes) ?? '';
 | 
					        return strip_tags($payment->private_notes) ?? '';
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function custom_value1(Payment $payment)
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        return $payment->custom_value1 ?? '';
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public function custom_value2(Payment $payment)
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        return $payment->custom_value2 ?? '';
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public function custom_value3(Payment $payment)
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        return $payment->custom_value3 ?? '';
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public function custom_value4(Payment $payment)
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        return $payment->custom_value4 ?? '';
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public function user_id(Payment $payment)
 | 
					    public function user_id(Payment $payment)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        return $payment->user ? $payment->user->present()->name() : '';
 | 
					        return $payment->user ? $payment->user->present()->name() : '';
 | 
				
			||||||
 | 
				
			|||||||
@ -27,7 +27,7 @@ class VendorContactDecorator implements DecoratorInterface
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        if($contact && method_exists($this, $key)) {
 | 
					        if($contact && method_exists($this, $key)) {
 | 
				
			||||||
            return $this->{$key}($contact);
 | 
					            return $this->{$key}($contact);
 | 
				
			||||||
        } elseif($contact->{$key}) {
 | 
					        } elseif($contact && $contact->{$key}) {
 | 
				
			||||||
            return $contact->{$key} ?? '';
 | 
					            return $contact->{$key} ?? '';
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -17,8 +17,8 @@ return [
 | 
				
			|||||||
    'require_https' => env('REQUIRE_HTTPS', true),
 | 
					    'require_https' => env('REQUIRE_HTTPS', true),
 | 
				
			||||||
    'app_url' => rtrim(env('APP_URL', ''), '/'),
 | 
					    'app_url' => rtrim(env('APP_URL', ''), '/'),
 | 
				
			||||||
    'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
 | 
					    'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
 | 
				
			||||||
    'app_version' => env('APP_VERSION', '5.7.55'),
 | 
					    'app_version' => env('APP_VERSION', '5.7.56'),
 | 
				
			||||||
    'app_tag' => env('APP_TAG', '5.7.55'),
 | 
					    'app_tag' => env('APP_TAG', '5.7.56'),
 | 
				
			||||||
    'minimum_client_version' => '5.0.16',
 | 
					    'minimum_client_version' => '5.0.16',
 | 
				
			||||||
    'terms_version' => '1.0.1',
 | 
					    'terms_version' => '1.0.1',
 | 
				
			||||||
    'api_secret' => env('API_SECRET', false),
 | 
					    'api_secret' => env('API_SECRET', false),
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user