Skip to content
This repository was archived by the owner on Sep 28, 2019. It is now read-only.

Commit 41885fd

Browse files
committed
using repository in some controllers
1 parent a45bc57 commit 41885fd

File tree

3 files changed

+47
-12
lines changed

3 files changed

+47
-12
lines changed

src/Http/Controllers/AttributeController.php

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,20 @@
77
use AvoRed\Ecommerce\DataGrid\Attribute;
88
use AvoRed\Framework\Models\Database\Attribute as Model;
99
use AvoRed\Ecommerce\Http\Requests\AttributeRequest;
10+
use AvoRed\Framework\Models\Contracts\AttributeInterface;
1011

1112
class AttributeController extends Controller
1213
{
14+
/**
15+
*
16+
* @var \AvoRed\Framework\Models\Repository\AttributeRepository
17+
*/
18+
protected $repository;
19+
20+
public function __construct(AttributeInterface $repository)
21+
{
22+
$this->repository = $repository;
23+
}
1324

1425
/**
1526
* Display a listing of the resource.
@@ -18,7 +29,7 @@ class AttributeController extends Controller
1829
*/
1930
public function index()
2031
{
21-
$attributeGrid = new Attribute(Model::query());
32+
$attributeGrid = new Attribute($this->repository->query());
2233

2334
return view('avored-ecommerce::attribute.index')->with('dataGrid', $attributeGrid->dataGrid);
2435
}
@@ -35,20 +46,20 @@ public function create()
3546

3647
/**
3748
* @param \AvoRed\Ecommerce\Http\Requests\AttributeRequest $request
38-
*
49+
*
3950
* @return \Illuminate\Http\RedirectResponse
4051
*/
4152
public function store(AttributeRequest $request)
4253
{
43-
$attribute = Model::create($request->all());
54+
$attribute = $this->repository->create($request->all());
4455
$this->_saveDropdownOptions($attribute, $request);
4556

4657
return redirect()->route('admin.attribute.index');
4758
}
4859

4960
/**
5061
* @param \AvoRed\Framework\Models\Database\Attribute $attribute
51-
*
62+
*
5263
* @return \Illuminate\Http\RedirectResponse
5364
*/
5465
public function edit(Model $attribute)
@@ -76,7 +87,7 @@ public function destroy(Model $attribute)
7687

7788
/**
7889
* Get an attribute for Product Variation Modal.
79-
*
90+
*
8091
* @param \Illuminate\Http\Request
8192
* @return \Illuminate\Http\Response
8293
*/
@@ -97,7 +108,7 @@ public function getAttribute(Request $request)
97108
*/
98109
public function getElementHtml(Request $request)
99110
{
100-
$attributes = Model::whereIn('id', $request->get('attribute_id'))->get();
111+
$attributes = $this->repository->findMany($request->get('attribute_id'));
101112

102113
$tmpString = '__RANDOM__STRING__';
103114
$view = view('avored-ecommerce::attribute.get-element')
@@ -117,10 +128,9 @@ public function getElementHtml(Request $request)
117128
private function _saveDropdownOptions($attribute, $request)
118129
{
119130
if (null !== $request->get('dropdown-options')) {
120-
if (null != $attribute->attributeDropdownOptions()->get() &&
131+
if (null != $attribute->attributeDropdownOptions()->get() &&
121132
$attribute->attributeDropdownOptions()->get()->count() >= 0
122133
) {
123-
124134
$attribute->attributeDropdownOptions()->delete();
125135
}
126136

@@ -133,4 +143,4 @@ private function _saveDropdownOptions($attribute, $request)
133143
}
134144
}
135145
}
136-
}
146+
}

src/Http/Controllers/CategoryController.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,29 @@
55
use AvoRed\Framework\Models\Database\Category as Model;
66
use AvoRed\Ecommerce\DataGrid\Category;
77
use AvoRed\Ecommerce\Http\Requests\CategoryRequest;
8+
use AvoRed\Framework\Models\Contracts\CategoryInterface;
89

910
class CategoryController extends Controller
1011
{
12+
/**
13+
*
14+
* @var \AvoRed\Framework\Models\Repository\CategoryRepository
15+
*/
16+
protected $repository;
17+
18+
public function __construct(CategoryInterface $repository)
19+
{
20+
$this->repository = $repository;
21+
}
22+
1123
/**
1224
* Display a listing of the Category.
1325
*
1426
* @return \Illuminate\Http\Response
1527
*/
1628
public function index()
1729
{
18-
$categoryGrid = new Category(Model::query());
30+
$categoryGrid = new Category($this->repository->query());
1931

2032
return view('avored-ecommerce::category.index')->with('dataGrid', $categoryGrid->dataGrid);
2133
}
@@ -39,7 +51,7 @@ public function create()
3951
*/
4052
public function store(CategoryRequest $request)
4153
{
42-
Model::create($request->all());
54+
$this->repository->create($request->all());
4355

4456
return redirect()->route('admin.category.index');
4557
}

src/Http/Controllers/ProductController.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,21 @@
1212
use AvoRed\Framework\Image\Facade as Image;
1313
use AvoRed\Ecommerce\Http\Requests\ProductRequest;
1414
use AvoRed\Ecommerce\DataGrid\Product as ProductGrid;
15+
use AvoRed\Framework\Models\Contracts\ProductInterface;
1516

1617
class ProductController extends Controller
1718
{
19+
/**
20+
*
21+
* @var \AvoRed\Framework\Models\Repository\ProductRepository
22+
*/
23+
protected $repository;
24+
25+
public function __construct(ProductInterface $repository)
26+
{
27+
$this->repository = $repository;
28+
}
29+
1830
/**
1931
* Display a listing of the resource.
2032
* r.
@@ -23,7 +35,8 @@ class ProductController extends Controller
2335
*/
2436
public function index()
2537
{
26-
$productGrid = new ProductGrid(ProductModel::where('type', '!=', 'VARIABLE_PRODUCT')->orderBy('id', 'desc'));
38+
$productsBuilder = $this->repository->query()->where('type', '!=', 'VARIABLE_PRODUCT')->orderBy('id', 'desc');
39+
$productGrid = new ProductGrid($productsBuilder);
2740

2841
return view('avored-ecommerce::product.index')->with('dataGrid', $productGrid->dataGrid);
2942
}

0 commit comments

Comments
 (0)