mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-31 13:41:09 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Crater\Http\Controllers\V1\Mobile\Customer;
 | |
| 
 | |
| use Barryvdh\DomPDF\PDF;
 | |
| use Crater\Models\Company;
 | |
| use Crater\Models\CompanySetting;
 | |
| use Crater\Models\Estimate;
 | |
| use Crater\Models\EstimateTemplate;
 | |
| use Crater\Http\Controllers\Controller;
 | |
| use Crater\Mail\EstimateViewedMail;
 | |
| use Crater\Models\User;
 | |
| 
 | |
| class EstimatePdfController extends Controller
 | |
| {
 | |
|     /**
 | |
|      * Handle the incoming request.
 | |
|      *
 | |
|      * @param  \Illuminate\Http\Request  $request
 | |
|      * @return \Illuminate\Http\Response
 | |
|      */
 | |
|     public function __invoke(Estimate $estimate)
 | |
|     {
 | |
|         if ($estimate && ($estimate->status == Estimate::STATUS_SENT || $estimate->status == Estimate::STATUS_DRAFT)) {
 | |
|             $estimate->status = Estimate::STATUS_VIEWED;
 | |
|             $estimate->save();
 | |
|             $notifyEstimateViewed = CompanySetting::getSetting(
 | |
|                 'notify_estimate_viewed',
 | |
|                 $estimate->company_id
 | |
|             );
 | |
| 
 | |
|             if ($notifyEstimateViewed == 'YES') {
 | |
|                 $data['estimate'] = Estimate::findOrFail($estimate->id)->toArray();
 | |
|                 $data['user'] = User::find($estimate->user_id)->toArray();
 | |
|                 $notificationEmail = CompanySetting::getSetting(
 | |
|                     'notification_email',
 | |
|                     $estimate->company_id
 | |
|                 );
 | |
| 
 | |
|                 \Mail::to($notificationEmail)->send(new EstimateViewedMail($data));
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         return $estimate->getGeneratedPDFOrStream('estimate');
 | |
|     }
 | |
| }
 |