From 2e74cad75a9cff4fab7d3f9c7e876de708d0ef60 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Mon, 10 Apr 2017 18:08:52 +0800 Subject: [PATCH] Added Transaction Draft view and and has product search Added Transaction Draft Button on top navbar Group cart routes in auth middleware --- app/Cart/CashDraft.php | 2 + app/Cart/CreditDraft.php | 2 + app/Http/Controllers/CartController.php | 25 +++++++++-- resources/views/cart/index.blade.php | 41 ++++++++++++++++++ resources/views/layouts/app.blade.php | 13 +++++- routes/web.php | 18 +++++--- tests/BrowserKitTestCase.php | 10 +++++ tests/Feature/Cart/CartControllerTest.php | 4 +- tests/Feature/TransactionEntryTest.php | 72 +++++++++++++++++++++++++++++++ 9 files changed, 174 insertions(+), 13 deletions(-) create mode 100644 resources/views/cart/index.blade.php create mode 100644 tests/Feature/TransactionEntryTest.php diff --git a/app/Cart/CashDraft.php b/app/Cart/CashDraft.php index 2d774f5..807cfad 100644 --- a/app/Cart/CashDraft.php +++ b/app/Cart/CashDraft.php @@ -8,4 +8,6 @@ namespace App\Cart; class CashDraft extends TransactionDraft { public $draftKey; + public $type = 'cash'; + public $type_id = 1; } \ No newline at end of file diff --git a/app/Cart/CreditDraft.php b/app/Cart/CreditDraft.php index 7777af6..8c516b1 100644 --- a/app/Cart/CreditDraft.php +++ b/app/Cart/CreditDraft.php @@ -8,4 +8,6 @@ namespace App\Cart; class CreditDraft extends TransactionDraft { public $draftKey; + public $type = 'credit'; + public $type_id = 2; } \ No newline at end of file diff --git a/app/Http/Controllers/CartController.php b/app/Http/Controllers/CartController.php index f109e5e..0534f52 100644 --- a/app/Http/Controllers/CartController.php +++ b/app/Http/Controllers/CartController.php @@ -17,14 +17,33 @@ class CartController extends Controller { $this->cart = new CartCollection; } - public function add(Request $request, $type) + + public function index(Request $request) + { + $draft = $this->cart->content()->last(); + + return view('cart.index', compact('draft')); + } + + public function show(Request $request, $draftKey) { - if ($type == 1) + $queriedProducts = Product::where(function($query) use ($request) { + return $query->where('name', 'like', '%' . $request->get('query') . '%'); + })->get(); + + $draft = $this->cart->get($draftKey); + + return view('cart.index', compact('draft','queriedProducts')); + } + + public function add(Request $request) + { + if ($request->has('create-cash-draft')) $this->cart->add(new CashDraft); else $this->cart->add(new CreditDraft); - return redirect()->route('cart.index', $item->draftKey); + return redirect()->route('cart.show', $this->cart->content()->last()->draftKey); } public function addDraftItem(Request $request, $draftKey, Product $product) diff --git a/resources/views/cart/index.blade.php b/resources/views/cart/index.blade.php new file mode 100644 index 0000000..922f0cb --- /dev/null +++ b/resources/views/cart/index.blade.php @@ -0,0 +1,41 @@ +@extends('layouts.app') + +@section('content') + + + +@if (! CartCollection::isEmpty()) + +
+@endif +@if ($draft) + {{ $draft ? $draft->type : '' }} +
+ + +
+ @if (isset($queriedProducts)) + + @endif +@endif +@endsection \ No newline at end of file diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 5ec5531..1874855 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -42,14 +42,23 @@