Merge pull request #431 from jitendra-webkul/jitendra

Event added to cart
This commit is contained in:
JItendra Singh 2019-01-07 16:01:43 +05:30 committed by GitHub
commit 328aa8c95d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 37 additions and 19 deletions

View File

@ -152,8 +152,8 @@ class Cart {
$this->putCart($result); $this->putCart($result);
if($result) { if($result) {
if($this->createItem($id, $data)) if($item = $this->createItem($id, $data))
return true; return $item;
else else
return false; return false;
} else { } else {
@ -319,10 +319,7 @@ class Cart {
$this->cartItem->create($childData); $this->cartItem->create($childData);
} }
if($result) return $result;
return true;
else
return false;
} }
/** /**
@ -369,7 +366,7 @@ class Cart {
if($result) { if($result) {
session()->flash('success', trans('shop::app.checkout.cart.quantity.success')); session()->flash('success', trans('shop::app.checkout.cart.quantity.success'));
return true; return $result;
} else { } else {
session()->flash('warning', trans('shop::app.checkout.cart.quantity.error')); session()->flash('warning', trans('shop::app.checkout.cart.quantity.error'));

View File

@ -10,6 +10,7 @@ use Webkul\Product\Repositories\ProductRepository;
use Webkul\Customer\Repositories\CustomerRepository; use Webkul\Customer\Repositories\CustomerRepository;
use Webkul\Product\Helpers\ProductImage; use Webkul\Product\Helpers\ProductImage;
use Webkul\Product\Helpers\View as ProductView; use Webkul\Product\Helpers\View as ProductView;
use Illuminate\Support\Facades\Event;
use Cart; use Cart;
/** /**
@ -76,7 +77,8 @@ class CartController extends Controller
* *
* @return Mixed * @return Mixed
*/ */
public function index() { public function index()
{
return view($this->_config['view'])->with('cart', Cart::getCart()); return view($this->_config['view'])->with('cart', Cart::getCart());
} }
@ -85,10 +87,15 @@ class CartController extends Controller
* *
* @return Mixed * @return Mixed
*/ */
public function add($id) { public function add($id)
{
Event::fire('checkout.cart.add.before', $id);
$result = Cart::add($id, request()->except('_token')); $result = Cart::add($id, request()->except('_token'));
if($result) { Event::fire('core.channel.add.after', $result);
if ($result) {
session()->flash('success', trans('shop::app.checkout.cart.item.success')); session()->flash('success', trans('shop::app.checkout.cart.item.success'));
} else { } else {
session()->flash('warning', trans('shop::app.checkout.cart.item.error-add')); session()->flash('warning', trans('shop::app.checkout.cart.item.error-add'));
@ -104,9 +111,14 @@ class CartController extends Controller
* *
* @param integer $itemId * @param integer $itemId
*/ */
public function remove($itemId) { public function remove($itemId)
{
Event::fire('checkout.cart.delete.before', $itemId);
Cart::removeItem($itemId); Cart::removeItem($itemId);
Event::fire('checkout.cart.delete.after', $itemId);
Cart::collectTotals(); Cart::collectTotals();
return redirect()->back(); return redirect()->back();
@ -117,10 +129,11 @@ class CartController extends Controller
* *
* @return response * @return response
*/ */
public function updateBeforeCheckout() { public function updateBeforeCheckout()
{
$request = request()->except('_token'); $request = request()->except('_token');
foreach($request['qty'] as $id => $quantity) { foreach ($request['qty'] as $id => $quantity) {
if($quantity <= 0) { if($quantity <= 0) {
session()->flash('warning', trans('shop::app.checkout.cart.quantity.illegal')); session()->flash('warning', trans('shop::app.checkout.cart.quantity.illegal'));
@ -128,13 +141,18 @@ class CartController extends Controller
} }
} }
foreach($request['qty'] as $key => $value) {
foreach ($request['qty'] as $key => $value) {
$item = $this->cartItem->findOneByField('id', $key); $item = $this->cartItem->findOneByField('id', $key);
$data['quantity'] = $value; $data['quantity'] = $value;
Event::fire('checkout.cart.update.before', $key);
Cart::updateItem($item->product_id, $data, $key); Cart::updateItem($item->product_id, $data, $key);
Event::fire('checkout.cart.update.after', $item);
unset($item); unset($item);
unset($data); unset($data);
} }
@ -150,17 +168,19 @@ class CartController extends Controller
* *
* @return response * @return response
*/ */
public function addConfigurable($slug) { public function addConfigurable($slug)
{
session()->flash('warning', trans('shop::app.checkout.cart.add-config-warning')); session()->flash('warning', trans('shop::app.checkout.cart.add-config-warning'));
return redirect()->route('shop.products.index', $slug); return redirect()->route('shop.products.index', $slug);
} }
public function buyNow($id) { public function buyNow($id)
{
$result = Cart::proceedToBuyNow($id); $result = Cart::proceedToBuyNow($id);
Cart::collectTotals(); Cart::collectTotals();
if(!$result) { if (!$result) {
return redirect()->back(); return redirect()->back();
} else { } else {
return redirect()->route('shop.checkout.onepage.index'); return redirect()->route('shop.checkout.onepage.index');
@ -173,10 +193,11 @@ class CartController extends Controller
* *
* @param instance cartItem $id * @param instance cartItem $id
*/ */
public function moveToWishlist($id) { public function moveToWishlist($id)
{
$result = Cart::moveToWishlist($id); $result = Cart::moveToWishlist($id);
if(!$result) { if (!$result) {
Cart::collectTotals(); Cart::collectTotals();
session()->flash('success', trans('shop::app.wishlist.moved')); session()->flash('success', trans('shop::app.wishlist.moved'));