Add cancel order button for the customer
This commit is contained in:
parent
e1820ba1ac
commit
825d47797b
3 changed files with 75 additions and 0 deletions
|
|
@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
|||
use App\Http\Requests\CustomerRegisterRequest;
|
||||
use App\Http\Requests\LoginRequest;
|
||||
use App\Http\Requests\UpdateInfosRequest;
|
||||
use App\Mail\OrderCanceledConfirmMail;
|
||||
use App\Mail\PasswordResetMail;
|
||||
use App\Mail\RegisterConfirmMail;
|
||||
use App\Models\Customers;
|
||||
|
|
@ -12,6 +13,7 @@ use App\Models\Magasin;
|
|||
use App\Models\Order;
|
||||
use App\Models\PasswordReset;
|
||||
use App\Models\Salarie;
|
||||
use App\Models\Setting;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
|
@ -455,6 +457,31 @@ class CustomerController extends Controller
|
|||
return view('customer.order-detail', compact('order', 'magasin'));
|
||||
}
|
||||
|
||||
/**
|
||||
* mise au statut annulé d'une commande
|
||||
*
|
||||
* @param string $reference
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function cancelOrder(string $reference)
|
||||
{
|
||||
$order = Order::where('reference', $reference)->first();
|
||||
$order->status_id = 7;
|
||||
$order->save();
|
||||
|
||||
// Envoi du mail de confirmation aux admins site.
|
||||
$toMailSetting = Setting::where('key', 'send_order_confirm_mail_to')->first();
|
||||
if (empty($toMailSetting->value)) {
|
||||
$toMail = config('mail.from.address');
|
||||
} else {
|
||||
$toMail = $toMailSetting->value;
|
||||
}
|
||||
|
||||
Mail::to($toMail)->queue(new OrderCanceledConfirmMail($order));
|
||||
|
||||
return back()->with('success', "La commande " . $order->reference . " à été annulée.");
|
||||
}
|
||||
|
||||
/**
|
||||
* delete customers
|
||||
*
|
||||
|
|
|
|||
47
app/Mail/OrderCanceledConfirmMail.php
Normal file
47
app/Mail/OrderCanceledConfirmMail.php
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
|
||||
namespace App\Mail;
|
||||
|
||||
use App\Models\Order;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Mail\Mailable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class OrderCanceledConfirmMail extends Mailable
|
||||
{
|
||||
use Queueable;
|
||||
use SerializesModels;
|
||||
|
||||
/**
|
||||
* The Order
|
||||
*
|
||||
* @var \App\Models\Order
|
||||
*/
|
||||
private $order;
|
||||
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*
|
||||
* @param \App\Models\Order $order
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(Order $order)
|
||||
{
|
||||
$this->order = $order;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function build()
|
||||
{
|
||||
$order = $this->order;
|
||||
|
||||
return $this->subject(
|
||||
"Commande " . config('theme.site_name') . " n°" . $order->reference . " a été annulée."
|
||||
)->view('mails.order-canceled-confirm', compact('order'));
|
||||
}
|
||||
}
|
||||
|
|
@ -222,6 +222,7 @@ Route::name('account.')
|
|||
)->name('change-password');
|
||||
Route::get('/commandes', [CustomerController::class, 'myOrders'])->name('my-orders');
|
||||
Route::get('/commandes/{reference}', [CustomerController::class, 'orderDetail'])->name('order-detail');
|
||||
Route::get('/commandes/{reference}/annuler', [CustomerController::class, 'cancelOrder'])->name('cancel-order');
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue