Commit 6ce8c3a5 by Angel MAS

increment or decrement stock

parent cbdc4da2
...@@ -15,10 +15,17 @@ use Onestartup\Shop\DataTables\ClientDataTable; ...@@ -15,10 +15,17 @@ use Onestartup\Shop\DataTables\ClientDataTable;
use Onestartup\Shop\DataTables\OrderDataTable; use Onestartup\Shop\DataTables\OrderDataTable;
use Onestartup\Shop\Model\SaleShop as Sale; use Onestartup\Shop\Model\SaleShop as Sale;
use Onestartup\Shop\Model\OrderTracking as Tracking; use Onestartup\Shop\Model\OrderTracking as Tracking;
use Onestartup\Shop\Libs\Util;
class AdminProductController extends Controller class AdminProductController extends Controller
{ {
protected $util;
public function __construct()
{
$this->util = new Util();
}
public function index() public function index()
{ {
return view('shop::product.index'); return view('shop::product.index');
...@@ -307,9 +314,12 @@ class AdminProductController extends Controller ...@@ -307,9 +314,12 @@ class AdminProductController extends Controller
public function updateStatusSale(Request $request, $id) public function updateStatusSale(Request $request, $id)
{ {
$sale = Sale::find($id); $sale = Sale::find($id);
$old = $sale->status;
$sale->status = $request->status; $sale->status = $request->status;
$sale->save(); $sale->save();
$this->util->stock_change($sale, $old);
return redirect()->back()->with('message_success', 'Estatus actualizado correctamente'); return redirect()->back()->with('message_success', 'Estatus actualizado correctamente');
} }
......
...@@ -33,17 +33,23 @@ use PayPal\Api\Item as PaypalItem; ...@@ -33,17 +33,23 @@ use PayPal\Api\Item as PaypalItem;
use PayPal\Api\ItemList; use PayPal\Api\ItemList;
use PayPal\Api\Details; use PayPal\Api\Details;
use Onestartup\Shop\Libs\Util;
class CartController extends Controller class CartController extends Controller
{ {
public function __construct() protected $util;
{
if (!\Session::has('cart')) { public function __construct()
\Session::put('cart', array()); {
} if (!\Session::has('cart')) {
} \Session::put('cart', array());
}
public function show() $this->util = new Util();
{ }
public function show()
{
$total = $this->total(); $total = $this->total();
$cart = \Session::get('cart'); $cart = \Session::get('cart');
...@@ -60,7 +66,7 @@ public function add(Product $product) ...@@ -60,7 +66,7 @@ public function add(Product $product)
$sale->save(); $sale->save();
\Session::forget('sale'); \Session::forget('sale');
} }
$cart = \Session::get('cart'); $cart = \Session::get('cart');
$quantity = 1; $quantity = 1;
...@@ -306,11 +312,14 @@ public function shipping() ...@@ -306,11 +312,14 @@ public function shipping()
$sale->payment_type = 'Tarjeta'; $sale->payment_type = 'Tarjeta';
if ($payment['response']['status'] == 'approved') { if ($payment['response']['status'] == 'approved') {
$old = $sale->status;
$sale->status = 2; $sale->status = 2;
$sale->transaction_id = $payment['response']['id']; $sale->transaction_id = $payment['response']['id'];
$sale->save(); $sale->save();
$status = 'Aprobado'; $status = 'Aprobado';
$this->util->stock_change($sale, $old);
\Session::forget('client'); \Session::forget('client');
\Session::forget('cart'); \Session::forget('cart');
\Session::forget('sale'); \Session::forget('sale');
...@@ -483,10 +492,13 @@ public function shipping() ...@@ -483,10 +492,13 @@ public function shipping()
$items = $sale->items; $items = $sale->items;
$addres = $client->shipping; $addres = $client->shipping;
$products = $sale->products; $products = $sale->products;
$old = $sale->status;
$sale->status = 2; $sale->status = 2;
$sale->payment_type = 'Pay Pal'; $sale->payment_type = 'Pay Pal';
$sale->save(); $sale->save();
$this->util->stock_change($sale, $old);
$user = \App\User::first(); $user = \App\User::first();
$user->notify(new ResumenOrder($sale, $products, $client, $addres)); $user->notify(new ResumenOrder($sale, $products, $client, $addres));
...@@ -669,44 +681,28 @@ public function shipping() ...@@ -669,44 +681,28 @@ public function shipping()
public function testmail() public function testmail()
{ {
$product = Product::find(3); $sale = Sale::find(5);
$quantity = 0; $products = $sale->products;
$sales = Sale::where('status', 1)->orWhere('status',3)->get();
foreach ($sales as $order) {
$products = $order->products;
foreach($products as $aux){
if ($product->id == $aux->id ) {
$quantity += $aux->pivot->quantity;
}
}
}
return $product->infoSale->quantity - $quantity;
//return $quantity;
//return $sales;
//return $product; //return $products;
/*$user = \App\User::first(); if ($sale->status == 2) {
foreach ($products as $product) {
$orden = Sale::find(27); $aux = Product::find($product->id);
$products = $orden->products; $aux->infoSale()->increment('quantity', $product->pivot->quantity);
$client = $orden->client; }
$shipping = $client->shipping; } else {
foreach ($products as $product) {
$aux = Product::find($product->id);
$aux->infoSale()->decrement('quantity', $product->pivot->quantity);
}
}
//return $products; $sale->status = 3;
//return $shipping->shipping_price->name; $sale->save();
$user->notify(new ResumenOrder($orden, $products, $client, $shipping));*/
return "Liston"; return "yei";
} }
public function existencia($product) public function existencia($product)
...@@ -723,11 +719,8 @@ public function shipping() ...@@ -723,11 +719,8 @@ public function shipping()
} }
} }
return $product->infoSale->quantity - $quantity; return $product->infoSale->quantity - $quantity;
} }
} }
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
namespace Onestartup\Shop\Libs; namespace Onestartup\Shop\Libs;
use Onestartup\Shop\Model\ProductShop as Product;
class Util class Util
{ {
...@@ -18,4 +20,29 @@ class Util ...@@ -18,4 +20,29 @@ class Util
} }
return $contador; return $contador;
} }
public function stock_change($sale, $old)
{
$products = $sale->products;
if ($sale->status == 2) {
foreach ($products as $product) {
$aux = Product::find($product->id);
$aux->infoSale()->decrement('quantity', $product->pivot->quantity);
}
} else {
if ($old == 2) {
foreach ($products as $product) {
$aux = Product::find($product->id);
$aux->infoSale()->increment('quantity', $product->pivot->quantity);
}
}
}
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment