Commit 6ce8c3a5 by Angel MAS

increment or decrement stock

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