Notification after invoice state
This commit is contained in:
@@ -3,6 +3,11 @@
|
||||
namespace App\Domains\Invoice\Actions\ChangeStatus;
|
||||
|
||||
use App\Enumerations\InvoiceStatus;
|
||||
use App\Mail\InvoiceMails\InvoiceMailsApprovedInvoiceMail;
|
||||
use App\Mail\InvoiceMails\InvoiceMailsDeniedInvoiceMail;
|
||||
use App\Mail\InvoiceMails\InvoiceMailsReopenedInvoiceMail;
|
||||
use App\Mail\ParticipantCocMails\ParticipantCocCompleteMail;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
|
||||
class ChangeStatusCommand {
|
||||
private ChangeStatusRequest $request;
|
||||
@@ -19,6 +24,13 @@ class ChangeStatusCommand {
|
||||
$this->request->invoice->status = InvoiceStatus::INVOICE_STATUS_APPROVED;
|
||||
$this->request->invoice->approved_by = auth()->user()->id;
|
||||
$this->request->invoice->approved_at = now();
|
||||
|
||||
if ($this->request->invoice->contact_email !== null) {
|
||||
Mail::to($this->request->invoice->contact_email)->send(new InvoiceMailsApprovedInvoiceMail(
|
||||
invoice: $this->request->invoice,
|
||||
costUnit: $this->request->invoice->costUnit()->first(),
|
||||
));
|
||||
}
|
||||
break;
|
||||
|
||||
case InvoiceStatus::INVOICE_STATUS_DENIED:
|
||||
@@ -26,6 +38,12 @@ class ChangeStatusCommand {
|
||||
$this->request->invoice->denied_by = auth()->user()->id;
|
||||
$this->request->invoice->denied_at = now();
|
||||
$this->request->invoice->denied_reason = $this->request->comment;
|
||||
if ($this->request->invoice->contact_email !== null) {
|
||||
Mail::to($this->request->invoice->contact_email)->send(new InvoiceMailsDeniedInvoiceMail(
|
||||
invoice: $this->request->invoice,
|
||||
costUnit: $this->request->invoice->costUnit()->first(),
|
||||
));
|
||||
}
|
||||
break;
|
||||
case InvoiceStatus::INVOICE_STATUS_NEW:
|
||||
$this->request->invoice->status = InvoiceStatus::INVOICE_STATUS_NEW;
|
||||
@@ -35,6 +53,12 @@ class ChangeStatusCommand {
|
||||
$this->request->invoice->denied_at = null;
|
||||
$this->request->invoice->comment = $this->request->invoice->denied_reason;
|
||||
$this->request->invoice->denied_reason = null;
|
||||
if ($this->request->invoice->contact_email !== null) {
|
||||
Mail::to($this->request->invoice->contact_email)->send(new InvoiceMailsReopenedInvoiceMail(
|
||||
invoice: $this->request->invoice,
|
||||
costUnit: $this->request->invoice->costUnit()->first(),
|
||||
));
|
||||
}
|
||||
break;
|
||||
case InvoiceStatus::INVOICE_STATUS_DELETED:
|
||||
$this->request->invoice->status = InvoiceStatus::INVOICE_STATUS_DELETED;
|
||||
@@ -49,7 +73,6 @@ class ChangeStatusCommand {
|
||||
$response->success = true;
|
||||
}
|
||||
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user