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,13 +33,19 @@ use PayPal\Api\Item as PaypalItem; ...@@ -33,13 +33,19 @@ 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
{ {
protected $util;
public function __construct() public function __construct()
{ {
if (!\Session::has('cart')) { if (!\Session::has('cart')) {
\Session::put('cart', array()); \Session::put('cart', array());
} }
$this->util = new Util();
} }
public function show() public function show()
...@@ -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,43 +681,27 @@ public function shipping() ...@@ -669,43 +681,27 @@ 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) { //return $products;
$products = $order->products;
foreach($products as $aux){ if ($sale->status == 2) {
if ($product->id == $aux->id ) { foreach ($products as $product) {
$quantity += $aux->pivot->quantity; $aux = Product::find($product->id);
$aux->infoSale()->increment('quantity', $product->pivot->quantity);
} }
} else {
foreach ($products as $product) {
$aux = Product::find($product->id);
$aux->infoSale()->decrement('quantity', $product->pivot->quantity);
} }
} }
$sale->status = 3;
$sale->save();
return $product->infoSale->quantity - $quantity; return "yei";
//return $quantity;
//return $sales;
//return $product;
/*$user = \App\User::first();
$orden = Sale::find(27);
$products = $orden->products;
$client = $orden->client;
$shipping = $client->shipping;
//return $products;
//return $shipping->shipping_price->name;
$user->notify(new ResumenOrder($orden, $products, $client, $shipping));*/
return "Liston";
} }
...@@ -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