51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\View\Components\Widgets;
 | |
| 
 | |
| use App\Abstracts\View\Component;
 | |
| 
 | |
| class InvoiceHistory extends Component
 | |
| {
 | |
|     public $contact;
 | |
| 
 | |
|     public $model;
 | |
| 
 | |
|     public $invoices;
 | |
| 
 | |
|     /**
 | |
|      * Create a new component instance.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function __construct(
 | |
|         $model = false, $invoices = false, $contact = false
 | |
|     ) {
 | |
|         $this->contact = ! empty($contact) ? $contact : user()->contact;
 | |
|         $this->model = $model;
 | |
|         $this->invoices = $this->getPayment($model, $invoices);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Get the view / contents that represent the component.
 | |
|      *
 | |
|      * @return \Illuminate\Contracts\View\View|string
 | |
|      */
 | |
|     public function render()
 | |
|     {
 | |
|         return view('components.widgets.invoice_history');
 | |
|     }
 | |
| 
 | |
|     protected function getPayment($model, $invoices)
 | |
|     {
 | |
|         if (! empty($model)) {
 | |
|             return $model;
 | |
|         }
 | |
| 
 | |
|         if (! empty($invoices)) {
 | |
|             return $invoices;
 | |
|         }
 | |
| 
 | |
|         return $this->contact->invoices()->orderBy('created_at', 'desc')->limit(3)->get();
 | |
|     }
 | |
| }
 |