mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 11:41:09 -04:00
* Create PHP CS Fixer config and add to CI workflow * Run php cs fixer on project * Add newline at end of file * Update to use PHP CS Fixer v3 * Run v3 config on project * Run seperate config in CI
44 lines
1.4 KiB
PHP
44 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Crater\Http\Controllers\V1\Mobile\Customer;
|
|
|
|
use Crater\Http\Controllers\Controller;
|
|
use Crater\Mail\EstimateViewedMail;
|
|
use Crater\Models\CompanySetting;
|
|
use Crater\Models\Estimate;
|
|
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');
|
|
}
|
|
}
|