MIF_E31222707/Modules/Quotation/Http/Controllers/QuotationSalesController.php

49 lines
1.7 KiB
PHP

<?php
namespace Modules\Quotation\Http\Controllers;
use Gloudemans\Shoppingcart\Facades\Cart;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Gate;
use Modules\Product\Entities\Product;
use Modules\Quotation\Entities\Quotation;
use Modules\Quotation\Http\Requests\StoreQuotationSaleRequest;
class QuotationSalesController extends Controller
{
public function __invoke(Quotation $quotation) {
abort_if(Gate::denies('create_quotation_sales'), 403);
$quotation_details = $quotation->quotationDetails;
Cart::instance('sale')->destroy();
$cart = Cart::instance('sale');
foreach ($quotation_details as $quotation_detail) {
$cart->add([
'id' => $quotation_detail->product_id,
'name' => $quotation_detail->product_name,
'qty' => $quotation_detail->quantity,
'price' => $quotation_detail->price,
'weight' => 1,
'options' => [
'product_discount' => $quotation_detail->product_discount_amount,
'product_discount_type' => $quotation_detail->product_discount_type,
'sub_total' => $quotation_detail->sub_total,
'code' => $quotation_detail->product_code,
'stock' => Product::findOrFail($quotation_detail->product_id)->product_quantity,
'product_tax' => $quotation_detail->product_tax_amount,
'unit_price' => $quotation_detail->unit_price
]
]);
}
return view('quotation::quotation-sales.create', [
'quotation_id' => $quotation->id,
'sale' => $quotation
]);
}
}