Merge pull request #67 from bagisto/jitendra

Jitendra
This commit is contained in:
prashant-webkul 2018-10-18 15:52:22 +05:30 committed by GitHub
commit 40ecc72b04
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 130 additions and 135 deletions

View File

@ -61,9 +61,9 @@
</td>
<td>
<div class="control-group" :class="[errors.has('ratio') ? 'has-error' : '']">
<input v-validate="'required'" class="control" id="ratio" name="ratio" value="{{ old('ratio') ?: $exchangeRate->ratio }}"/>
<span class="control-error" v-if="errors.has('ratio')">@{{ errors.first('ratio') }}</span>
<div class="control-group" :class="[errors.has('rate') ? 'has-error' : '']">
<input v-validate="'required'" class="control" id="rate" name="rate" value="{{ old('rate') ?: $exchangeRate->rate }}"/>
<span class="control-error" v-if="errors.has('rate')">@{{ errors.first('rate') }}</span>
</div>
</td>
<tr>

View File

@ -161,7 +161,6 @@ class Cart {
*/
public function add($id, $data)
{
$itemData = $this->prepareItemData($id, $data);
if(!$itemData) {
@ -196,8 +195,6 @@ class Cart {
'base_total' => $cartItem->price * ($prevQty + $newQty)
]);
$this->collectTotals();
session()->flash('success', trans('shop::app.checkout.cart.quantity.success'));
return true;
@ -248,8 +245,6 @@ class Cart {
$parent = $cart->items()->create($itemData['parent']);
}
$this->collectTotals();
session()->flash('success', trans('shop::app.checkout.cart.item.success'));
return $cart;
@ -323,8 +318,6 @@ class Cart {
session()->flash('success', trans('shop::app.checkout.cart.item.success'));
$this->collectTotals();
return $cart;
}
}
@ -334,8 +327,6 @@ class Cart {
session()->flash('success', trans('shop::app.checkout.cart.item.success'));
$this->collectTotals();
return $cart;
}
}
@ -493,8 +484,6 @@ class Cart {
}
$item->update(['quantity' => $quantity]);
$this->collectTotals();
}
}
}
@ -515,8 +504,6 @@ class Cart {
if($cart = $this->getCart()) {
$this->cartItem->delete($itemId);
$this->collectTotals();
//delete the cart instance if no items are there
if($cart->items()->get()->count() == 0) {
$this->cart->delete($cart->id);

View File

@ -17,7 +17,7 @@ class CreateCurrencyExchangeRatesTable extends Migration
$table->increments('id');
$table->decimal('rate', 10, 5);
$table->integer('target_currency')->unsigned();
$table->integer('target_currency')->unique()->unsigned();
$table->foreign('target_currency')->references('id')->on('currencies')->onDelete('cascade');
$table->timestamps();
});

View File

@ -85,7 +85,7 @@ class ExchangeRateController extends Controller
public function store(Request $request)
{
$this->validate(request(), [
'target_currency' => 'required',
'target_currency' => ['required', 'unique:currency_exchange_rates,target_currency'],
'rate' => 'required|numeric'
]);
@ -121,8 +121,8 @@ class ExchangeRateController extends Controller
public function update(Request $request, $id)
{
$this->validate(request(), [
'target_currency' => 'required',
'ratio' => 'required|numeric'
'target_currency' => ['required', 'unique:currency_exchange_rates,target_currency,' . $id],
'rate' => 'required|numeric'
]);
$this->exchangeRate->update(request()->all(), $id);

View File

@ -88,9 +88,11 @@ class CartController extends Controller
public function add($id) {
$data = request()->input();
// dd($data);
Cart::add($id, $data);
Cart::collectTotals();
return redirect()->back();
}
@ -102,6 +104,8 @@ class CartController extends Controller
public function remove($itemId) {
Cart::removeItem($itemId);
Cart::collectTotals();
return redirect()->back();
}
@ -123,6 +127,8 @@ class CartController extends Controller
Cart::update($data);
Cart::collectTotals();
return redirect()->back();
}

View File

@ -241,7 +241,8 @@ return [
'success_remove' => 'Item removed successfully',
'error_add' => 'Item cannot be added to cart',
],
'quantity-error' => 'Requested quantity is not available.'
'quantity-error' => 'Requested quantity is not available.',
'cart-subtotal' => 'Cart Subtotal'
],
'onepage' => [

View File

@ -28,26 +28,30 @@
@foreach($cart->items as $item)
<?php
$product = $item->product;
$productBaseImage = $productImageHelper->getProductBaseImage($product);
if($item->type == "configurable")
$productBaseImage = $productImageHelper->getProductBaseImage($item->child->product);
else
$productBaseImage = $productImageHelper->getProductBaseImage($item->product);
?>
<div class="item">
<div style="margin-right: 15px;">
<a href="{{ url()->to('/').'/products/'.$product->url_key }}"><img class="item-image" src="{{ $productBaseImage['medium_image_url'] }}" /></a>
<a href="{{ url()->to('/').'/products/'.$item->product->url_key }}"><img class="item-image" src="{{ $productBaseImage['medium_image_url'] }}" /></a>
</div>
<div class="item-details">
<div class="item-title">
<a href="{{ url()->to('/').'/products/'.$product->url_key }}">{{ $product->name }}</a>
<a href="{{ url()->to('/').'/products/'.$item->product->url_key }}">
{{ $item->product->name }}
</a>
</div>
<div class="price">
{{ core()->currency($item->base_price) }}
</div>
@if ($product->type == 'configurable')
@if ($item->type == 'configurable')
<div class="summary">

View File

@ -0,0 +1,92 @@
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
<?php $cart = cart()->getCart(); ?>
@if($cart)
<?php $items = $cart->items; ?>
<div class="dropdown-toggle">
<div style="display: inline-block; cursor: pointer;">
<span class="name">
Cart
<span class="count"> ({{ intval($cart->items_qty) }})</span>
</span>
</div>
<i class="icon arrow-down-icon active"></i>
</div>
<div class="dropdown-list" style="display: none; top: 50px; right: 0px">
<div class="dropdown-container">
<div class="dropdown-cart">
<div class="dropdown-header">
<p class="heading">
{{ __('shop::app.checkout.cart.cart-subtotal') }} -
{{ core()->currency($cart->sub_total) }}
</p>
</div>
<div class="dropdown-content">
@foreach($items as $item)
@if($item->type == "configurable")
<div class="item">
<div class="item-image" >
@php
$images = $productImageHelper->getProductBaseImage($item->child->product);
@endphp
<img src="{{ $images['small_image_url'] }}" />
</div>
<div class="item-details">
<div class="item-name">{{ $item->child->name }}</div>
<div class="item-price">{{ core()->currency($item->total) }}</div>
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
</div>
</div>
@else
<div class="item">
<div class="item-image" >
@php
$images = $productImageHelper->getProductBaseImage($item->product);
@endphp
<img src="{{ $images['small_image_url'] }}" />
</div>
<div class="item-details">
<div class="item-name">{{ $item->name }}</div>
<div class="item-price">{{ $item->total }}</div>
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
</div>
</div>
@endif
@endforeach
</div>
<div class="dropdown-footer">
<a href="{{ route('shop.checkout.cart.index') }}">View Shopping Cart</a>
<a class="btn btn-primary btn-lg" style="color: white;" href="{{ route('shop.checkout.onepage.index') }}">CHECKOUT</a>
</div>
</div>
</div>
</div>
@else
<div class="dropdown-toggle">
<div style="display: inline-block; cursor: pointer;">
<span class="name">Cart<span class="count"> (0) </span></span>
</div>
</div>
@endif

View File

@ -3,11 +3,7 @@
<div class="item-detail">
<label>
@if($cart->items_qty - intval($cart->items_qty) > 0)
{{ $cart->items_qty }}
@else
{{ intval($cart->items_qty) }}
@endif
{{ intval($cart->items_qty) }}
{{ __('shop::app.checkout.total.sub-total') }}
{{ __('shop::app.checkout.total.price') }}
</label>

View File

@ -100,108 +100,13 @@
<ul class="cart-dropdown-container">
<?php $cart = cart()->getCart(); ?>
@inject ('productImageHelper', 'Webkul\Product\Helpers\ProductImage')
<li class="cart-dropdown">
<span class="icon cart-icon"></span>
@if($cart)
<?php $items = $cart->items; ?>
<div class="dropdown-toggle">
<div style="display: inline-block; cursor: pointer;">
@if($cart->items_qty - intval($cart->items_qty) > 0)
<span class="name">
Cart
<span class="count"> ({{ $cart->items_qty }})</span>
</span>
@else
<span class="name">
Cart
<span class="count"> ({{ intval($cart->items_qty) }})</span>
</span>
@endif
</div>
<i class="icon arrow-down-icon active"></i>
</div>
<div class="dropdown-list" style="display: none; top: 50px; right: 0px">
<div class="dropdown-container">
<div class="dropdown-cart">
<div class="dropdown-header">
<p class="heading">Cart Subtotal - {{ $cart->sub_total }}</p>
</div>
<div class="dropdown-content">
@foreach($items as $item)
@if($item->type == "configurable")
<div class="item">
<div class="item-image" >
@php
$images = $productImageHelper->getProductBaseImage($item->child->product);
@endphp
<img src="{{ $images['small_image_url'] }}" />
</div>
<div class="item-details">
<div class="item-name">{{ $item->child->name }}</div>
<div class="item-price">{{ $item->total }}</div>
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
</div>
</div>
@else
<div class="item">
<div class="item-image" >
@php
$images = $productImageHelper->getProductBaseImage($item->product);
@endphp
<img src="{{ $images['small_image_url'] }}" />
</div>
<div class="item-details">
<div class="item-name">{{ $item->name }}</div>
<div class="item-price">{{ $item->total }}</div>
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
</div>
</div>
@endif
@endforeach
</div>
<div class="dropdown-footer">
<a href="{{ route('shop.checkout.cart.index') }}">View Shopping Cart</a>
<a class="btn btn-primary btn-lg" style="color: white;" href="{{ route('shop.checkout.onepage.index') }}">CHECKOUT</a>
</div>
</div>
</div>
</div>
@else
<div class="dropdown-toggle">
<div style="display: inline-block; cursor: pointer;">
<span class="name">Cart<span class="count"> (0) </span></span>
</div>
</div>
@endif
@include('shop::checkout.cart.mini-cart')
</li>
</ul>
@ -263,14 +168,18 @@
<ul class="resp-cart-dropdown-container">
<li class="cart-dropdown">
<?php $cart = cart()->getCart(); ?>
@if(isset($cart))
<div>
<a href="{{ route('shop.checkout.cart.index') }}"><span class="icon cart-icon"></span></a>
</div>
<div>
<a href="{{ route('shop.checkout.cart.index') }}">
<span class="icon cart-icon"></span>
</a>
</div>
@else
<div style="display: inline-block; cursor: pointer;">
<span class="icon cart-icon"></span>
</div>
<div style="display: inline-block; cursor: pointer;">
<span class="icon cart-icon"></span>
</div>
@endif
</li>
</ul>