51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Http\ViewComposers;
 | |
| 
 | |
| use Illuminate\View\View;
 | |
| use Illuminate\Support\Str;
 | |
| 
 | |
| class DocumentRecurring
 | |
| {
 | |
|     /**
 | |
|      * Bind data to the view.
 | |
|      *
 | |
|      * @param  View  $view
 | |
|      * @return void
 | |
|      */
 | |
|     public function compose(View $view)
 | |
|     {
 | |
|         $route = request()->route();
 | |
| 
 | |
|         if (empty($route)) {
 | |
|             return;
 | |
|         }
 | |
| 
 | |
|         /** @var Invoices|Bills|PortalInvoices $controller */
 | |
|         $controller = $route->getController();
 | |
| 
 | |
|         $type = $controller->type ?? '';
 | |
| 
 | |
|         if (! Str::contains($type, 'recurring')) {
 | |
|             return;
 | |
|         }
 | |
| 
 | |
|         $payment_terms = [
 | |
|             '0'  => trans('settings.invoice.due_receipt'),
 | |
|             '15' => trans('settings.invoice.due_days', ['days' => 15]),
 | |
|             '30' => trans('settings.invoice.due_days', ['days' => 30]),
 | |
|             '45' => trans('settings.invoice.due_days', ['days' => 45]),
 | |
|             '60' => trans('settings.invoice.due_days', ['days' => 60]),
 | |
|             '90' => trans('settings.invoice.due_days', ['days' => 90]),
 | |
|         ];
 | |
| 
 | |
|         $view->with([
 | |
|             'type' => $type,
 | |
|             'payment_terms' => $payment_terms,
 | |
|         ]);
 | |
| 
 | |
|         // Override the whole file
 | |
|         $view->setPath(view('components.documents.form.recurring_metadata', compact('type', 'payment_terms'))->getPath());
 | |
|     }
 | |
| }
 |