47 lines
1.5 KiB
PHP
47 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Bo;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Order;
|
|
use App\Models\OrdersProducts;
|
|
use App\Models\Product;
|
|
|
|
class OrdersController extends Controller
|
|
{
|
|
public function index() {
|
|
$orders = Order::orderBy('date', 'DESC')->get();
|
|
return view('bo.orders', compact('orders'));
|
|
}
|
|
|
|
public function changeStatus($reference) {
|
|
$order = Order::where('reference', $reference)->first();
|
|
$order->status_id = $order->status_id + 1;
|
|
$order->save();
|
|
|
|
return redirect()->route('bo.orders')->with('success', "Changement de status enregistré pour la commande " . $order->reference . ".");
|
|
}
|
|
|
|
public function cancelOrder($reference) {
|
|
$order = Order::where('reference', $reference)->first();
|
|
$order->status_id = 7;
|
|
$order->save();
|
|
|
|
return redirect()->route('bo.orders')->with('success', "La commande à été annulée.");
|
|
}
|
|
|
|
public function addProduct($orderReference, $productId, $quantity) {
|
|
$product = Product::findOrFail($productId);
|
|
$order = Order::where('reference', $orderReference)->first();
|
|
|
|
$order->total = $order->total + (($product->price - $product->price_buy) * $quantity);
|
|
$orderProduct = new OrdersProducts();
|
|
$orderProduct->product_id = $product->id;
|
|
$orderProduct->order_id = $order->id;
|
|
$orderProduct->quantity = $quantity;
|
|
$orderProduct->save();
|
|
|
|
|
|
return redirect()->route('bo.orders')->with('success', "Le produit à été ajouté.");
|
|
}
|
|
}
|