Add new data in getBasket context

This commit is contained in:
Ludovic CANDELLIER
2022-04-24 23:20:52 +02:00
parent f3e9ccaa46
commit 6fc6451f6f
5 changed files with 41 additions and 22 deletions

View File

@@ -12,11 +12,10 @@ use App\Repositories\Shop\Orders;
class BasketController extends Controller
{
public function getPrice(Request $request)
{
$offer_id = $request->input('offer_id');
$quantity = $request->input('quantity');
$quantity = $request->input('quantity') ?? 1;
$price = Offers::getPrice($offer_id, $quantity)->price_taxed;
return number_format($quantity * $price, 2);
}
@@ -24,12 +23,11 @@ class BasketController extends Controller
public function addBasket(Request $request)
{
$offer_id = $request->input('offer_id');
$quantity = $request->input('quantity');
$quantity = $request->input('quantity') ?? 1;
$update = $request->input('update') ?? false;
return Offers::addBasket($offer_id, $quantity, $update);
}
public function modalBasket($offer_id, $quantity)
{
$data['offer'] = Offers::getFull($offer_id)->toArray();
@@ -41,6 +39,8 @@ class BasketController extends Controller
{
$data = self::init();
$data['basket'] = Offers::getBasket();
dump($data['basket']);
exit;
return view('Shop.Baskets.basket', $data);
}

View File

@@ -6,10 +6,11 @@ use Illuminate\Database\Eloquent\Model;
use Znck\Eloquent\Traits\BelongsToThrough;
use App\Traits\Model\HasComments;
use Staudenmeir\EloquentHasManyDeep\HasRelationships;
class Offer extends Model
{
use BelongsToThrough, HasComments;
use BelongsToThrough, HasComments, HasRelationships;
protected $guarded = ['id'];
protected $table = 'shop_offers';
@@ -27,6 +28,26 @@ class Offer extends Model
]);
}
public function categories()
{
return $this->article->categories();
}
public function price_lists()
{
return $this->hasManyThrough(PriceList::class, Tariff::class, 'id', 'tariff_id', 'tariff_id', 'id');
}
public function price_list_values()
{
return $this->hasManyDeep(
PriceListValue::class,
[Tariff::class, PriceList::class],
['id', 'tariff_id', 'price_list_id'],
['tariff_id', 'id', 'id'],
);
}
public function tariff()
{
return $this->belongsTo(Tariff::class);
@@ -37,16 +58,6 @@ class Offer extends Model
return $this->belongsTo(Variation::class);
}
public function price_lists()
{
return $this->hasManyThrough(PriceList::class, Tariff::class, 'id', 'tariff_id', 'tariff_id', 'id');
}
public function categories()
{
return $this->article->categories();
}
public function tags()
{
return $this->article->tags();

View File

@@ -47,10 +47,16 @@ class Offers
{
$basket = ShopCart::getContent();
// dump($basket->toArray());
$offers = Offer::with(['variation', 'article.article_nature', 'article.image'])->whereIn('id', ShopCart::keys())->get();
$offers = Offer::with([
'variation',
'article.article_nature',
'article.product.Specie',
'article.image',
])->whereIn('id', ShopCart::keys())->get();
foreach ($basket as $item) {
$offer = $offers->where('id', $item->id)->first();
dump($offer->toArray());
exit;
$article_nature = strtolower($offer->article->article_nature->name);
$data[$article_nature][] = [
'id' => (int) $item->id,

View File

@@ -19,7 +19,7 @@
@foreach ($basket as $nature => $items)
<div class="row ml-1 mb-3 p-2 bg-green-light border">
<div class="col-12">
<h2 style="font-size: 1.6em;">{{ ucfirst($nature) }}</h2>
<h2 style="font-size: 1.6em;" class="text-uppercase">{{ $nature }}</h2>
@foreach ($items as $item)
@include('Shop.Baskets.partials.article')
@endforeach
@@ -32,6 +32,7 @@
<div class="row mb-3">
<div class="col-6 text-uppercase">
Tarif appliqué
<span id="basket_sale_channel"></span>
</div>
<div class="col-6">
{{ $sale_channel['name'] ?? '' }}
@@ -41,7 +42,7 @@
<div class="col-6">
<span id="basket-count"></span> ARTICLES
</div>
<div class="col-6 text-right">
<div class="col-6 text-right font-weight-bold">
<span id="basket-total"></span>
</div>
</div>
@@ -49,12 +50,12 @@
<div class="col-6">
LIVRAISON
</div>
<div class="col-6 text-right">
<div class="col-6 text-right font-weight-bold">
<span id="shipping">5</span>
</div>
</div>
<hr>
<div class="row m-3" style="font-size: 1.6em; font-weight: 600;">
<div class="row m-3 font-weight-bold" style="font-size: 1.6em;">
<div class="col-6">
TOTAL TTC
</div>

View File

@@ -1,9 +1,10 @@
<div class="row basket-row" id="basket_offer-{{ $item['id'] }}" data-id={{ $item['id'] }}>
<div class="col-2 text-center">
<img src="{{ $item['image'] }}" class="img-fluid">
<img src="{{ $item['image'] }}" class="img-fluid border border-success">
</div>
<div class="col-10">
<h3 style="font-size: 1.4em;">{{ $item['name'] }}</h3>
<h4>{{ $item['article']['product']['specie']['latin'] }}</h4>
{{ $item['variation'] }}<br/>
<div class="row">
<div class="col-6">