added import and export recurring invoices
This commit is contained in:
		@@ -0,0 +1,49 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Imports\Sales\RecurringInvoices\Sheets;
 | 
			
		||||
 | 
			
		||||
use App\Abstracts\Import;
 | 
			
		||||
use App\Http\Requests\Document\DocumentHistory as Request;
 | 
			
		||||
use App\Models\Document\Document;
 | 
			
		||||
use App\Models\Document\DocumentHistory as Model;
 | 
			
		||||
 | 
			
		||||
class RecurringInvoiceHistories extends Import
 | 
			
		||||
{
 | 
			
		||||
    public $request_class = Request::class;
 | 
			
		||||
 | 
			
		||||
    public function model(array $row)
 | 
			
		||||
    {
 | 
			
		||||
        return new Model($row);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function map($row): array
 | 
			
		||||
    {
 | 
			
		||||
        if ($this->isEmpty($row, 'invoice_number')) {
 | 
			
		||||
            return [];
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $row['invoice_number'] = (string) $row['invoice_number'];
 | 
			
		||||
 | 
			
		||||
        $row = parent::map($row);
 | 
			
		||||
 | 
			
		||||
        $row['document_id'] = (int) Document::where('type', '=', Document::INVOICE_RECURRING_TYPE)
 | 
			
		||||
            ->number($row['invoice_number'])
 | 
			
		||||
            ->pluck('id')
 | 
			
		||||
            ->first();
 | 
			
		||||
 | 
			
		||||
        $row['notify'] = (int) $row['notify'];
 | 
			
		||||
 | 
			
		||||
        $row['type'] = Document::INVOICE_RECURRING_TYPE;
 | 
			
		||||
 | 
			
		||||
        return $row;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function prepareRules(array $rules): array
 | 
			
		||||
    {
 | 
			
		||||
        $rules['invoice_number'] = 'required|string';
 | 
			
		||||
 | 
			
		||||
        unset($rules['invoice_id']);
 | 
			
		||||
 | 
			
		||||
        return $rules;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user