diff --git a/app/Http/Controllers/ApiController.php b/app/Http/Controllers/ApiController.php index 5f3c110..44b2954 100644 --- a/app/Http/Controllers/ApiController.php +++ b/app/Http/Controllers/ApiController.php @@ -81,6 +81,8 @@ class ApiController extends Controller { $ApiModel = new ApiModel; $invoice = Input::get('invoice'); + $getStep = Input::get('step'); + // $response = $ApiModel->getTrackingStatus($invoice); $selectPaymentDetails = $ApiModel->selectPaymentDetails($invoice); @@ -91,9 +93,12 @@ class ApiController extends Controller $selectOrderList = $ApiModel->selectOrderList($selectPaymentDetails[0]->CartKey); $getCurrentTrackingSteps = $ApiModel->getCurrentTrackingSteps($invoice); $selectPaymentDetails[0]->tracking_steps = $getCurrentTrackingSteps; - + $currentStep = $ApiModel->selectCurrentStep($invoice); + $selectPaymentDetails[0]->current_step = $currentStep; + + $stp = ($getStep != "") ? $getStep : $currentStep->Order; // check if step foreach ($selectOrderList as $k => $order) { - $table_fields[] = $ApiModel->selectOrderListTableFields($order->CartKey, $order->ProductId); + $table_fields[] = $ApiModel->selectOrderListTableFields($order->CartKey, $order->ProductId, $stp); $product_images[] = $ApiModel->selectProductImages($order->ProductId); $selectOrderList[$k]->table_fields = $table_fields[$k]; @@ -127,5 +132,18 @@ class ApiController extends Controller ], 200); } - + public function getSteps(){ + $ApiModel = new ApiModel; + $selectSteps = $ApiModel->selectSteps(); + + if (!$selectSteps) { + return response()->json(['status' => false, 'data' => ""], 404); + } + + return response()->json([ + 'status' => true, + 'data' => $selectSteps + ], 200); + + } } diff --git a/app/Http/Controllers/paypal/PaypalController.php b/app/Http/Controllers/paypal/PaypalController.php index b50c6e8..a854b78 100644 --- a/app/Http/Controllers/paypal/PaypalController.php +++ b/app/Http/Controllers/paypal/PaypalController.php @@ -71,6 +71,13 @@ class PaypalController extends Controller return Redirect::back(); } + // $request->session()->forget('cartkey'); + if(!$request->session()->has('cartkey')){ + $message = 'Your cart is empty'; + Session::flash('cartkeyError', $message); + return Redirect::back(); + } + $payer = PayPal::Payer(); $payer->setPaymentMethod('paypal'); diff --git a/app/Http/routes.php b/app/Http/routes.php index c04145c..4325c64 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -191,5 +191,5 @@ Route::group(array('middleware' => ['isAuthorized', 'cors'], 'prefix' => 'api'), Route::post('insert', 'ApiController@insert'); Route::get('tracking', 'ApiController@getTrackingStatus'); Route::get('order-status', 'ApiController@getOrderStatus'); - + Route::get('steps', 'ApiController@getSteps'); }); \ No newline at end of file diff --git a/app/Models/ApiModel.php b/app/Models/ApiModel.php index 85325ee..e0b7b22 100644 --- a/app/Models/ApiModel.php +++ b/app/Models/ApiModel.php @@ -61,7 +61,7 @@ class ApiModel extends Model return $i; } - function selectOrderListTableFields($cartKey, $productId) + function selectOrderListTableFields($cartKey, $productId, $stepid) { // $i = DB::table('orders')->select('Id', 'Name', 'Name2', 'Number', 'Size', 'JerseySize', 'ShortsSize', 'Quantity') // ->where('CartKey', $cartKey) @@ -70,8 +70,9 @@ class ApiModel extends Model // return $i; $i = DB::table('orders')->select('orders.Id', 'orders.Name', 'orders.Name2', 'orders.Number', 'orders.Size', 'orders.JerseySize', - 'orders.ShortsSize', 'orders.Quantity', DB::raw('COUNT(tracking.Id) AS Status')) - ->leftjoin('tracking', 'orders.Id', '=', 'tracking.OrdersId') + 'orders.ShortsSize', 'orders.Quantity', DB::raw('(SELECT COUNT(*) FROM tracking WHERE StepId = '.$stepid.' AND OrdersId = orders.Id) AS Status')) + // ->leftjoin('tracking', 'orders.Id', '=', 'tracking.OrdersId') + // ->where('tracking.StepId', $stepid) ->where('orders.CartKey', $cartKey) ->where('orders.ProductId', $productId) ->groupBy('orders.Id') @@ -124,4 +125,28 @@ class ApiModel extends Model ->get(); return $i; } + + function selectSteps(){ + $i = DB::table('tracking_steps') + ->orderBy('Order', 'ASC') + ->get(); + return $i; + } + + function selectCurrentStep($invoice){ + $i = DB::table('tracking')->select('tracking_steps.*') + ->leftjoin('tracking_steps', 'tracking_steps.Id', '=', 'tracking.StepId') + ->where('tracking.InvoiceNumber', $invoice) + ->orderBy('tracking.StepId', 'DESC') + ->first(); + return $i; + } + + + function selectCurrentStepOrder($stepOrder){ + $i = DB::table('tracking_steps') + ->where('Order', $stepOrder) + ->get(); + return $i; + } } diff --git a/resources/views/sublayouts/cart.blade.php b/resources/views/sublayouts/cart.blade.php index d0c9950..845050e 100644 --- a/resources/views/sublayouts/cart.blade.php +++ b/resources/views/sublayouts/cart.blade.php @@ -26,6 +26,13 @@

MY CART

+ @if(Session::has('cartkeyError')) +
+ +

Error:

+ {!! Session::get('cartkeyError') !!} +
+ @endif
diff --git a/resources/views/teamstore-sublayouts/index.blade.php b/resources/views/teamstore-sublayouts/index.blade.php index df3d869..2a9efe0 100644 --- a/resources/views/teamstore-sublayouts/index.blade.php +++ b/resources/views/teamstore-sublayouts/index.blade.php @@ -176,11 +176,12 @@

Please read:

- 1. Items purchased are made on demand. Orders will be shipped based on dates set by your store administrator.
+ 1. Items purchased are made on demand. Orders will be shipped based on dates set by your store administrator.
2. Store payments are processed through PayPal. A PayPal account is not required to make a purchase.
- 3. We are currently only shipping to US locations. For international orders, please contact orders@crewsportswear.com if you'd like to place an order.
- 4. Expect shipping delays due to COVID-19.
- 5. All sales are final. No returns or exchanges will be accepted.

+ 3. Orders will be batch processed on a weekly basis, please allow 2-3 weeks for delivery.
+ 4. We are currently only shipping to US locations. For international orders, please contact orders@crewsportswear.com if you'd like to place an order.
+ 5. Expect shipping delays due to COVID-19.
+ 6. All sales are final. No returns or exchanges will be accepted.

DISCLAIMER: Masks and gaiters sold by Crew Sportswear are not intended for medical use. Crew Sportswear does not make any medical or health claims.