Import/Export for Transfers
This commit is contained in:
		
							
								
								
									
										60
									
								
								app/Exports/Banking/Transfers.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								app/Exports/Banking/Transfers.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,60 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Exports\Banking;
 | 
			
		||||
 | 
			
		||||
use App\Abstracts\Export;
 | 
			
		||||
use App\Models\Banking\Transfer as Model;
 | 
			
		||||
use App\Utilities\Date;
 | 
			
		||||
 | 
			
		||||
class Transfers extends Export
 | 
			
		||||
{
 | 
			
		||||
    public function collection()
 | 
			
		||||
    {
 | 
			
		||||
        $model = Model::with(
 | 
			
		||||
            'expense_transaction',
 | 
			
		||||
            'expense_transaction.account',
 | 
			
		||||
            'income_transaction',
 | 
			
		||||
            'income_transaction.account'
 | 
			
		||||
        )->usingSearchString(request('search'));
 | 
			
		||||
 | 
			
		||||
        if (!empty($this->ids)) {
 | 
			
		||||
            $model->whereIn('id', (array) $this->ids);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return $model->cursor();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function map($model): array
 | 
			
		||||
    {
 | 
			
		||||
        $model->transferred_at = Date::parse($model->expense_transaction->paid_at)->format('Y-m-d');
 | 
			
		||||
        $model->amount = $model->expense_transaction->amount;
 | 
			
		||||
        $model->from_account_name = $model->expense_transaction->account->name;
 | 
			
		||||
        $model->from_currency_code = $model->expense_transaction->currency_code;
 | 
			
		||||
        $model->from_currency_rate = $model->expense_transaction->currency_rate;
 | 
			
		||||
        $model->to_account_name = $model->income_transaction->account->name;
 | 
			
		||||
        $model->to_currency_code = $model->income_transaction->currency_code;
 | 
			
		||||
        $model->to_currency_rate = $model->income_transaction->currency_rate;
 | 
			
		||||
        $model->description = $model->income_transaction->description;
 | 
			
		||||
        $model->payment_method = $model->income_transaction->payment_method;
 | 
			
		||||
        $model->reference = $model->income_transaction->reference;
 | 
			
		||||
 | 
			
		||||
        return parent::map($model);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function fields(): array
 | 
			
		||||
    {
 | 
			
		||||
        return [
 | 
			
		||||
            'transferred_at',
 | 
			
		||||
            'amount',
 | 
			
		||||
            'from_currency_code',
 | 
			
		||||
            'from_currency_rate',
 | 
			
		||||
            'from_account_name',
 | 
			
		||||
            'to_currency_code',
 | 
			
		||||
            'to_currency_rate',
 | 
			
		||||
            'to_account_name',
 | 
			
		||||
            'description',
 | 
			
		||||
            'payment_method',
 | 
			
		||||
            'reference',
 | 
			
		||||
        ];
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user