File: D:/HostingSpaces/SBogers10/shop.komma.nl/app/Orders/Mail/OrderManualActionRequiredStaff.php
<?php
namespace App\Orders\Mail;
use App\Checkout\CheckoutService;
use App\Orders\Models\Order;
use App\Orders\OrderStatus;
use Komma\KMS\Globalization\RegionInfo;
use Komma\KMS\Globalization\RegionInfoInterface;
use Komma\KMS\Users\Models\KmsUser;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class OrderManualActionRequiredStaff extends Mailable
{
use Queueable, SerializesModels;
private Order $order;
private KmsUser $staffMember;
private RegionInfo $regionInfo;
private CheckoutService $checkoutService;
/**
* Create a new message instance.
*
* @param Order $order
* @param KmsUser $staffMember
* @see OrderStatus
*/
public function __construct(Order $order, KmsUser $staffMember)
{
$this->checkoutService = new CheckoutService();
$this->order = $order;
$this->staffMember = $staffMember;
$this->regionInfo = app(RegionInfoInterface::class);
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
//Prepare mail view data
$data = [
'showTotal' => true,
'order' => $this->order,
'vatRateTotals' => $this->checkoutService->getVatRateTotalsFromOrder($this->order),
'greeting' => __('site/form.form.salutation.informal.'.$this->order->customer->gender.'.with_salutation.long').' '.$this->staffMember->first_name.' '.$this->staffMember->last_name,
'body' => __('KMS::orders.mail.manual_action.staff.body', ['order_number' => $this->order->order_number]),
'button_text' => __('KMS::orders.mail.manual_action.staff.button_text'),
'closure' => __('KMS::orders.mail.manual_action.staff.closure'),
'name' => config('site.company.name'),
'button_url' => route('orders.show', ['order' => $this->order]),
'shopRegionInfo' => $this->regionInfo,
];
$this->subject(__('KMS::orders.mail.manual_action.staff.subject', [
'order_number' => $this->order->order_number,
]));
return $this->view('emails.shop.orderManualActionRequiredStaff', $data);
}
}