From e70b1f88c6f42f1e5bdef05e132dd5d4cf094674 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Tue, 2 May 2017 23:21:13 +0700 Subject: [PATCH] Included page query string on product update and delete redirection Added unit products_count column on unit index page table Added product total on product index page title --- app/Http/Controllers/ProductsController.php | 4 ++-- app/Http/Controllers/UnitsController.php | 2 +- app/Unit.php | 5 +++++ resources/lang/id/product.php | 2 +- resources/lang/id/unit.php | 1 + resources/views/products/index.blade.php | 10 +++++++--- resources/views/products/partials/forms.blade.php | 6 +++++- resources/views/units/index.blade.php | 3 +++ 8 files changed, 25 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/ProductsController.php b/app/Http/Controllers/ProductsController.php index bbfd276..d5c986a 100644 --- a/app/Http/Controllers/ProductsController.php +++ b/app/Http/Controllers/ProductsController.php @@ -50,7 +50,7 @@ class ProductsController extends Controller 'credit_price' => 'nullable|numeric', ]); - $routeParam = $request->only('q'); + $routeParam = $request->only('page','q'); $product = Product::findOrFail($productId)->update($request->only('name','cash_price','credit_price','unit_id')); @@ -65,7 +65,7 @@ class ProductsController extends Controller 'product_id' => 'required|exists:products,id', ]); - $routeParam = $request->only('q'); + $routeParam = $request->only('page','q'); if ($request->get('product_id') == $productId && Product::findOrFail($productId)->delete()) { flash(trans('product.deleted'), 'success'); diff --git a/app/Http/Controllers/UnitsController.php b/app/Http/Controllers/UnitsController.php index 7c34245..d7b9576 100644 --- a/app/Http/Controllers/UnitsController.php +++ b/app/Http/Controllers/UnitsController.php @@ -10,7 +10,7 @@ class UnitsController extends Controller public function index(Request $request) { $editableUnit = null; - $units = Unit::all(); + $units = Unit::withCount('products')->get(); if (in_array($request->get('action'), ['edit','delete']) && $request->has('id')) $editableUnit = Unit::find($request->get('id')); diff --git a/app/Unit.php b/app/Unit.php index 8d98a37..0afece2 100644 --- a/app/Unit.php +++ b/app/Unit.php @@ -8,4 +8,9 @@ class Unit extends Model { protected $table = 'product_units'; protected $fillable = ['name']; + + public function products() + { + return $this->hasMany(Product::class); + } } diff --git a/resources/lang/id/product.php b/resources/lang/id/product.php index ef3767c..cb88aaa 100644 --- a/resources/lang/id/product.php +++ b/resources/lang/id/product.php @@ -2,7 +2,7 @@ return [ // Labels - 'master' => 'Produk', + 'product' => 'Produk', 'list' => 'Daftar Produk', 'search' => 'Cari Produk', 'not_found' => 'Produk tidak ditemukan', diff --git a/resources/lang/id/unit.php b/resources/lang/id/unit.php index e2ecf0f..80801be 100644 --- a/resources/lang/id/unit.php +++ b/resources/lang/id/unit.php @@ -5,6 +5,7 @@ return [ 'unit' => 'Satuan', 'list' => 'Daftar Satuan', 'empty' => 'Belum ada Satuan', + 'products_count' => 'Jumlah Produk', 'back_to_index' => 'Kembali ke daftar Satuan', // Actions diff --git a/resources/views/products/index.blade.php b/resources/views/products/index.blade.php index 88d1754..8bb37ef 100644 --- a/resources/views/products/index.blade.php +++ b/resources/views/products/index.blade.php @@ -3,7 +3,10 @@ @section('title', trans('product.list')) @section('content') -

{{ trans('product.list') }}

+
@@ -36,13 +39,14 @@ {{ formatRp($product->cash_price) }} {{ formatRp($product->credit_price) }} - {!! link_to_route('products.index', trans('app.edit'), ['action' => 'edit', 'id' => $product->id] + Request::only('q'), ['id' => 'edit-product-' . $product->id]) !!} | - {!! link_to_route('products.index', trans('app.delete'), ['action' => 'delete', 'id' => $product->id] + Request::only('q'), ['id' => 'del-product-' . $product->id]) !!} + {!! link_to_route('products.index', trans('app.edit'), ['action' => 'edit', 'id' => $product->id] + Request::only('page','q'), ['id' => 'edit-product-' . $product->id]) !!} | + {!! link_to_route('products.index', trans('app.delete'), ['action' => 'delete', 'id' => $product->id] + Request::only('page','q'), ['id' => 'del-product-' . $product->id]) !!} @endforeach +
{!! str_replace('/?', '?', $products->appends(Request::except('page'))->render()) !!}
diff --git a/resources/views/products/partials/forms.blade.php b/resources/views/products/partials/forms.blade.php index 683320d..2c280f9 100644 --- a/resources/views/products/partials/forms.blade.php +++ b/resources/views/products/partials/forms.blade.php @@ -26,6 +26,9 @@ @if (request('q')) {{ Form::hidden('q', request('q')) }} @endif + @if (request('page')) + {{ Form::hidden('page', request('page')) }} + @endif {!! Form::submit(trans('product.update'), ['class' => 'btn btn-success']) !!} {{ link_to_route('products.index', trans('app.cancel'), Request::only('q'), ['class' => 'btn btn-default']) }} {!! Form::close() !!} @@ -50,7 +53,8 @@ 'class'=>'btn btn-danger' ], [ 'product_id'=>$editableProduct->id, - 'q' => request('q') + 'page' => request('page'), + 'q' => request('q'), ]) !!} {{ link_to_route('products.index', trans('app.cancel'), Request::only('q'), ['class' => 'btn btn-default']) }}
diff --git a/resources/views/units/index.blade.php b/resources/views/units/index.blade.php index f4a5413..8a02bed 100644 --- a/resources/views/units/index.blade.php +++ b/resources/views/units/index.blade.php @@ -3,6 +3,7 @@ @section('title', trans('unit.list')) @section('content') +
@@ -12,6 +13,7 @@ {{ trans('app.table_no') }} {{ trans('unit.name') }} + {{ trans('unit.products_count') }} {{ trans('app.action') }} @@ -20,6 +22,7 @@ {{ 1 + $key }} {{ $unit->name }} + {{ $unit->products_count }} {!! link_to_route('units.index', trans('app.edit'), ['action' => 'edit', 'id' => $unit->id], ['id' => 'edit-unit-' . $unit->id]) !!} | {!! link_to_route('units.index', trans('app.delete'), ['action' => 'delete', 'id' => $unit->id], ['id' => 'del-unit-' . $unit->id]) !!}