Refactor code standard

This commit is contained in:
jitendra 2019-07-01 17:03:36 +05:30
parent f08a8036e6
commit 366a5fdd20
62 changed files with 959 additions and 1081 deletions

View File

@ -106,7 +106,7 @@ class WishlistController extends Controller
$result = Cart::moveToCart($wishlistItem); $result = Cart::moveToCart($wishlistItem);
if ($result == 1) { if ($result) {
if ($wishlistItem->delete()) { if ($wishlistItem->delete()) {
Cart::collectTotals(); Cart::collectTotals();
@ -120,15 +120,10 @@ class WishlistController extends Controller
'error' => trans('shop::app.wishlist.move-error') 'error' => trans('shop::app.wishlist.move-error')
], 400); ], 400);
} }
} else if ($result == 0) { } else {
return response()->json([
'data' => 0,
'error' => trans('shop::app.wishlist.error')
], 400);
} else if ($result == -1) {
return response()->json([ return response()->json([
'data' => -1, 'data' => -1,
'error' => trans('shop::app.checkout.cart.add-config-warning') 'error' => trans('shop::app.wishlist.option-missing')
], 400); ], 400);
} }
} }

View File

@ -3,8 +3,7 @@
namespace Webkul\Admin\Http\Controllers; namespace Webkul\Admin\Http\Controllers;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\Admin\Facades\Configuration; use Webkul\Core\Repositories\CoreConfigRepository;
use Webkul\Core\Repositories\CoreConfigRepository as CoreConfig;
use Webkul\Core\Tree; use Webkul\Core\Tree;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
@ -28,7 +27,7 @@ class ConfigurationController extends Controller
* *
* @var array * @var array
*/ */
protected $coreConfig; protected $coreConfigRepository;
/** /**
* *
@ -39,14 +38,14 @@ class ConfigurationController extends Controller
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Core\Repositories\CoreConfigRepository $coreConfig * @param \Webkul\Core\Repositories\CoreConfigRepository $coreConfigRepository
* @return void * @return void
*/ */
public function __construct(CoreConfig $coreConfig) public function __construct(CoreConfigRepository $coreConfigRepository)
{ {
$this->middleware('admin'); $this->middleware('admin');
$this->coreConfig = $coreConfig; $this->coreConfigRepository = $coreConfigRepository;
$this->_config = request('_config'); $this->_config = request('_config');
@ -121,7 +120,7 @@ class ConfigurationController extends Controller
{ {
Event::fire('core.configuration.save.before'); Event::fire('core.configuration.save.before');
$this->coreConfig->create(request()->all()); $this->coreConfigRepository->create(request()->all());
Event::fire('core.configuration.save.after'); Event::fire('core.configuration.save.after');
@ -141,7 +140,7 @@ class ConfigurationController extends Controller
$fileName = 'configuration/'. $path; $fileName = 'configuration/'. $path;
$config = $this->coreConfig->findOneByField('value', $fileName); $config = $this->coreConfigRepository->findOneByField('value', $fileName);
return Storage::download($config['value']); return Storage::download($config['value']);
} }

View File

@ -2,12 +2,10 @@
namespace Webkul\Admin\Http\Controllers\Customer; namespace Webkul\Admin\Http\Controllers\Customer;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Admin\Http\Controllers\Controller; use Webkul\Admin\Http\Controllers\Controller;
use Webkul\Customer\Repositories\CustomerRepository as Customer; use Webkul\Customer\Repositories\CustomerRepository;
use Webkul\Customer\Repositories\CustomerGroupRepository as CustomerGroup; use Webkul\Customer\Repositories\CustomerGroupRepository;
use Webkul\Core\Repositories\ChannelRepository as Channel; use Webkul\Core\Repositories\ChannelRepository;
/** /**
* Customer controlller * Customer controlller
@ -29,40 +27,44 @@ class CustomerController extends Controller
* *
* @var array * @var array
*/ */
protected $customer; protected $customerRepository;
/** /**
* CustomerGroupRepository object * CustomerGroupRepository object
* *
* @var array * @var array
*/ */
protected $customerGroup; protected $customerGroupRepository;
/** /**
* ChannelRepository object * ChannelRepository object
* *
* @var array * @var array
*/ */
protected $channel; protected $channelRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Customer\Repositories\CustomerRepository $customer * @param \Webkul\Customer\Repositories\CustomerRepository $customerRepository
* @param \Webkul\Customer\Repositories\CustomerGroupRepository $customerGroup * @param \Webkul\Customer\Repositories\CustomerGroupRepository $customerGroupRepository
* @param \Webkul\Core\Repositories\ChannelRepository $channel * @param \Webkul\Core\Repositories\ChannelRepository $channelRepository
*/ */
public function __construct(Customer $customer, CustomerGroup $customerGroup, Channel $channel) public function __construct(
CustomerRepository $customerRepository,
CustomerGroupRepository $customerGroupRepository,
ChannelRepository $channelRepository
)
{ {
$this->_config = request('_config'); $this->_config = request('_config');
$this->middleware('admin'); $this->middleware('admin');
$this->customer = $customer; $this->customerRepository = $customerRepository;
$this->customerGroup = $customerGroup; $this->customerGroupRepository = $customerGroupRepository;
$this->channel = $channel; $this->channelRepository = $channelRepository;
} }
@ -83,9 +85,9 @@ class CustomerController extends Controller
*/ */
public function create() public function create()
{ {
$customerGroup = $this->customerGroup->findWhere([['code', '<>', 'guest']]); $customerGroup = $this->customerGroupRepository->findWhere([['code', '<>', 'guest']]);
$channelName = $this->channel->all(); $channelName = $this->channelRepository->all();
return view($this->_config['view'], compact('customerGroup','channelName')); return view($this->_config['view'], compact('customerGroup','channelName'));
} }
@ -114,7 +116,7 @@ class CustomerController extends Controller
$data['is_verified'] = 1; $data['is_verified'] = 1;
$this->customer->create($data); $this->customerRepository->create($data);
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Customer'])); session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Customer']));
@ -129,11 +131,11 @@ class CustomerController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$customer = $this->customer->findOrFail($id); $customer = $this->customerRepository->findOrFail($id);
$customerGroup = $this->customerGroup->findWhere([['code', '<>', 'guest']]); $customerGroup = $this->customerGroupRepository->findWhere([['code', '<>', 'guest']]);
$channelName = $this->channel->all(); $channelName = $this->channelRepository->all();
return view($this->_config['view'], compact('customer', 'customerGroup', 'channelName')); return view($this->_config['view'], compact('customer', 'customerGroup', 'channelName'));
} }
@ -141,11 +143,10 @@ class CustomerController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
$this->validate(request(), [ $this->validate(request(), [
'channel_id' => 'required', 'channel_id' => 'required',
@ -156,7 +157,7 @@ class CustomerController extends Controller
'date_of_birth' => 'date|before:today' 'date_of_birth' => 'date|before:today'
]); ]);
$this->customer->update(request()->all(), $id); $this->customerRepository->update(request()->all(), $id);
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Customer'])); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Customer']));
@ -171,10 +172,10 @@ class CustomerController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$customer = $this->customer->findorFail($id); $customer = $this->customerRepository->findorFail($id);
try { try {
$this->customer->delete($id); $this->customerRepository->delete($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer'])); session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer']));
@ -193,7 +194,7 @@ class CustomerController extends Controller
*/ */
public function createNote($id) public function createNote($id)
{ {
$customer = $this->customer->find($id); $customer = $this->customerRepository->find($id);
return view($this->_config['view'])->with('customer', $customer); return view($this->_config['view'])->with('customer', $customer);
} }
@ -209,7 +210,7 @@ class CustomerController extends Controller
'notes' => 'string|nullable' 'notes' => 'string|nullable'
]); ]);
$customer = $this->customer->find(request()->input('_customer')); $customer = $this->customerRepository->find(request()->input('_customer'));
$noteTaken = $customer->update([ $noteTaken = $customer->update([
'notes' => request()->input('notes') 'notes' => request()->input('notes')
@ -235,7 +236,7 @@ class CustomerController extends Controller
$updateOption = request()->input('update-options'); $updateOption = request()->input('update-options');
foreach ($customerIds as $customerId) { foreach ($customerIds as $customerId) {
$customer = $this->customer->find($customerId); $customer = $this->customerRepository->find($customerId);
$customer->update([ $customer->update([
'status' => $updateOption 'status' => $updateOption
@ -257,7 +258,7 @@ class CustomerController extends Controller
$customerIds = explode(',', request()->input('indexes')); $customerIds = explode(',', request()->input('indexes'));
foreach ($customerIds as $customerId) { foreach ($customerIds as $customerId) {
$this->customer->deleteWhere([ $this->customerRepository->deleteWhere([
'id' => $customerId 'id' => $customerId
]); ]);
} }

View File

@ -2,10 +2,8 @@
namespace Webkul\Admin\Http\Controllers\Customer; namespace Webkul\Admin\Http\Controllers\Customer;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Admin\Http\Controllers\Controller; use Webkul\Admin\Http\Controllers\Controller;
use Webkul\Customer\Repositories\CustomerGroupRepository as CustomerGroup; use Webkul\Customer\Repositories\CustomerGroupRepository;
/** /**
* Customer Group controlller * Customer Group controlller
@ -27,21 +25,21 @@ class CustomerGroupController extends Controller
* *
* @var array * @var array
*/ */
protected $customerGroup; protected $customerGroupRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Customer\Repositories\CustomerGroupRepository as customerGroup; * @param \Webkul\Customer\Repositories\CustomerGroupRepository $customerGroupRepository;
* @return void * @return void
*/ */
public function __construct(CustomerGroup $customerGroup) public function __construct(CustomerGroupRepository $customerGroupRepository)
{ {
$this->_config = request('_config'); $this->_config = request('_config');
$this->middleware('admin'); $this->middleware('admin');
$this->customerGroup = $customerGroup; $this->customerGroupRepository = $customerGroupRepository;
} }
/** /**
@ -80,7 +78,7 @@ class CustomerGroupController extends Controller
$data['is_user_defined'] = 1; $data['is_user_defined'] = 1;
$this->customerGroup->create($data); $this->customerGroupRepository->create($data);
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Customer Group'])); session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Customer Group']));
@ -95,7 +93,7 @@ class CustomerGroupController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$group = $this->customerGroup->findOrFail($id); $group = $this->customerGroupRepository->findOrFail($id);
return view($this->_config['view'], compact('group')); return view($this->_config['view'], compact('group'));
} }
@ -103,18 +101,17 @@ class CustomerGroupController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
$this->validate(request(), [ $this->validate(request(), [
'code' => ['required', 'unique:customer_groups,code,' . $id, new \Webkul\Core\Contracts\Validations\Code], 'code' => ['required', 'unique:customer_groups,code,' . $id, new \Webkul\Core\Contracts\Validations\Code],
'name' => 'required', 'name' => 'required',
]); ]);
$this->customerGroup->update(request()->all(), $id); $this->customerGroupRepository->update(request()->all(), $id);
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Customer Group'])); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Customer Group']));
@ -129,7 +126,7 @@ class CustomerGroupController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$customerGroup = $this->customerGroup->findOrFail($id); $customerGroup = $this->customerGroupRepository->findOrFail($id);
if ($customerGroup->is_user_defined == 0) { if ($customerGroup->is_user_defined == 0) {
session()->flash('warning', trans('admin::app.customers.customers.group-default')); session()->flash('warning', trans('admin::app.customers.customers.group-default'));
@ -137,7 +134,7 @@ class CustomerGroupController extends Controller
session()->flash('warning', trans('admin::app.response.customer-associate', ['name' => 'Customer Group'])); session()->flash('warning', trans('admin::app.response.customer-associate', ['name' => 'Customer Group']));
} else { } else {
try { try {
$this->customerGroup->delete($id); $this->customerGroupRepository->delete($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer Group'])); session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Customer Group']));

View File

@ -2,9 +2,6 @@
namespace Webkul\Admin\Http\Controllers; namespace Webkul\Admin\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Carbon\Carbon; use Carbon\Carbon;
use Webkul\Sales\Repositories\OrderRepository; use Webkul\Sales\Repositories\OrderRepository;
@ -30,56 +27,56 @@ class DashboardController extends Controller
/** /**
* OrderRepository object * OrderRepository object
* *
* @var array * @var Object
*/ */
protected $orderRepository; protected $orderRepository;
/** /**
* OrderItemRepository object * OrderItemRepository object
* *
* @var array * @var Object
*/ */
protected $orderItemRepository; protected $orderItemRepository;
/** /**
* CustomerRepository object * CustomerRepository object
* *
* @var array * @var Object
*/ */
protected $customerRepository; protected $customerRepository;
/** /**
* ProductInventoryRepository object * ProductInventoryRepository object
* *
* @var array * @var Object
*/ */
protected $productInventoryRepository; protected $productInventoryRepository;
/** /**
* string object * string object
* *
* @var array * @var Object
*/ */
protected $startDate; protected $startDate;
/** /**
* string object * string object
* *
* @var array * @var Object
*/ */
protected $lastStartDate; protected $lastStartDate;
/** /**
* string object * string object
* *
* @var array * @var Object
*/ */
protected $endDate; protected $endDate;
/** /**
* string object * string object
* *
* @var array * @var Object
*/ */
protected $lastEndDate; protected $lastEndDate;
@ -112,6 +109,11 @@ class DashboardController extends Controller
$this->productInventoryRepository = $productInventoryRepository; $this->productInventoryRepository = $productInventoryRepository;
} }
/**
* Returns percentage difference
*
* @return integer
*/
public function getPercentageChange($previous, $current) public function getPercentageChange($previous, $current)
{ {
if (! $previous) if (! $previous)
@ -171,7 +173,7 @@ class DashboardController extends Controller
/** /**
* Returns the list of top selling categories * Returns the list of top selling categories
* *
* @return mixed * @return Collection
*/ */
public function getTopSellingCategories() public function getTopSellingCategories()
{ {
@ -196,7 +198,7 @@ class DashboardController extends Controller
/** /**
* Return stock threshold. * Return stock threshold.
* *
* @return mixed * @return Collection
*/ */
public function getStockThreshold() public function getStockThreshold()
{ {
@ -213,7 +215,7 @@ class DashboardController extends Controller
/** /**
* Returns top selling products * Returns top selling products
* @return mixed * @return Collection
*/ */
public function getTopSellingProducts() public function getTopSellingProducts()
{ {
@ -232,7 +234,7 @@ class DashboardController extends Controller
/** /**
* Returns top selling products * Returns top selling products
* *
* @return mixed * @return Collection
*/ */
public function getCustomerWithMostSales() public function getCustomerWithMostSales()
{ {
@ -273,16 +275,31 @@ class DashboardController extends Controller
// $this->lastEndDate->subDays($this->lastStartDate->diffInDays($this->lastEndDate)); // $this->lastEndDate->subDays($this->lastStartDate->diffInDays($this->lastEndDate));
} }
/**
* Returns previous order query
*
* @return mixed
*/
private function previousOrders() private function previousOrders()
{ {
return $this->getOrdersBetweenDate($this->lastStartDate, $this->lastEndDate); return $this->getOrdersBetweenDate($this->lastStartDate, $this->lastEndDate);
} }
/**
* Returns current order query
*
* @return mixed
*/
private function currentOrders() private function currentOrders()
{ {
return $this->getOrdersBetweenDate($this->startDate, $this->endDate); return $this->getOrdersBetweenDate($this->startDate, $this->endDate);
} }
/**
* Returns orders between two dates
*
* @return mixed
*/
private function getOrdersBetweenDate($start, $end) private function getOrdersBetweenDate($start, $end)
{ {
return $this->orderRepository->scopeQuery(function ($query) use ($start, $end) { return $this->orderRepository->scopeQuery(function ($query) use ($start, $end) {
@ -290,6 +307,11 @@ class DashboardController extends Controller
}); });
} }
/**
* Returns customers between two dates
*
* @return mixed
*/
private function getCustomersBetweenDates($start, $end) private function getCustomersBetweenDates($start, $end)
{ {
return $this->customerRepository->scopeQuery(function ($query) use ($start, $end) { return $this->customerRepository->scopeQuery(function ($query) use ($start, $end) {

View File

@ -1,42 +0,0 @@
<?php
namespace Webkul\Admin\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Admin\Http\Controllers\Controller;
use Webkul\Admin\DataGrids\TestDataGrid;
/**
* TestDataGrid controller
*
* @author Nikhil Malik <nikhil@webkul.com> @ysmnikhil
* @author Prashant Singh <prashant.singh852@webkul.com> @prashant-webkul
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
*/
class DataGridController extends Controller
{
protected $_config;
protected $testgrid;
public function __construct(TestDataGrid $testgrid)
{
$this->middleware('admin');
$this->_config = request('_config');
$this->testgrid = $testgrid;
}
public function massDelete() {
dd(request()->all());
}
public function massUpdate() {
dd(request()->all());
}
public function testGrid() {
return $this->testgrid->render();
}
}

View File

@ -2,9 +2,6 @@
namespace Webkul\Admin\Http\Controllers; namespace Webkul\Admin\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Admin\Http\Controllers\Controller;
use Webkul\Admin\Exports\DataGridExport; use Webkul\Admin\Exports\DataGridExport;
use Excel; use Excel;

View File

@ -2,11 +2,9 @@
namespace Webkul\Admin\Http\Controllers\Sales; namespace Webkul\Admin\Http\Controllers\Sales;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Admin\Http\Controllers\Controller; use Webkul\Admin\Http\Controllers\Controller;
use Webkul\Sales\Repositories\OrderRepository as Order; use Webkul\Sales\Repositories\OrderRepository;
use Webkul\Sales\Repositories\InvoiceRepository as Invoice; use Webkul\Sales\Repositories\InvoiceRepository;
use PDF; use PDF;
/** /**
@ -29,31 +27,34 @@ class InvoiceController extends Controller
* *
* @var array * @var array
*/ */
protected $order; protected $orderRepository;
/** /**
* InvoiceRepository object * InvoiceRepository object
* *
* @var array * @var array
*/ */
protected $invoice; protected $invoiceRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Sales\Repositories\OrderRepository $order * @param \Webkul\Sales\Repositories\OrderRepository $orderRepository
* @param \Webkul\Sales\Repositories\InvoiceRepository $invoice * @param \Webkul\Sales\Repositories\InvoiceRepository $invoiceRepository
* @return void * @return void
*/ */
public function __construct(Invoice $invoice, Order $order) public function __construct(
OrderRepository $orderRepository,
InvoiceRepository $invoiceRepository
)
{ {
$this->middleware('admin'); $this->middleware('admin');
$this->_config = request('_config'); $this->_config = request('_config');
$this->order = $order; $this->orderRepository = $orderRepository;
$this->invoice = $invoice; $this->invoiceRepository = $invoiceRepository;
} }
@ -75,7 +76,7 @@ class InvoiceController extends Controller
*/ */
public function create($orderId) public function create($orderId)
{ {
$order = $this->order->findOrFail($orderId); $order = $this->orderRepository->findOrFail($orderId);
return view($this->_config['view'], compact('order')); return view($this->_config['view'], compact('order'));
} }
@ -84,12 +85,11 @@ class InvoiceController extends Controller
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param int $orderId * @param int $orderId
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function store(Request $request, $orderId) public function store($orderId)
{ {
$order = $this->order->findOrFail($orderId); $order = $this->orderRepository->findOrFail($orderId);
if (! $order->canInvoice()) { if (! $order->canInvoice()) {
session()->flash('error', trans('admin::app.sales.invoices.creation-error')); session()->flash('error', trans('admin::app.sales.invoices.creation-error'));
@ -117,7 +117,7 @@ class InvoiceController extends Controller
return redirect()->back(); return redirect()->back();
} }
$this->invoice->create(array_merge($data, ['order_id' => $orderId])); $this->invoiceRepository->create(array_merge($data, ['order_id' => $orderId]));
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Invoice'])); session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Invoice']));
@ -132,7 +132,7 @@ class InvoiceController extends Controller
*/ */
public function view($id) public function view($id)
{ {
$invoice = $this->invoice->findOrFail($id); $invoice = $this->invoiceRepository->findOrFail($id);
return view($this->_config['view'], compact('invoice')); return view($this->_config['view'], compact('invoice'));
} }
@ -145,7 +145,7 @@ class InvoiceController extends Controller
*/ */
public function print($id) public function print($id)
{ {
$invoice = $this->invoice->findOrFail($id); $invoice = $this->invoiceRepository->findOrFail($id);
$pdf = PDF::loadView('admin::sales.invoices.pdf', compact('invoice'))->setPaper('a4'); $pdf = PDF::loadView('admin::sales.invoices.pdf', compact('invoice'))->setPaper('a4');

View File

@ -2,10 +2,8 @@
namespace Webkul\Admin\Http\Controllers\Sales; namespace Webkul\Admin\Http\Controllers\Sales;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Admin\Http\Controllers\Controller; use Webkul\Admin\Http\Controllers\Controller;
use Webkul\Sales\Repositories\OrderRepository as Order; use Webkul\Sales\Repositories\OrderRepository;
/** /**
* Sales Order controller * Sales Order controller
@ -27,21 +25,21 @@ class OrderController extends Controller
* *
* @var array * @var array
*/ */
protected $order; protected $orderRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Sales\Repositories\OrderRepository $order * @param \Webkul\Sales\Repositories\OrderRepository $orderRepository
* @return void * @return void
*/ */
public function __construct(Order $order) public function __construct(OrderRepository $orderRepository)
{ {
$this->middleware('admin'); $this->middleware('admin');
$this->_config = request('_config'); $this->_config = request('_config');
$this->order = $order; $this->orderRepository = $orderRepository;
} }
@ -63,7 +61,7 @@ class OrderController extends Controller
*/ */
public function view($id) public function view($id)
{ {
$order = $this->order->findOrFail($id); $order = $this->orderRepository->findOrFail($id);
return view($this->_config['view'], compact('order')); return view($this->_config['view'], compact('order'));
} }
@ -76,7 +74,7 @@ class OrderController extends Controller
*/ */
public function cancel($id) public function cancel($id)
{ {
$result = $this->order->cancel($id); $result = $this->orderRepository->cancel($id);
if ($result) { if ($result) {
session()->flash('success', trans('admin::app.response.cancel-success', ['name' => 'Order'])); session()->flash('success', trans('admin::app.response.cancel-success', ['name' => 'Order']));

View File

@ -2,12 +2,10 @@
namespace Webkul\Admin\Http\Controllers\Sales; namespace Webkul\Admin\Http\Controllers\Sales;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Admin\Http\Controllers\Controller; use Webkul\Admin\Http\Controllers\Controller;
use Webkul\Sales\Repositories\ShipmentRepository as Shipment; use Webkul\Sales\Repositories\OrderRepository;
use Webkul\Sales\Repositories\OrderRepository as Order; use Webkul\Sales\Repositories\OrderItemRepository;
use Webkul\Sales\Repositories\OrderItemRepository as OrderItem; use Webkul\Sales\Repositories\ShipmentRepository;
/** /**
* Sales Shipment controller * Sales Shipment controller
@ -24,51 +22,50 @@ class ShipmentController extends Controller
*/ */
protected $_config; protected $_config;
/**
* ShipmentRepository object
*
* @var mixed
*/
protected $shipment;
/** /**
* OrderRepository object * OrderRepository object
* *
* @var mixed * @var mixed
*/ */
protected $order; protected $orderRepository;
/** /**
* OrderItemRepository object * OrderItemRepository object
* *
* @var mixed * @var mixed
*/ */
protected $orderItem; protected $orderItemRepository;
/**
* ShipmentRepository object
*
* @var mixed
*/
protected $shipmentRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Sales\Repositories\ShipmentRepository $shipment * @param \Webkul\Sales\Repositories\ShipmentRepository $shipmentRepository
* @param \Webkul\Sales\Repositories\OrderRepository $order * @param \Webkul\Sales\Repositories\OrderRepository $orderRepository
* @param \Webkul\Sales\Repositories\OrderitemRepository $orderItem * @param \Webkul\Sales\Repositories\OrderitemRepository $orderItemRepository
* @return void * @return void
*/ */
public function __construct( public function __construct(
Shipment $shipment, ShipmentRepository $shipmentRepository,
Order $order, OrderRepository $orderRepository,
OrderItem $orderItem OrderItemRepository $orderItemRepository
) )
{ {
$this->middleware('admin'); $this->middleware('admin');
$this->_config = request('_config'); $this->_config = request('_config');
$this->order = $order; $this->orderRepository = $orderRepository;
$this->orderItem = $orderItem; $this->orderItemRepository = $orderItemRepository;
$this->shipment = $shipment;
$this->shipmentRepository = $shipmentRepository;
} }
/** /**
@ -89,7 +86,7 @@ class ShipmentController extends Controller
*/ */
public function create($orderId) public function create($orderId)
{ {
$order = $this->order->findOrFail($orderId); $order = $this->orderRepository->findOrFail($orderId);
if (! $order->channel || !$order->canShip()) { if (! $order->channel || !$order->canShip()) {
session()->flash('error', trans('admin::app.sales.shipments.creation-error')); session()->flash('error', trans('admin::app.sales.shipments.creation-error'));
@ -104,12 +101,11 @@ class ShipmentController extends Controller
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param int $orderId * @param int $orderId
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function store(Request $request, $orderId) public function store($orderId)
{ {
$order = $this->order->findOrFail($orderId); $order = $this->orderRepository->findOrFail($orderId);
if (! $order->canShip()) { if (! $order->canShip()) {
session()->flash('error', trans('admin::app.sales.shipments.order-error')); session()->flash('error', trans('admin::app.sales.shipments.order-error'));
@ -132,7 +128,7 @@ class ShipmentController extends Controller
return redirect()->back(); return redirect()->back();
} }
$this->shipment->create(array_merge($data, ['order_id' => $orderId])); $this->shipmentRepository->create(array_merge($data, ['order_id' => $orderId]));
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Shipment'])); session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Shipment']));
@ -154,7 +150,7 @@ class ShipmentController extends Controller
foreach ($data['shipment']['items'] as $itemId => $inventorySource) { foreach ($data['shipment']['items'] as $itemId => $inventorySource) {
if ($qty = $inventorySource[$data['shipment']['source']]) { if ($qty = $inventorySource[$data['shipment']['source']]) {
$orderItem = $this->orderItem->find($itemId); $orderItem = $this->orderItemRepository->find($itemId);
$product = ($orderItem->type == 'configurable') $product = ($orderItem->type == 'configurable')
? $orderItem->child->product ? $orderItem->child->product
@ -185,7 +181,7 @@ class ShipmentController extends Controller
*/ */
public function view($id) public function view($id)
{ {
$shipment = $this->shipment->findOrFail($id); $shipment = $this->shipmentRepository->findOrFail($id);
return view($this->_config['view'], compact('shipment')); return view($this->_config['view'], compact('shipment'));
} }

View File

@ -130,12 +130,12 @@
<div class="graph-stats"> <div class="graph-stats">
<div class="left-card-container graph"> <div class="left-card-container graph">
<div class="card"> <div class="card" style="overflow: hidden;">
<div class="card-title" style="margin-bottom: 30px;"> <div class="card-title" style="margin-bottom: 30px;">
{{ __('admin::app.dashboard.sales') }} {{ __('admin::app.dashboard.sales') }}
</div> </div>
<div class="card-info"> <div class="card-info" style="height: 100%;">
<canvas id="myChart" style="width: 100%; height: 87%"></canvas> <canvas id="myChart" style="width: 100%; height: 87%"></canvas>

View File

@ -2,10 +2,8 @@
namespace Webkul\Attribute\Http\Controllers; namespace Webkul\Attribute\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Support\Facades\Event;
use Illuminate\Http\Response; use Webkul\Attribute\Repositories\AttributeRepository;
use Webkul\Attribute\Repositories\AttributeRepository as Attribute;
use Event;
/** /**
* Catalog attribute controller * Catalog attribute controller
@ -27,17 +25,17 @@ class AttributeController extends Controller
* *
* @var array * @var array
*/ */
protected $attribute; protected $attributeRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Attribute\Repositories\AttributeRepository $attribute * @param \Webkul\Attribute\Repositories\AttributeRepository $attributeRepository
* @return void * @return void
*/ */
public function __construct(Attribute $attribute) public function __construct(AttributeRepository $attributeRepository)
{ {
$this->attribute = $attribute; $this->attributeRepository = $attributeRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -79,7 +77,7 @@ class AttributeController extends Controller
$data['is_user_defined'] = 1; $data['is_user_defined'] = 1;
$attribute = $this->attribute->create($data); $attribute = $this->attributeRepository->create($data);
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Attribute'])); session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Attribute']));
@ -94,7 +92,7 @@ class AttributeController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$attribute = $this->attribute->findOrFail($id); $attribute = $this->attributeRepository->findOrFail($id);
return view($this->_config['view'], compact('attribute')); return view($this->_config['view'], compact('attribute'));
} }
@ -102,11 +100,10 @@ class AttributeController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
$this->validate(request(), [ $this->validate(request(), [
'code' => ['required', 'unique:attributes,code,' . $id, new \Webkul\Core\Contracts\Validations\Code], 'code' => ['required', 'unique:attributes,code,' . $id, new \Webkul\Core\Contracts\Validations\Code],
@ -114,7 +111,7 @@ class AttributeController extends Controller
'type' => 'required' 'type' => 'required'
]); ]);
$attribute = $this->attribute->update(request()->all(), $id); $attribute = $this->attributeRepository->update(request()->all(), $id);
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Attribute'])); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Attribute']));
@ -129,13 +126,13 @@ class AttributeController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$attribute = $this->attribute->findOrFail($id); $attribute = $this->attributeRepository->findOrFail($id);
if (! $attribute->is_user_defined) { if (! $attribute->is_user_defined) {
session()->flash('error', trans('admin::app.response.user-define-error', ['name' => 'Attribute'])); session()->flash('error', trans('admin::app.response.user-define-error', ['name' => 'Attribute']));
} else { } else {
try { try {
$this->attribute->delete($id); $this->attributeRepository->delete($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Attribute'])); session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Attribute']));
@ -161,13 +158,13 @@ class AttributeController extends Controller
$indexes = explode(',', request()->input('indexes')); $indexes = explode(',', request()->input('indexes'));
foreach ($indexes as $key => $value) { foreach ($indexes as $key => $value) {
$attribute = $this->attribute->find($value); $attribute = $this->attributeRepository->find($value);
try { try {
if (! $attribute->is_user_defined) { if (! $attribute->is_user_defined) {
continue; continue;
} else { } else {
$this->attribute->delete($value); $this->attributeRepository->delete($value);
} }
} catch (\Exception $e) { } catch (\Exception $e) {
$suppressFlash = true; $suppressFlash = true;

View File

@ -2,11 +2,8 @@
namespace Webkul\Attribute\Http\Controllers; namespace Webkul\Attribute\Http\Controllers;
use Illuminate\Http\Request; use Webkul\Attribute\Repositories\AttributeFamilyRepository;
use Illuminate\Http\Response; use Webkul\Attribute\Repositories\AttributeRepository;
use Webkul\Attribute\Repositories\AttributeFamilyRepository as AttributeFamily;
use Webkul\Attribute\Repositories\AttributeRepository as Attribute;
/** /**
* Catalog family controller * Catalog family controller
@ -26,19 +23,32 @@ class AttributeFamilyController extends Controller
/** /**
* AttributeFamilyRepository object * AttributeFamilyRepository object
* *
* @var array * @var Object
*/ */
protected $attributeFamily; protected $attributeFamilyRepository;
/**
* AttributeRepository object
*
* @var Object
*/
protected $attributeRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Attribute\Repositories\AttributeFamilyRepository $attributeFamily * @param \Webkul\Attribute\Repositories\AttributeFamilyRepository $attributeFamilyRepository
* @param \Webkul\Attribute\Repositories\AttributeRepository $attributeRepository
* @return void * @return void
*/ */
public function __construct(AttributeFamily $attributeFamily) public function __construct(
AttributeFamilyRepository $attributeFamilyRepository,
AttributeRepository $attributeRepository
)
{ {
$this->attributeFamily = $attributeFamily; $this->attributeFamilyRepository = $attributeFamilyRepository;
$this->attributeRepository = $attributeRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -56,14 +66,13 @@ class AttributeFamilyController extends Controller
/** /**
* Show the form for creating a new resource. * Show the form for creating a new resource.
* *
* @param Webkul\Attribute\Repositories\AttributeRepository $attribute
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function create(Attribute $attribute) public function create()
{ {
$attributeFamily = $this->attributeFamily->with(['attribute_groups.custom_attributes'])->findOneByField('code', 'default'); $attributeFamily = $this->attributeFamilyRepository->with(['attribute_groups.custom_attributes'])->findOneByField('code', 'default');
$custom_attributes = $attribute->all(['id', 'code', 'admin_name', 'type']); $custom_attributes = $this->attributeRepository->all(['id', 'code', 'admin_name', 'type']);
return view($this->_config['view'], compact('custom_attributes', 'attributeFamily')); return view($this->_config['view'], compact('custom_attributes', 'attributeFamily'));
} }
@ -80,7 +89,7 @@ class AttributeFamilyController extends Controller
'name' => 'required' 'name' => 'required'
]); ]);
$attributeFamily = $this->attributeFamily->create(request()->all()); $attributeFamily = $this->attributeFamilyRepository->create(request()->all());
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Family'])); session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Family']));
@ -90,15 +99,14 @@ class AttributeFamilyController extends Controller
/** /**
* Show the form for editing the specified resource. * Show the form for editing the specified resource.
* *
* @param Webkul\Attribute\Repositories\AttributeRepository $attribute
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function edit(Attribute $attribute, $id) public function edit($id)
{ {
$attributeFamily = $this->attributeFamily->with(['attribute_groups.custom_attributes'])->findOrFail($id, ['*']); $attributeFamily = $this->attributeFamilyRepository->with(['attribute_groups.custom_attributes'])->findOrFail($id, ['*']);
$custom_attributes = $attribute->all(['id', 'code', 'admin_name', 'type']); $custom_attributes = $this->attributeRepository->all(['id', 'code', 'admin_name', 'type']);
return view($this->_config['view'], compact('attributeFamily', 'custom_attributes')); return view($this->_config['view'], compact('attributeFamily', 'custom_attributes'));
} }
@ -106,18 +114,17 @@ class AttributeFamilyController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
$this->validate(request(), [ $this->validate(request(), [
'code' => ['required', 'unique:attribute_families,code,' . $id, new \Webkul\Core\Contracts\Validations\Code], 'code' => ['required', 'unique:attribute_families,code,' . $id, new \Webkul\Core\Contracts\Validations\Code],
'name' => 'required' 'name' => 'required'
]); ]);
$attributeFamily = $this->attributeFamily->update(request()->all(), $id); $attributeFamily = $this->attributeFamilyRepository->update(request()->all(), $id);
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Family'])); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Family']));
@ -132,16 +139,16 @@ class AttributeFamilyController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$attributeFamily = $this->attributeFamily->findOrFail($id); $attributeFamily = $this->attributeFamilyRepository->findOrFail($id);
if ($this->attributeFamily->count() == 1) { if ($this->attributeFamilyRepository->count() == 1) {
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Family'])); session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Family']));
} else if ($attributeFamily->products()->count()) { } else if ($attributeFamily->products()->count()) {
session()->flash('error', trans('admin::app.response.attribute-product-error', ['name' => 'Attribute family'])); session()->flash('error', trans('admin::app.response.attribute-product-error', ['name' => 'Attribute family']));
} else { } else {
try { try {
$this->attributeFamily->delete($id); $this->attributeFamilyRepository->delete($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Family'])); session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Family']));
@ -159,7 +166,8 @@ class AttributeFamilyController extends Controller
* *
* @return response \Illuminate\Http\Response * @return response \Illuminate\Http\Response
*/ */
public function massDestroy() { public function massDestroy()
{
$suppressFlash = false; $suppressFlash = false;
if (request()->isMethod('delete')) { if (request()->isMethod('delete')) {
@ -167,7 +175,7 @@ class AttributeFamilyController extends Controller
foreach ($indexes as $key => $value) { foreach ($indexes as $key => $value) {
try { try {
$this->attributeFamily->delete($value); $this->attributeFamilyRepository->delete($value);
} catch (\Exception $e) { } catch (\Exception $e) {
$suppressFlash = true; $suppressFlash = true;

View File

@ -19,29 +19,33 @@ class AttributeFamilyRepository extends Repository
/** /**
* AttributeRepository object * AttributeRepository object
* *
* @var array * @var Object
*/ */
protected $attribute; protected $attributeRepository;
/** /**
* AttributeGroupRepository object * AttributeGroupRepository object
* *
* @var array * @var Object
*/ */
protected $attributeGroup; protected $attributeGroupRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param Webkul\Attribute\Repositories\AttributeRepository $attribute * @param Webkul\Attribute\Repositories\AttributeRepository $attributeRepository
* @param Webkul\Attribute\Repositories\AttributeGroupRepository $attributeGroup * @param Webkul\Attribute\Repositories\AttributeGroupRepository $attributeGroupRepository
* @return void * @return void
*/ */
public function __construct(AttributeRepository $attribute, AttributeGroupRepository $attributeGroup, App $app) public function __construct(
AttributeRepository $attributeRepository,
AttributeGroupRepository $attributeGroupRepository,
App $app
)
{ {
$this->attribute = $attribute; $this->attributeRepository = $attributeRepository;
$this->attributeGroup = $attributeGroup; $this->attributeGroupRepository = $attributeGroupRepository;
parent::__construct($app); parent::__construct($app);
} }
@ -75,9 +79,9 @@ class AttributeFamilyRepository extends Repository
foreach ($custom_attributes as $key => $attribute) { foreach ($custom_attributes as $key => $attribute) {
if (isset($attribute['id'])) { if (isset($attribute['id'])) {
$attributeModel = $this->attribute->find($attribute['id']); $attributeModel = $this->attributeRepository->find($attribute['id']);
} else { } else {
$attributeModel = $this->attribute->findOneByField('code', $attribute['code']); $attributeModel = $this->attributeRepository->findOneByField('code', $attribute['code']);
} }
$attributeGroup->custom_attributes()->save($attributeModel, ['position' => $key + 1]); $attributeGroup->custom_attributes()->save($attributeModel, ['position' => $key + 1]);
@ -112,7 +116,7 @@ class AttributeFamilyRepository extends Repository
if (isset($attributeGroupInputs['custom_attributes'])) { if (isset($attributeGroupInputs['custom_attributes'])) {
foreach ($attributeGroupInputs['custom_attributes'] as $key => $attribute) { foreach ($attributeGroupInputs['custom_attributes'] as $key => $attribute) {
$attributeModel = $this->attribute->find($attribute['id']); $attributeModel = $this->attributeRepository->find($attribute['id']);
$attributeGroup->custom_attributes()->save($attributeModel, ['position' => $key + 1]); $attributeGroup->custom_attributes()->save($attributeModel, ['position' => $key + 1]);
} }
} }
@ -121,7 +125,7 @@ class AttributeFamilyRepository extends Repository
$previousAttributeGroupIds->forget($index); $previousAttributeGroupIds->forget($index);
} }
$attributeGroup = $this->attributeGroup->find($attributeGroupId); $attributeGroup = $this->attributeGroupRepository->find($attributeGroupId);
$attributeGroup->update($attributeGroupInputs); $attributeGroup->update($attributeGroupInputs);
$attributeIds = $attributeGroup->custom_attributes()->get()->pluck('id'); $attributeIds = $attributeGroup->custom_attributes()->get()->pluck('id');
@ -131,7 +135,7 @@ class AttributeFamilyRepository extends Repository
if (is_numeric($index = $attributeIds->search($attribute['id']))) { if (is_numeric($index = $attributeIds->search($attribute['id']))) {
$attributeIds->forget($index); $attributeIds->forget($index);
} else { } else {
$attributeModel = $this->attribute->find($attribute['id']); $attributeModel = $this->attributeRepository->find($attribute['id']);
$attributeGroup->custom_attributes()->save($attributeModel, ['position' => $key + 1]); $attributeGroup->custom_attributes()->save($attributeModel, ['position' => $key + 1]);
} }
} }
@ -145,7 +149,7 @@ class AttributeFamilyRepository extends Repository
} }
foreach ($previousAttributeGroupIds as $attributeGroupId) { foreach ($previousAttributeGroupIds as $attributeGroupId) {
$this->attributeGroup->delete($attributeGroupId); $this->attributeGroupRepository->delete($attributeGroupId);
} }
Event::fire('catalog.attribute_family.update.after', $family); Event::fire('catalog.attribute_family.update.after', $family);
@ -158,7 +162,7 @@ class AttributeFamilyRepository extends Repository
$attributeFamilies = $this->model->all(); $attributeFamilies = $this->model->all();
$trimmed = array(); $trimmed = array();
foreach($attributeFamilies as $key => $attributeFamily) { foreach ($attributeFamilies as $key => $attributeFamily) {
if ($attributeFamily->name != null || $attributeFamily->name != "") { if ($attributeFamily->name != null || $attributeFamily->name != "") {
$trimmed[$key] = [ $trimmed[$key] = [
'id' => $attributeFamily->id, 'id' => $attributeFamily->id,

View File

@ -18,19 +18,22 @@ class AttributeRepository extends Repository
/** /**
* AttributeOptionRepository object * AttributeOptionRepository object
* *
* @var array * @var Object
*/ */
protected $attributeOption; protected $attributeOptionRepository;
/** /**
* Create a new controller instance. * Create a new repository instance.
* *
* @param Webkul\Attribute\Repositories\AttributeOptionRepository $attributeOption * @param Webkul\Attribute\Repositories\AttributeOptionRepository $attributeOptionRepository
* @return void * @return void
*/ */
public function __construct(AttributeOptionRepository $attributeOption, App $app) public function __construct(
AttributeOptionRepository $attributeOptionRepository,
App $app
)
{ {
$this->attributeOption = $attributeOption; $this->attributeOptionRepository = $attributeOptionRepository;
parent::__construct($app); parent::__construct($app);
} }
@ -61,7 +64,7 @@ class AttributeRepository extends Repository
if (in_array($attribute->type, ['select', 'multiselect', 'checkbox']) && count($options)) { if (in_array($attribute->type, ['select', 'multiselect', 'checkbox']) && count($options)) {
foreach ($options as $optionInputs) { foreach ($options as $optionInputs) {
$this->attributeOption->create(array_merge([ $this->attributeOptionRepository->create(array_merge([
'attribute_id' => $attribute->id 'attribute_id' => $attribute->id
], $optionInputs)); ], $optionInputs));
} }
@ -94,7 +97,7 @@ class AttributeRepository extends Repository
if (isset($data['options'])) { if (isset($data['options'])) {
foreach ($data['options'] as $optionId => $optionInputs) { foreach ($data['options'] as $optionId => $optionInputs) {
if (str_contains($optionId, 'option_')) { if (str_contains($optionId, 'option_')) {
$this->attributeOption->create(array_merge([ $this->attributeOptionRepository->create(array_merge([
'attribute_id' => $attribute->id, 'attribute_id' => $attribute->id,
], $optionInputs)); ], $optionInputs));
} else { } else {
@ -102,14 +105,14 @@ class AttributeRepository extends Repository
$previousOptionIds->forget($index); $previousOptionIds->forget($index);
} }
$this->attributeOption->update($optionInputs, $optionId); $this->attributeOptionRepository->update($optionInputs, $optionId);
} }
} }
} }
} }
foreach ($previousOptionIds as $optionId) { foreach ($previousOptionIds as $optionId) {
$this->attributeOption->delete($optionId); $this->attributeOptionRepository->delete($optionId);
} }
Event::fire('catalog.attribute.update.after', $attribute); Event::fire('catalog.attribute.update.after', $attribute);
@ -166,7 +169,7 @@ class AttributeRepository extends Repository
{ {
$attributeColumns = ['id', 'code', 'value_per_channel', 'value_per_locale', 'type', 'is_filterable']; $attributeColumns = ['id', 'code', 'value_per_channel', 'value_per_locale', 'type', 'is_filterable'];
if (! is_array($codes) && !$codes) if (! is_array($codes) && ! $codes)
return $this->findWhereIn('code', [ return $this->findWhereIn('code', [
'name', 'name',
'description', 'description',
@ -220,7 +223,12 @@ class AttributeRepository extends Repository
$trimmed = array(); $trimmed = array();
foreach($attributes as $key => $attribute) { foreach($attributes as $key => $attribute) {
if ($attribute->code != 'tax_category_id' && ($attribute->type == 'select' || $attribute->type == 'multiselect' || $attribute->code == 'sku')) { if ($attribute->code != 'tax_category_id'
&& (
$attribute->type == 'select'
|| $attribute->type == 'multiselect'
|| $attribute->code == 'sku'
)) {
array_push($trimmed, [ array_push($trimmed, [
'id' => $attribute->id, 'id' => $attribute->id,
'name' => $attribute->name, 'name' => $attribute->name,

View File

@ -2,9 +2,7 @@
namespace Webkul\Category\Http\Controllers; namespace Webkul\Category\Http\Controllers;
use Illuminate\Http\Request; use Webkul\Category\Repositories\CategoryRepository;
use Illuminate\Http\Response;
use Webkul\Category\Repositories\CategoryRepository as Category;
use Webkul\Category\Models\CategoryTranslation; use Webkul\Category\Models\CategoryTranslation;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
@ -28,17 +26,17 @@ class CategoryController extends Controller
* *
* @var array * @var array
*/ */
protected $category; protected $categoryRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Category\Repositories\CategoryRepository $category * @param \Webkul\Category\Repositories\CategoryRepository $categoryRepository
* @return void * @return void
*/ */
public function __construct(Category $category) public function __construct(CategoryRepository $categoryRepository)
{ {
$this->category = $category; $this->categoryRepository = $categoryRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -60,7 +58,7 @@ class CategoryController extends Controller
*/ */
public function create() public function create()
{ {
$categories = $this->category->getCategoryTree(null, ['id']); $categories = $this->categoryRepository->getCategoryTree(null, ['id']);
return view($this->_config['view'], compact('categories')); return view($this->_config['view'], compact('categories'));
} }
@ -91,7 +89,7 @@ class CategoryController extends Controller
} }
} }
$category = $this->category->create(request()->all()); $category = $this->categoryRepository->create(request()->all());
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Category'])); session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Category']));
@ -106,9 +104,9 @@ class CategoryController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$categories = $this->category->getCategoryTree($id); $categories = $this->categoryRepository->getCategoryTree($id);
$category = $this->category->findOrFail($id); $category = $this->categoryRepository->findOrFail($id);
return view($this->_config['view'], compact('category', 'categories')); return view($this->_config['view'], compact('category', 'categories'));
} }
@ -116,17 +114,16 @@ class CategoryController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
$locale = request()->get('locale') ?: app()->getLocale(); $locale = request()->get('locale') ?: app()->getLocale();
$this->validate(request(), [ $this->validate(request(), [
$locale . '.slug' => ['required', new \Webkul\Core\Contracts\Validations\Slug, function ($attribute, $value, $fail) use ($id) { $locale . '.slug' => ['required', new \Webkul\Core\Contracts\Validations\Slug, function ($attribute, $value, $fail) use ($id) {
if (! $this->category->isSlugUnique($id, $value)) { if (! $this->categoryRepository->isSlugUnique($id, $value)) {
$fail(trans('admin::app.response.already-taken', ['name' => 'Category'])); $fail(trans('admin::app.response.already-taken', ['name' => 'Category']));
} }
}], }],
@ -134,7 +131,7 @@ class CategoryController extends Controller
'image.*' => 'mimes:jpeg,jpg,bmp,png' 'image.*' => 'mimes:jpeg,jpg,bmp,png'
]); ]);
$this->category->update(request()->all(), $id); $this->categoryRepository->update(request()->all(), $id);
session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Category'])); session()->flash('success', trans('admin::app.response.update-success', ['name' => 'Category']));
@ -149,7 +146,7 @@ class CategoryController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$category = $this->category->findOrFail($id); $category = $this->categoryRepository->findOrFail($id);
if(strtolower($category->name) == "root") { if(strtolower($category->name) == "root") {
session()->flash('warning', trans('admin::app.response.delete-category-root', ['name' => 'Category'])); session()->flash('warning', trans('admin::app.response.delete-category-root', ['name' => 'Category']));
@ -157,7 +154,7 @@ class CategoryController extends Controller
try { try {
Event:: fire('catalog.category.delete.before', $id); Event:: fire('catalog.category.delete.before', $id);
$this->category->delete($id); $this->categoryRepository->delete($id);
Event::fire('catalog.category.delete.after', $id); Event::fire('catalog.category.delete.after', $id);
@ -187,7 +184,7 @@ class CategoryController extends Controller
try { try {
Event::fire('catalog.category.delete.before', $value); Event::fire('catalog.category.delete.before', $value);
$this->category->delete($value); $this->categoryRepository->delete($value);
Event::fire('catalog.category.delete.after', $value); Event::fire('catalog.category.delete.after', $value);
} catch(\Exception $e) { } catch(\Exception $e) {

View File

@ -2,11 +2,9 @@
namespace Webkul\Checkout; namespace Webkul\Checkout;
use Carbon\Carbon;
use Webkul\Checkout\Repositories\CartRepository; use Webkul\Checkout\Repositories\CartRepository;
use Webkul\Checkout\Repositories\CartItemRepository; use Webkul\Checkout\Repositories\CartItemRepository;
use Webkul\Checkout\Repositories\CartAddressRepository; use Webkul\Checkout\Repositories\CartAddressRepository;
use Webkul\Customer\Repositories\CustomerRepository;
use Webkul\Product\Repositories\ProductRepository; use Webkul\Product\Repositories\ProductRepository;
use Webkul\Tax\Repositories\TaxCategoryRepository; use Webkul\Tax\Repositories\TaxCategoryRepository;
use Webkul\Checkout\Models\CartItem; use Webkul\Checkout\Models\CartItem;
@ -29,61 +27,49 @@ class Cart {
* *
* @var mixed * @var mixed
*/ */
protected $cart; protected $cartRepository;
/** /**
* CartItemRepository instance * CartItemRepository instance
* *
* @var mixed * @var mixed
*/ */
protected $cartItem; protected $cartItemRepository;
/**
* CustomerRepository instance
*
* @var mixed
*/
protected $customer;
/** /**
* CartAddressRepository instance * CartAddressRepository instance
* *
* @var mixed * @var mixed
*/ */
protected $cartAddress; protected $cartAddressRepository;
/** /**
* ProductRepository instance * ProductRepository instance
* *
* @var mixed * @var mixed
*/ */
protected $product; protected $productRepository;
/** /**
* TaxCategoryRepository instance * TaxCategoryRepository instance
* *
* @var mixed * @var mixed
*/ */
protected $taxCategory; protected $taxCategoryRepository;
/** /**
* WishlistRepository instance * WishlistRepository instance
* *
* @var mixed * @var mixed
*/ */
protected $wishlist; protected $wishlistRepository;
/** /**
* CustomerAddressRepository instance * CustomerAddressRepository instance
* *
* @var mixed * @var mixed
*/ */
protected $customerAddress; protected $customerAddressRepository;
/**
* Suppress the session flash messages
*/
protected $suppressFlash;
/** /**
* Product price helper instance * Product price helper instance
@ -93,49 +79,43 @@ class Cart {
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param Webkul\Checkout\Repositories\CartRepository $cart * @param Webkul\Checkout\Repositories\CartRepository $cart
* @param Webkul\Checkout\Repositories\CartItemRepository $cartItem * @param Webkul\Checkout\Repositories\CartItemRepository $cartItem
* @param Webkul\Checkout\Repositories\CartAddressRepository $cartAddress * @param Webkul\Checkout\Repositories\CartAddressRepository $cartAddress
* @param Webkul\Customer\Repositories\CustomerRepository $customer * @param Webkul\Product\Repositories\ProductRepository $product
* @param Webkul\Product\Repositories\ProductRepository $product * @param Webkul\Product\Repositories\TaxCategoryRepository $taxCategory
* @param Webkul\Product\Repositories\TaxCategoryRepository $taxCategory * @param Webkul\Product\Repositories\CustomerAddressRepository $customerAddress
* @param Webkul\Product\Repositories\CustomerAddressRepository $customerAddress * @param Webkul\Product\Repositories\CustomerAddressRepository $customerAddress
* @param Webkul\Product\Repositories\CustomerAddressRepository $customerAddress * @param Webkul\Discount\Repositories\CartRuleRepository $cartRule
* @param Webkul\Discount\Repositories\CartRuleRepository $cartRule * @param Webkul\Helpers\Discount $discount
* @param Webkul\Helpers\Discount $discount
* @return void * @return void
*/ */
public function __construct( public function __construct(
CartRepository $cart, CartRepository $cartRepository,
CartItemRepository $cartItem, CartItemRepository $cartItemRepository,
CartAddressRepository $cartAddress, CartAddressRepository $cartAddressRepository,
CustomerRepository $customer, ProductRepository $productRepository,
ProductRepository $product, TaxCategoryRepository $taxCategoryRepository,
TaxCategoryRepository $taxCategory, WishlistRepository $wishlistRepository,
WishlistRepository $wishlist, CustomerAddressRepository $customerAddressRepository,
CustomerAddressRepository $customerAddress,
Price $price Price $price
) )
{ {
$this->customer = $customer; $this->cartRepository = $cartRepository;
$this->cart = $cart; $this->cartItemRepository = $cartItemRepository;
$this->cartItem = $cartItem; $this->cartAddressRepository = $cartAddressRepository;
$this->cartAddress = $cartAddress; $this->productRepository = $productRepository;
$this->product = $product; $this->taxCategoryRepository = $taxCategoryRepository;
$this->taxCategory = $taxCategory; $this->wishlistRepository = $wishlistRepository;
$this->wishlist = $wishlist; $this->customerAddressRepository = $customerAddressRepository;
$this->customerAddress = $customerAddress;
$this->price = $price; $this->price = $price;
$this->suppressFlash = false;
} }
/** /**
@ -162,13 +142,9 @@ class Cart {
{ {
$cartData = [ $cartData = [
'channel_id' => core()->getCurrentChannel()->id, 'channel_id' => core()->getCurrentChannel()->id,
'global_currency_code' => core()->getBaseCurrencyCode(), 'global_currency_code' => core()->getBaseCurrencyCode(),
'base_currency_code' => core()->getBaseCurrencyCode(), 'base_currency_code' => core()->getBaseCurrencyCode(),
'channel_currency_code' => core()->getChannelBaseCurrencyCode(), 'channel_currency_code' => core()->getChannelBaseCurrencyCode(),
'cart_currency_code' => core()->getCurrentCurrencyCode(), 'cart_currency_code' => core()->getCurrentCurrencyCode(),
'items_count' => 1 'items_count' => 1
]; ];
@ -184,7 +160,7 @@ class Cart {
$cartData['is_guest'] = 1; $cartData['is_guest'] = 1;
} }
$result = $this->cart->create($cartData); $result = $this->cartRepository->create($cartData);
$this->putCart($result); $this->putCart($result);
@ -214,7 +190,7 @@ class Cart {
$ifExists = $this->checkIfItemExists($id, $data); $ifExists = $this->checkIfItemExists($id, $data);
if ($ifExists) { if ($ifExists) {
$item = $this->cartItem->findOneByField('id', $ifExists); $item = $this->cartItemRepository->findOneByField('id', $ifExists);
$data['quantity'] = $data['quantity'] + $item->quantity; $data['quantity'] = $data['quantity'] + $item->quantity;
@ -240,10 +216,10 @@ class Cart {
foreach ($items as $item) { foreach ($items as $item) {
if ($id == $item->product_id) { if ($id == $item->product_id) {
$product = $this->product->findOnebyField('id', $id); $product = $this->productRepository->findOnebyField('id', $id);
if ($product->type == 'configurable') { if ($product->type == 'configurable') {
$variant = $this->product->findOneByField('id', $data['selected_configurable_option']); $variant = $this->productRepository->findOneByField('id', $data['selected_configurable_option']);
if ($item->child->product_id == $data['selected_configurable_option']) if ($item->child->product_id == $data['selected_configurable_option'])
return $item->id; return $item->id;
@ -268,14 +244,14 @@ class Cart {
{ {
$childProduct = $configurable = false; $childProduct = $configurable = false;
$product = $this->product->findOneByField('id', $id); $product = $this->productRepository->findOneByField('id', $id);
if ($product->type == 'configurable') { if ($product->type == 'configurable') {
if (! isset($data['selected_configurable_option']) || ! $data['selected_configurable_option']) { if (! isset($data['selected_configurable_option']) || ! $data['selected_configurable_option']) {
return false; return false;
} }
$childProduct = $this->product->findOneByField('id', $data['selected_configurable_option']); $childProduct = $this->productRepository->findOneByField('id', $data['selected_configurable_option']);
if (! $childProduct->haveSufficientQuantity($data['quantity'])) { if (! $childProduct->haveSufficientQuantity($data['quantity'])) {
session()->flash('warning', trans('shop::app.checkout.cart.quantity.inventory_warning')); session()->flash('warning', trans('shop::app.checkout.cart.quantity.inventory_warning'));
@ -351,12 +327,12 @@ class Cart {
$parentData['additional'] = array_merge($parentData['additional'], ['link_lables' => $this->getDownloadableDetails($product)]); $parentData['additional'] = array_merge($parentData['additional'], ['link_lables' => $this->getDownloadableDetails($product)]);
} }
$item = $this->cartItem->create($parentData); $item = $this->cartItemRepository->create($parentData);
if (is_array($childData)) { if (is_array($childData)) {
$childData['parent_id'] = $item->id; $childData['parent_id'] = $item->id;
$this->cartItem->create($childData); $this->cartItemRepository->create($childData);
} }
return $item; return $item;
@ -372,16 +348,12 @@ class Cart {
*/ */
public function updateItem($id, $data, $itemId) public function updateItem($id, $data, $itemId)
{ {
$item = $this->cartItem->findOneByField('id', $itemId); $item = $this->cartItemRepository->findOneByField('id', $itemId);
if (isset($data['product'])) { $additional = isset($data['product']) ? $data : $item->additional;
$additional = $data;
} else {
$additional = $item->additional;
}
if ($item->type == 'configurable') { if ($item->type == 'configurable') {
$product = $this->product->findOneByField('id', $item->child->product_id); $product = $this->productRepository->findOneByField('id', $item->child->product_id);
if (! $product->haveSufficientQuantity($data['quantity'])) { if (! $product->haveSufficientQuantity($data['quantity'])) {
session()->flash('warning', trans('shop::app.checkout.cart.quantity.inventory_warning')); session()->flash('warning', trans('shop::app.checkout.cart.quantity.inventory_warning'));
@ -396,7 +368,7 @@ class Cart {
} else if ($item->type == 'downloadable') { } else if ($item->type == 'downloadable') {
$additional = array_merge($additional, ['link_lables' => $this->getDownloadableDetails($item)]); $additional = array_merge($additional, ['link_lables' => $this->getDownloadableDetails($item)]);
} else { } else {
$product = $this->product->findOneByField('id', $item->product_id); $product = $this->productRepository->findOneByField('id', $item->product_id);
if ($product->isStockable() && ! $product->haveSufficientQuantity($data['quantity'])) { if ($product->isStockable() && ! $product->haveSufficientQuantity($data['quantity'])) {
session()->flash('warning', trans('shop::app.checkout.cart.quantity.inventory_warning')); session()->flash('warning', trans('shop::app.checkout.cart.quantity.inventory_warning'));
@ -437,11 +409,11 @@ class Cart {
public function removeItem($itemId) public function removeItem($itemId)
{ {
if ($cart = $this->getCart()) { if ($cart = $this->getCart()) {
$this->cartItem->delete($itemId); $this->cartItemRepository->delete($itemId);
//delete the cart instance if no items are there //delete the cart instance if no items are there
if ($cart->items()->get()->count() == 0) { if ($cart->items()->get()->count() == 0) {
$this->cart->delete($cart->id); $this->cartRepository->delete($cart->id);
// $this->deActivateCart(); // $this->deActivateCart();
if (session()->has('cart')) { if (session()->has('cart')) {
@ -465,13 +437,9 @@ class Cart {
public function mergeCart() public function mergeCart()
{ {
if (session()->has('cart')) { if (session()->has('cart')) {
$cart = $this->cart->findWhere(['customer_id' => $this->getCurrentCustomer()->user()->id, 'is_active' => 1]); $cart = $this->cartRepository->findWhere(['customer_id' => $this->getCurrentCustomer()->user()->id, 'is_active' => 1]);
if ($cart->count()) { $cart = $cart->count() ? $cart->first() : false;
$cart = $cart->first();
} else {
$cart = false;
}
$guestCart = session()->get('cart'); $guestCart = session()->get('cart');
@ -494,62 +462,63 @@ class Cart {
$guestCartId = $guestCart->id; $guestCartId = $guestCart->id;
$guestCartItems = $this->cart->findOneByField('id', $guestCartId)->items; $guestCartItems = $this->cartRepository->findOneByField('id', $guestCartId)->items;
foreach ($guestCartItems as $key => $guestCartItem) { foreach ($guestCartItems as $key => $guestCartItem) {
foreach ($cartItems as $cartItem) { foreach ($cartItems as $cartItem) {
if ($guestCartItem->type == "simple") { if ($guestCartItem->type == "configurable" && $cartItem->type == "configurable") {
if ($cartItem->product_id == $guestCartItem->product_id) {
$prevQty = $cartItem->quantity;
$newQty = $guestCartItem->quantity;
$product = $this->product->findOneByField('id', $cartItem->product_id);
if ($product->isStockable() && ! $product->haveSufficientQuantity($prevQty + $newQty)) {
$this->cartItem->delete($guestCartItem->id);
continue;
}
$data['quantity'] = $newQty + $prevQty;
$this->updateItem($cartItem->product_id, $data, $cartItem->id);
$guestCartItems->forget($key);
$this->cartItem->delete($guestCartItem->id);
}
} else if ($guestCartItem->type == "configurable" && $cartItem->type == "configurable") {
$guestCartItemChild = $guestCartItem->child; $guestCartItemChild = $guestCartItem->child;
$cartItemChild = $cartItem->child; $cartItemChild = $cartItem->child;
if ($guestCartItemChild->product_id == $cartItemChild->product_id) { if ($guestCartItemChild->product_id != $cartItemChild->product_id)
$prevQty = $guestCartItem->quantity; continue;
$newQty = $cartItem->quantity;
$product = $this->product->findOneByField('id', $cartItem->child->product_id); $prevQty = $guestCartItem->quantity;
$newQty = $cartItem->quantity;
if ($product->isStockable() && ! $product->haveSufficientQuantity($prevQty + $newQty)) { $product = $this->productRepository->findOneByField('id', $cartItem->child->product_id);
$this->cartItem->delete($guestCartItem->id);
continue;
}
$data['quantity'] = $newQty + $prevQty; if ($product->isStockable() && ! $product->haveSufficientQuantity($prevQty + $newQty)) {
$this->cartItemRepository->delete($guestCartItem->id);
$this->updateItem($cartItem->product_id, $data, $cartItem->id); continue;
$guestCartItems->forget($key);
$this->cartItem->delete($guestCartItem->id);
} }
$data['quantity'] = $newQty + $prevQty;
$this->updateItem($cartItem->product_id, $data, $cartItem->id);
$guestCartItems->forget($key);
$this->cartItemRepository->delete($guestCartItem->id);
} else {
if ($cartItem->product_id == $guestCartItem->product_id)
continue;
$prevQty = $cartItem->quantity;
$newQty = $guestCartItem->quantity;
$product = $this->productRepository->findOneByField('id', $cartItem->product_id);
if ($product->isStockable() && ! $product->haveSufficientQuantity($prevQty + $newQty)) {
$this->cartItemRepository->delete($guestCartItem->id);
continue;
}
$data['quantity'] = $newQty + $prevQty;
$this->updateItem($cartItem->product_id, $data, $cartItem->id);
$guestCartItems->forget($key);
$this->cartItemRepository->delete($guestCartItem->id);
} }
} }
} }
//now handle the products that are not removed from the list of items in the guest cart. //now handle the products that are not removed from the list of items in the guest cart.
foreach ($guestCartItems as $guestCartItem) { foreach ($guestCartItems as $guestCartItem) {
if ($guestCartItem->type == "configurable") { if ($guestCartItem->type == "configurable") {
$guestCartItem->update(['cart_id' => $cart->id]); $guestCartItem->update(['cart_id' => $cart->id]);
@ -560,7 +529,7 @@ class Cart {
} }
//delete the guest cart instance. //delete the guest cart instance.
$this->cart->delete($guestCartId); $this->cartRepository->delete($guestCartId);
//forget the guest cart instance //forget the guest cart instance
session()->forget('cart'); session()->forget('cart');
@ -595,13 +564,13 @@ class Cart {
$cart = null; $cart = null;
if ($this->getCurrentCustomer()->check()) { if ($this->getCurrentCustomer()->check()) {
$cart = $this->cart->findOneWhere([ $cart = $this->cartRepository->findOneWhere([
'customer_id' => $this->getCurrentCustomer()->user()->id, 'customer_id' => $this->getCurrentCustomer()->user()->id,
'is_active' => 1 'is_active' => 1
]); ]);
} elseif (session()->has('cart')) { } elseif (session()->has('cart')) {
$cart = $this->cart->find(session()->get('cart')->id); $cart = $this->cartRepository->find(session()->get('cart')->id);
} }
return $cart && $cart->is_active ? $cart : null; return $cart && $cart->is_active ? $cart : null;
@ -700,7 +669,7 @@ class Cart {
$billingAddress['cart_id'] = $cart->id; $billingAddress['cart_id'] = $cart->id;
if (isset($data['billing']['address_id']) && $data['billing']['address_id']) { if (isset($data['billing']['address_id']) && $data['billing']['address_id']) {
$address = $this->customerAddress->findOneWhere(['id'=> $data['billing']['address_id']])->toArray(); $address = $this->customerAddressRepository->findOneWhere(['id'=> $data['billing']['address_id']])->toArray();
$billingAddress['first_name'] = $this->getCurrentCustomer()->user()->first_name; $billingAddress['first_name'] = $this->getCurrentCustomer()->user()->first_name;
$billingAddress['last_name'] = $this->getCurrentCustomer()->user()->last_name; $billingAddress['last_name'] = $this->getCurrentCustomer()->user()->last_name;
@ -715,7 +684,7 @@ class Cart {
if (isset($data['billing']['save_as_address']) && $data['billing']['save_as_address']) { if (isset($data['billing']['save_as_address']) && $data['billing']['save_as_address']) {
$billingAddress['customer_id'] = $this->getCurrentCustomer()->user()->id; $billingAddress['customer_id'] = $this->getCurrentCustomer()->user()->id;
$this->customerAddress->create($billingAddress); $this->customerAddressRepository->create($billingAddress);
} }
if ($cart->haveStockableItems()) { if ($cart->haveStockableItems()) {
@ -723,7 +692,7 @@ class Cart {
$shippingAddress['cart_id'] = $cart->id; $shippingAddress['cart_id'] = $cart->id;
if (isset($data['shipping']['address_id']) && $data['shipping']['address_id']) { if (isset($data['shipping']['address_id']) && $data['shipping']['address_id']) {
$address = $this->customerAddress->findOneWhere(['id'=> $data['shipping']['address_id']])->toArray(); $address = $this->customerAddressRepository->findOneWhere(['id'=> $data['shipping']['address_id']])->toArray();
$shippingAddress['first_name'] = $this->getCurrentCustomer()->user()->first_name; $shippingAddress['first_name'] = $this->getCurrentCustomer()->user()->first_name;
$shippingAddress['last_name'] = $this->getCurrentCustomer()->user()->last_name; $shippingAddress['last_name'] = $this->getCurrentCustomer()->user()->last_name;
@ -739,36 +708,36 @@ class Cart {
if (isset($data['shipping']['save_as_address']) && $data['shipping']['save_as_address']) { if (isset($data['shipping']['save_as_address']) && $data['shipping']['save_as_address']) {
$shippingAddress['customer_id'] = $this->getCurrentCustomer()->user()->id; $shippingAddress['customer_id'] = $this->getCurrentCustomer()->user()->id;
$this->customerAddress->create($shippingAddress); $this->customerAddressRepository->create($shippingAddress);
} }
} }
if ($billingAddressModel = $cart->billing_address) { if ($billingAddressModel = $cart->billing_address) {
$this->cartAddress->update($billingAddress, $billingAddressModel->id); $this->cartAddressRepository->update($billingAddress, $billingAddressModel->id);
if ($cart->haveStockableItems()) { if ($cart->haveStockableItems()) {
if ($shippingAddressModel = $cart->shipping_address) { if ($shippingAddressModel = $cart->shipping_address) {
if (isset($billingAddress['use_for_shipping']) && $billingAddress['use_for_shipping']) { if (isset($billingAddress['use_for_shipping']) && $billingAddress['use_for_shipping']) {
$this->cartAddress->update($billingAddress, $shippingAddressModel->id); $this->cartAddressRepository->update($billingAddress, $shippingAddressModel->id);
} else { } else {
$this->cartAddress->update($shippingAddress, $shippingAddressModel->id); $this->cartAddressRepository->update($shippingAddress, $shippingAddressModel->id);
} }
} else { } else {
if (isset($billingAddress['use_for_shipping']) && $billingAddress['use_for_shipping']) { if (isset($billingAddress['use_for_shipping']) && $billingAddress['use_for_shipping']) {
$this->cartAddress->create(array_merge($billingAddress, ['address_type' => 'shipping'])); $this->cartAddressRepository->create(array_merge($billingAddress, ['address_type' => 'shipping']));
} else { } else {
$this->cartAddress->create(array_merge($shippingAddress, ['address_type' => 'shipping'])); $this->cartAddressRepository->create(array_merge($shippingAddress, ['address_type' => 'shipping']));
} }
} }
} }
} else { } else {
$this->cartAddress->create(array_merge($billingAddress, ['address_type' => 'billing'])); $this->cartAddressRepository->create(array_merge($billingAddress, ['address_type' => 'billing']));
if ($cart->haveStockableItems()) { if ($cart->haveStockableItems()) {
if (isset($billingAddress['use_for_shipping']) && $billingAddress['use_for_shipping']) { if (isset($billingAddress['use_for_shipping']) && $billingAddress['use_for_shipping']) {
$this->cartAddress->create(array_merge($billingAddress, ['address_type' => 'shipping'])); $this->cartAddressRepository->create(array_merge($billingAddress, ['address_type' => 'shipping']));
} else { } else {
$this->cartAddress->create(array_merge($shippingAddress, ['address_type' => 'shipping'])); $this->cartAddressRepository->create(array_merge($shippingAddress, ['address_type' => 'shipping']));
} }
} }
} }
@ -892,13 +861,12 @@ class Cart {
{ {
$cart = $this->getCart(); $cart = $this->getCart();
if (! $cart) { if (! $cart)
return false; return false;
}
//rare case of accident-->used when there are no items. //rare case of accident-->used when there are no items.
if (count($cart->items) == 0) { if (count($cart->items) == 0) {
$this->cart->delete($cart->id); $this->cartRepository->delete($cart->id);
return false; return false;
} else { } else {
@ -931,7 +899,7 @@ class Cart {
]); ]);
} }
} else if ($productFlat->type == 'simple') { } else {
if ($productFlat->sku != $item->sku) { if ($productFlat->sku != $item->sku) {
$item->update(['sku' => $productFlat->sku]); $item->update(['sku' => $productFlat->sku]);
@ -975,7 +943,7 @@ class Cart {
return; return;
foreach ($cart->items()->get() as $item) { foreach ($cart->items()->get() as $item) {
$taxCategory = $this->taxCategory->find($item->product->tax_category_id); $taxCategory = $this->taxCategoryRepository->find($item->product->tax_category_id);
if (! $taxCategory) if (! $taxCategory)
continue; continue;
@ -1064,7 +1032,7 @@ class Cart {
public function deActivateCart() public function deActivateCart()
{ {
if ($cart = $this->getCart()) { if ($cart = $this->getCart()) {
$this->cart->update(['is_active' => false], $cart->id); $this->cartRepository->update(['is_active' => false], $cart->id);
if (session()->has('cart')) { if (session()->has('cart')) {
session()->forget('cart'); session()->forget('cart');
@ -1083,14 +1051,12 @@ class Cart {
$finalData = [ $finalData = [
'cart_id' => $this->getCart()->id, 'cart_id' => $this->getCart()->id,
'customer_id' => $data['customer_id'], 'customer_id' => $data['customer_id'],
'is_guest' => $data['is_guest'], 'is_guest' => $data['is_guest'],
'customer_email' => $data['customer_email'], 'customer_email' => $data['customer_email'],
'customer_first_name' => $data['customer_first_name'], 'customer_first_name' => $data['customer_first_name'],
'customer_last_name' => $data['customer_last_name'], 'customer_last_name' => $data['customer_last_name'],
'customer' => $this->getCurrentCustomer()->check() ? $this->getCurrentCustomer()->user() : null, 'customer' => $this->getCurrentCustomer()->check() ? $this->getCurrentCustomer()->user() : null,
'total_item_count' => $data['items_count'], 'total_item_count' => $data['items_count'],
'total_qty_ordered' => $data['items_qty'], 'total_qty_ordered' => $data['items_qty'],
'base_currency_code' => $data['base_currency_code'], 'base_currency_code' => $data['base_currency_code'],
@ -1104,10 +1070,8 @@ class Cart {
'base_tax_amount' => $data['base_tax_total'], 'base_tax_amount' => $data['base_tax_total'],
'discount_amount' => $data['discount_amount'], 'discount_amount' => $data['discount_amount'],
'base_discount_amount' => $data['base_discount_amount'], 'base_discount_amount' => $data['base_discount_amount'],
'billing_address' => array_except($data['billing_address'], ['id', 'cart_id']), 'billing_address' => array_except($data['billing_address'], ['id', 'cart_id']),
'payment' => array_except($data['payment'], ['id', 'cart_id']), 'payment' => array_except($data['payment'], ['id', 'cart_id']),
'channel' => core()->getCurrentChannel(), 'channel' => core()->getCurrentChannel(),
]; ];
@ -1137,7 +1101,7 @@ class Cart {
public function prepareDataForOrderItem($data) public function prepareDataForOrderItem($data)
{ {
$finalData = [ $finalData = [
'product' => $this->product->find($data['product_id']), 'product' => $this->productRepository->find($data['product_id']),
'sku' => $data['sku'], 'sku' => $data['sku'],
'type' => $data['type'], 'type' => $data['type'],
'name' => $data['name'], 'name' => $data['name'],
@ -1173,23 +1137,20 @@ class Cart {
{ {
$product = $wishlistItem->product; $product = $wishlistItem->product;
if ($product->type == 'simple') { if ($product->getTypeInstance()->canBeMovedFromWishlistToCart()) {
$data['quantity'] = 1; \Event::fire('checkout.cart.add.before', $product->id);
$data['product'] = $product->id;
\Event::fire('checkout.cart.add.after', $product->id); $result = $this->add($product->id, ['quantity' => 1, 'product' => $product->id]);
$result = $this->add($product->id, $data);
if ($result) { if ($result) {
\Event::fire('checkout.cart.add.after', $result); \Event::fire('checkout.cart.add.after', $result);
return 1; return true;
} else { } else {
return 0; return false;
} }
} else if ($product->type == 'configurable' && $product->parent_id == null) { } else {
return -1; return false;
} }
} }
@ -1209,27 +1170,27 @@ class Cart {
foreach ($cart->items as $item) { foreach ($cart->items as $item) {
if ($item->id == $itemId) { if ($item->id == $itemId) {
if (is_null($item['parent_id']) && $item['type'] == 'simple') { if ($item->type == 'configurable') {
$wishlist['product_id'] = $item->product_id;
} else {
$wishlist['product_id'] = $item->child->product_id; $wishlist['product_id'] = $item->child->product_id;
$wishtlist['options'] = $item->additional; $wishtlist['options'] = $item->additional;
} else {
$wishlist['product_id'] = $item->product_id;
} }
$shouldBe = $this->wishlist->findWhere([ $shouldBe = $this->wishlistRepository->findWhere([
'customer_id' => $this->getCurrentCustomer()->user()->id, 'customer_id' => $this->getCurrentCustomer()->user()->id,
'product_id' => $wishlist['product_id'] 'product_id' => $wishlist['product_id']
]); ]);
if ($shouldBe->isEmpty()) { if ($shouldBe->isEmpty()) {
$wishlist = $this->wishlist->create($wishlist); $wishlist = $this->wishlistRepository->create($wishlist);
} }
$result = $this->cartItem->delete($itemId); $result = $this->cartItemRepository->delete($itemId);
if ($result) { if ($result) {
if ($cart->items()->count() == 0) if ($cart->items()->count() == 0)
$this->cart->delete($cart->id); $this->cartRepository->delete($cart->id);
session()->flash('success', trans('shop::app.checkout.cart.move-to-wishlist-success')); session()->flash('success', trans('shop::app.checkout.cart.move-to-wishlist-success'));
@ -1250,14 +1211,14 @@ class Cart {
*/ */
public function proceedToBuyNow($id, $quantity) public function proceedToBuyNow($id, $quantity)
{ {
$product = $this->product->findOneByField('id', $id); $product = $this->productRepository->findOneByField('id', $id);
if ($product->type == 'configurable') { if ($product->type == 'configurable') {
session()->flash('warning', trans('shop::app.buynow.no-options')); session()->flash('warning', trans('shop::app.buynow.no-options'));
return false; return false;
} else { } else {
$simpleOrVariant = $this->product->find($id); $simpleOrVariant = $this->productRepository->find($id);
if ($simpleOrVariant->parent_id != null) { if ($simpleOrVariant->parent_id != null) {
$parent = $simpleOrVariant->parent; $parent = $simpleOrVariant->parent;

View File

@ -2,10 +2,8 @@
namespace Webkul\Core\Http\Controllers; namespace Webkul\Core\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\Core\Repositories\ChannelRepository as Channel; use Webkul\Core\Repositories\ChannelRepository;
/** /**
* Channel controller * Channel controller
@ -27,17 +25,17 @@ class ChannelController extends Controller
* *
* @var Object * @var Object
*/ */
protected $channel; protected $channelRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Core\Repositories\ChannelRepository $channel * @param \Webkul\Core\Repositories\ChannelRepository $channelRepository
* @return void * @return void
*/ */
public function __construct(Channel $channel) public function __construct(ChannelRepository $channelRepository)
{ {
$this->channel = $channel; $this->channelRepository = $channelRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -83,7 +81,7 @@ class ChannelController extends Controller
Event::fire('core.channel.create.before'); Event::fire('core.channel.create.before');
$channel = $this->channel->create(request()->all()); $channel = $this->channelRepository->create(request()->all());
Event::fire('core.channel.create.after', $channel); Event::fire('core.channel.create.after', $channel);
@ -100,7 +98,7 @@ class ChannelController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$channel = $this->channel->with(['locales', 'currencies'])->findOrFail($id); $channel = $this->channelRepository->with(['locales', 'currencies'])->findOrFail($id);
return view($this->_config['view'], compact('channel')); return view($this->_config['view'], compact('channel'));
} }
@ -108,11 +106,10 @@ class ChannelController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
$this->validate(request(), [ $this->validate(request(), [
'code' => ['required', 'unique:channels,code,' . $id, new \Webkul\Core\Contracts\Validations\Code], 'code' => ['required', 'unique:channels,code,' . $id, new \Webkul\Core\Contracts\Validations\Code],
@ -129,7 +126,7 @@ class ChannelController extends Controller
Event::fire('core.channel.update.before', $id); Event::fire('core.channel.update.before', $id);
$channel = $this->channel->update(request()->all(), $id); $channel = $this->channelRepository->update(request()->all(), $id);
Event::fire('core.channel.update.after', $channel); Event::fire('core.channel.update.after', $channel);
@ -146,7 +143,7 @@ class ChannelController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$channel = $this->channel->findOrFail($id); $channel = $this->channelRepository->findOrFail($id);
if ($channel->code == config('app.channel')) { if ($channel->code == config('app.channel')) {
session()->flash('error', trans('admin::app.settings.channels.last-delete-error')); session()->flash('error', trans('admin::app.settings.channels.last-delete-error'));
@ -154,7 +151,7 @@ class ChannelController extends Controller
try { try {
Event::fire('core.channel.delete.before', $id); Event::fire('core.channel.delete.before', $id);
$this->channel->delete($id); $this->channelRepository->delete($id);
Event::fire('core.channel.delete.after', $id); Event::fire('core.channel.delete.after', $id);

View File

@ -2,10 +2,8 @@
namespace Webkul\Core\Http\Controllers; namespace Webkul\Core\Http\Controllers;
use Illuminate\Http\Request; use Webkul\Core\Repositories\CountryRepository;
use Illuminate\Http\Response; use Webkul\Core\Repositories\CountryStateRepository;
use Webkul\Core\Repositories\CountryRepository as Country;
use Webkul\Core\Repositories\CountryStateRepository as State;
/** /**
* Country controller * Country controller
@ -27,26 +25,30 @@ class CountryStateController extends Controller
* *
* @var array * @var array
*/ */
protected $country; protected $countryRepository;
/** /**
* StateRepository object * StateRepository object
* *
* @var array * @var array
*/ */
protected $state; protected $stateRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Core\Repositories\CountryRepository $country * @param \Webkul\Core\Repositories\CountryRepository $countryRepository
* @param \Webkul\Core\Repositories\StateRepository $stateRepository
* @return void * @return void
*/ */
public function __construct(Country $country, State $state) public function __construct(
CountryRepository $countryRepository,
StateRepository $stateRepository
)
{ {
$this->country = $country; $this->countryRepository = $countryRepository;
$this->state = $state; $this->stateRepository = $stateRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -58,8 +60,9 @@ class CountryStateController extends Controller
*/ */
public function getCountries() public function getCountries()
{ {
$countries = $this->country->all(); $countries = $this->countryRepository->all();
$states = $this->state->all();
$states = $this->stateRepository->all();
$nestedArray = []; $nestedArray = [];
@ -76,8 +79,9 @@ class CountryStateController extends Controller
public function getStates($country) public function getStates($country)
{ {
$countries = $this->country->all(); $countries = $this->countryRepository->all();
$states = $this->state->all();
$states = $this->stateRepository->all();
$nestedArray = []; $nestedArray = [];

View File

@ -2,10 +2,8 @@
namespace Webkul\Core\Http\Controllers; namespace Webkul\Core\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\Core\Repositories\CurrencyRepository as Currency; use Webkul\Core\Repositories\CurrencyRepository;
/** /**
* Currency controller * Currency controller
@ -27,17 +25,17 @@ class CurrencyController extends Controller
* *
* @var array * @var array
*/ */
protected $currency; protected $currencyRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Core\Repositories\CurrencyRepository $currency * @param \Webkul\Core\Repositories\CurrencyRepository $currencyRepository
* @return void * @return void
*/ */
public function __construct(Currency $currency) public function __construct(CurrencyRepository $currencyRepository)
{ {
$this->currency = $currency; $this->currencyRepository = $currencyRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -77,7 +75,7 @@ class CurrencyController extends Controller
Event::fire('core.channel.create.before'); Event::fire('core.channel.create.before');
$currency = $this->currency->create(request()->all()); $currency = $this->currencyRepository->create(request()->all());
Event::fire('core.currency.create.after', $currency); Event::fire('core.currency.create.after', $currency);
@ -94,7 +92,7 @@ class CurrencyController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$currency = $this->currency->findOrFail($id); $currency = $this->currencyRepository->findOrFail($id);
return view($this->_config['view'], compact('currency')); return view($this->_config['view'], compact('currency'));
} }
@ -102,11 +100,10 @@ class CurrencyController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
$this->validate(request(), [ $this->validate(request(), [
'code' => ['required', 'unique:currencies,code,' . $id, new \Webkul\Core\Contracts\Validations\Code], 'code' => ['required', 'unique:currencies,code,' . $id, new \Webkul\Core\Contracts\Validations\Code],
@ -115,7 +112,7 @@ class CurrencyController extends Controller
Event::fire('core.currency.update.before', $id); Event::fire('core.currency.update.before', $id);
$currency = $this->currency->update(request()->all(), $id); $currency = $this->currencyRepository->update(request()->all(), $id);
Event::fire('core.currency.update.after', $currency); Event::fire('core.currency.update.after', $currency);
@ -132,15 +129,15 @@ class CurrencyController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$currency = $this->currency->findOrFail($id); $currency = $this->currencyRepository->findOrFail($id);
if ($this->currency->count() == 1) { if ($this->currencyRepository->count() == 1) {
session()->flash('warning', trans('admin::app.settings.currencies.last-delete-error')); session()->flash('warning', trans('admin::app.settings.currencies.last-delete-error'));
} else { } else {
try { try {
Event::fire('core.currency.delete.before', $id); Event::fire('core.currency.delete.before', $id);
$this->currency->delete($id); $this->currencyRepository->delete($id);
Event::fire('core.currency.delete.after', $id); Event::fire('core.currency.delete.after', $id);
@ -170,7 +167,7 @@ class CurrencyController extends Controller
try { try {
Event::fire('core.currency.delete.before', $value); Event::fire('core.currency.delete.before', $value);
$this->currency->delete($value); $this->currencyRepository->delete($value);
Event::fire('core.currency.delete.after', $value); Event::fire('core.currency.delete.after', $value);
} catch(\Exception $e) { } catch(\Exception $e) {

View File

@ -2,11 +2,9 @@
namespace Webkul\Core\Http\Controllers; namespace Webkul\Core\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\Core\Repositories\ExchangeRateRepository as ExchangeRate; use Webkul\Core\Repositories\ExchangeRateRepository;
use Webkul\Core\Repositories\CurrencyRepository as Currency; use Webkul\Core\Repositories\CurrencyRepository;
/** /**
* ExchangeRate controller * ExchangeRate controller
@ -28,27 +26,30 @@ class ExchangeRateController extends Controller
* *
* @var array * @var array
*/ */
protected $exchangeRate; protected $exchangeRateRepository;
/** /**
* CurrencyRepository object * CurrencyRepository object
* *
* @var array * @var array
*/ */
protected $currency; protected $currencyRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Core\Repositories\ExchangeRateRepository $exchangeRate * @param \Webkul\Core\Repositories\ExchangeRateRepository $exchangeRateRepository
* @param \Webkul\Core\Repositories\CurrencyRepository $currency * @param \Webkul\Core\Repositories\CurrencyRepository $currencyRepository
* @return void * @return void
*/ */
public function __construct(ExchangeRate $exchangeRate, Currency $currency) public function __construct(
ExchangeRateRepository $exchangeRateRepository,
CurrencyRepository $currencyRepository
)
{ {
$this->exchangeRate = $exchangeRate; $this->exchangeRateRepository = $exchangeRateRepository;
$this->currency = $currency; $this->currencyRepository = $currencyRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -70,7 +71,7 @@ class ExchangeRateController extends Controller
*/ */
public function create() public function create()
{ {
$currencies = $this->currency->with('CurrencyExchangeRate')->all(); $currencies = $this->currencyRepository->with('CurrencyExchangeRate')->all();
return view($this->_config['view'], compact('currencies')); return view($this->_config['view'], compact('currencies'));
} }
@ -78,10 +79,9 @@ class ExchangeRateController extends Controller
/** /**
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function store(Request $request) public function store()
{ {
$this->validate(request(), [ $this->validate(request(), [
'target_currency' => ['required', 'unique:currency_exchange_rates,target_currency'], 'target_currency' => ['required', 'unique:currency_exchange_rates,target_currency'],
@ -90,7 +90,7 @@ class ExchangeRateController extends Controller
Event::fire('core.exchange_rate.create.before'); Event::fire('core.exchange_rate.create.before');
$exchangeRate = $this->exchangeRate->create(request()->all()); $exchangeRate = $this->exchangeRateRepository->create(request()->all());
Event::fire('core.exchange_rate.create.after', $exchangeRate); Event::fire('core.exchange_rate.create.after', $exchangeRate);
@ -107,9 +107,9 @@ class ExchangeRateController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$currencies = $this->currency->all(); $currencies = $this->currencyRepository->all();
$exchangeRate = $this->exchangeRate->findOrFail($id); $exchangeRate = $this->exchangeRateRepository->findOrFail($id);
return view($this->_config['view'], compact('currencies', 'exchangeRate')); return view($this->_config['view'], compact('currencies', 'exchangeRate'));
} }
@ -117,11 +117,10 @@ class ExchangeRateController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
$this->validate(request(), [ $this->validate(request(), [
'target_currency' => ['required', 'unique:currency_exchange_rates,target_currency,' . $id], 'target_currency' => ['required', 'unique:currency_exchange_rates,target_currency,' . $id],
@ -130,7 +129,7 @@ class ExchangeRateController extends Controller
Event::fire('core.exchange_rate.update.before', $id); Event::fire('core.exchange_rate.update.before', $id);
$exchangeRate = $this->exchangeRate->update(request()->all(), $id); $exchangeRate = $this->exchangeRateRepository->update(request()->all(), $id);
Event::fire('core.exchange_rate.update.after', $exchangeRate); Event::fire('core.exchange_rate.update.after', $exchangeRate);
@ -147,15 +146,15 @@ class ExchangeRateController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$exchangeRate = $this->exchangeRate->findOrFail($id); $exchangeRate = $this->exchangeRateRepository->findOrFail($id);
if ($this->exchangeRate->count() == 1) { if ($this->exchangeRateRepository->count() == 1) {
session()->flash('error', trans('admin::app.settings.exchange_rates.last-delete-error')); session()->flash('error', trans('admin::app.settings.exchange_rates.last-delete-error'));
} else { } else {
try { try {
Event::fire('core.exchange_rate.delete.before', $id); Event::fire('core.exchange_rate.delete.before', $id);
$this->exchangeRate->delete($id); $this->exchangeRateRepository->delete($id);
session()->flash('success', trans('admin::app.settings.exchange_rates.delete-success')); session()->flash('success', trans('admin::app.settings.exchange_rates.delete-success'));

View File

@ -2,10 +2,8 @@
namespace Webkul\Core\Http\Controllers; namespace Webkul\Core\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\Core\Repositories\LocaleRepository as Locale; use Webkul\Core\Repositories\LocaleRepository;
/** /**
* Locale controller * Locale controller
@ -27,17 +25,17 @@ class LocaleController extends Controller
* *
* @var array * @var array
*/ */
protected $locale; protected $localeRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Core\Repositories\LocaleRepository $locale * @param \Webkul\Core\Repositories\LocaleRepository $localeRepository
* @return void * @return void
*/ */
public function __construct(Locale $locale) public function __construct(LocaleRepository $localeRepository)
{ {
$this->locale = $locale; $this->localeRepository = $localeRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -65,10 +63,9 @@ class LocaleController extends Controller
/** /**
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function store(Request $request) public function store()
{ {
$this->validate(request(), [ $this->validate(request(), [
'code' => ['required', 'unique:locales,code', new \Webkul\Core\Contracts\Validations\Code], 'code' => ['required', 'unique:locales,code', new \Webkul\Core\Contracts\Validations\Code],
@ -77,7 +74,7 @@ class LocaleController extends Controller
Event::fire('core.locale.create.before'); Event::fire('core.locale.create.before');
$locale = $this->locale->create(request()->all()); $locale = $this->localeRepository->create(request()->all());
Event::fire('core.locale.create.after', $locale); Event::fire('core.locale.create.after', $locale);
@ -94,7 +91,7 @@ class LocaleController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$locale = $this->locale->findOrFail($id); $locale = $this->localeRepository->findOrFail($id);
return view($this->_config['view'], compact('locale')); return view($this->_config['view'], compact('locale'));
} }
@ -102,11 +99,10 @@ class LocaleController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
$this->validate(request(), [ $this->validate(request(), [
'code' => ['required', 'unique:locales,code,' . $id, new \Webkul\Core\Contracts\Validations\Code], 'code' => ['required', 'unique:locales,code,' . $id, new \Webkul\Core\Contracts\Validations\Code],
@ -115,7 +111,7 @@ class LocaleController extends Controller
Event::fire('core.locale.update.before', $id); Event::fire('core.locale.update.before', $id);
$locale = $this->locale->update(request()->all(), $id); $locale = $this->localeRepository->update(request()->all(), $id);
Event::fire('core.locale.update.after', $locale); Event::fire('core.locale.update.after', $locale);
@ -132,15 +128,15 @@ class LocaleController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$locale = $this->locale->findOrFail($id); $locale = $this->localeRepository->findOrFail($id);
if ($this->locale->count() == 1) { if ($this->localeRepository->count() == 1) {
session()->flash('error', trans('admin::app.settings.locales.last-delete-error')); session()->flash('error', trans('admin::app.settings.locales.last-delete-error'));
} else { } else {
try { try {
Event::fire('core.locale.delete.before', $id); Event::fire('core.locale.delete.before', $id);
$this->locale->delete($id); $this->localeRepository->delete($id);
Event::fire('core.locale.delete.after', $id); Event::fire('core.locale.delete.after', $id);

View File

@ -2,9 +2,7 @@
namespace Webkul\Core\Http\Controllers; namespace Webkul\Core\Http\Controllers;
use Illuminate\Http\Request; use Webkul\Core\Repositories\SliderRepository;
use Illuminate\Http\Response;
use Webkul\Core\Repositories\SliderRepository as Slider;
/** /**
* Slider controller for managing the slider controls. * Slider controller for managing the slider controls.
@ -22,10 +20,11 @@ class SliderController extends Controller
protected $_config; protected $_config;
/** /**
* SliderRepository object * SliderRepository
*
* Object * Object
*/ */
protected $slider; protected $sliderRepository;
/** /**
* @var array * @var array
@ -35,12 +34,12 @@ class SliderController extends Controller
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Core\Repositories\SliderRepository $slider * @param \Webkul\Core\Repositories\SliderRepository $sliderRepository
* @return void * @return void
*/ */
public function __construct(Slider $slider) public function __construct(SliderRepository $sliderRepository)
{ {
$this->slider = $slider; $this->sliderRepository = $sliderRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -80,7 +79,7 @@ class SliderController extends Controller
'image.*' => 'required|mimes:jpeg,bmp,png,jpg' 'image.*' => 'required|mimes:jpeg,bmp,png,jpg'
]); ]);
$result = $this->slider->save(request()->all()); $result = $this->sliderRepository->save(request()->all());
if ($result) if ($result)
session()->flash('success', trans('admin::app.settings.sliders.created-success')); session()->flash('success', trans('admin::app.settings.sliders.created-success'));
@ -97,7 +96,7 @@ class SliderController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$slider = $this->slider->findOrFail($id); $slider = $this->sliderRepository->findOrFail($id);
return view($this->_config['view'])->with('slider', $slider); return view($this->_config['view'])->with('slider', $slider);
} }
@ -115,7 +114,7 @@ class SliderController extends Controller
'image.*' => 'sometimes|mimes:jpeg,bmp,png,jpg' 'image.*' => 'sometimes|mimes:jpeg,bmp,png,jpg'
]); ]);
$result = $this->slider->updateItem(request()->all(), $id); $result = $this->sliderRepository->updateItem(request()->all(), $id);
if ($result) { if ($result) {
session()->flash('success', trans('admin::app.settings.sliders.update-success')); session()->flash('success', trans('admin::app.settings.sliders.update-success'));
@ -133,13 +132,13 @@ class SliderController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$slider = $this->slider->findOrFail($id); $slider = $this->sliderRepository->findOrFail($id);
if ($this->slider->findWhere(['channel_id' => core()->getCurrentChannel()->id])->count() == 1) { if ($this->sliderRepository->findWhere(['channel_id' => core()->getCurrentChannel()->id])->count() == 1) {
session()->flash('warning', trans('admin::app.settings.sliders.delete-success')); session()->flash('warning', trans('admin::app.settings.sliders.delete-success'));
} else { } else {
try { try {
$this->slider->delete($id); $this->sliderRepository->delete($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Slider'])); session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Slider']));

View File

@ -4,7 +4,8 @@ namespace Webkul\Core\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\Response; use Illuminate\Http\Response;
use Webkul\Core\Repositories\SubscribersListRepository as Subscribers; use Webkul\Core\Repositories\SubscribersListRepository;
/** /**
* Subscription controller * Subscription controller
* *
@ -21,15 +22,21 @@ class SubscriptionController extends Controller
protected $_config; protected $_config;
/** /**
* Subscription repository instance * SubscribersListRepository
* *
* @var instanceof SubscribersListRepository * @var Object
*/ */
protected $subscribers; protected $subscribersListRepository;
public function __construct(Subscribers $subscribers) /**
* Create a new controller instance.
*
* @param \Webkul\Core\Repositories\SubscribersListRepository $subscribersListRepository
* @return void
*/
public function __construct(SubscribersListRepository $subscribersListRepository)
{ {
$this->subscribers = $subscribers; $this->subscribersListRepository = $subscribersListRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -51,8 +58,9 @@ class SubscriptionController extends Controller
* *
* @return mixed * @return mixed
*/ */
public function edit($id) { public function edit($id)
$subscriber = $this->subscribers->findOrFail($id); {
$subscriber = $this->subscribersListRepository->findOrFail($id);
return view($this->_config['view'])->with('subscriber', $subscriber); return view($this->_config['view'])->with('subscriber', $subscriber);
} }
@ -64,10 +72,11 @@ class SubscriptionController extends Controller
* *
* @return mixed * @return mixed
*/ */
public function update($id) { public function update($id)
{
$data = request()->all(); $data = request()->all();
$subscriber = $this->subscribers->findOrFail($id); $subscriber = $this->subscribersListRepository->findOrFail($id);
$result = $subscriber->update($data); $result = $subscriber->update($data);
@ -88,7 +97,7 @@ class SubscriptionController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$subscriber = $this->subscribers->findOrFail($id); $subscriber = $this->subscribersListRepository->findOrFail($id);
try { try {
$this->subscriber->delete($id); $this->subscriber->delete($id);

View File

@ -4,7 +4,7 @@ namespace Webkul\Core\Repositories;
use Illuminate\Container\Container as App; use Illuminate\Container\Container as App;
use Webkul\Core\Eloquent\Repository; use Webkul\Core\Eloquent\Repository;
use Webkul\Core\Repositories\ChannelRepository as Channel; use Webkul\Core\Repositories\ChannelRepository;
use Storage; use Storage;
/** /**
@ -15,14 +15,25 @@ use Storage;
*/ */
class SliderRepository extends Repository class SliderRepository extends Repository
{ {
protected $channel; /**
* ChannelRepository object
*
* @var Object
*/
protected $channelRepository;
/**
* Create a new repository instance.
*
* @param \Webkul\Core\Repositories\ChannelRepository $channelRepository
* @return void
*/
public function __construct( public function __construct(
Channel $channel, ChannelRepository $channelRepository,
App $app App $app
) )
{ {
$this->channel = $channel; $this->channelRepository = $channelRepository;
parent::__construct($app); parent::__construct($app);
} }
@ -43,7 +54,7 @@ class SliderRepository extends Repository
*/ */
public function save(array $data) public function save(array $data)
{ {
$channelName = $this->channel->find($data['channel_id'])->name; $channelName = $this->channelRepository->find($data['channel_id'])->name;
$dir = 'slider_images/' . $channelName; $dir = 'slider_images/' . $channelName;
@ -80,19 +91,15 @@ class SliderRepository extends Repository
*/ */
public function updateItem(array $data, $id) public function updateItem(array $data, $id)
{ {
$channelName = $this->channel->find($data['channel_id'])->name; $channelName = $this->channelRepository->find($data['channel_id'])->name;
$dir = 'slider_images/' . $channelName; $dir = 'slider_images/' . $channelName;
$uploaded = false; $uploaded = $image = false;
$image = false;
if (isset($data['image'])) { if (isset($data['image'])) {
$image = $first = array_first($data['image'], function ($value, $key) { $image = $first = array_first($data['image'], function ($value, $key) {
if ($value) return $value ? $value : false;
return $value;
else
return false;
}); });
} }
@ -122,8 +129,8 @@ class SliderRepository extends Repository
* *
* @return Boolean * @return Boolean
*/ */
public function destroy($id) { public function destroy($id)
{
$sliderItem = $this->find($id); $sliderItem = $this->find($id);
$sliderItemImage = $sliderItem->path; $sliderItemImage = $sliderItem->path;

View File

@ -2,12 +2,6 @@
namespace Webkul\Customer\Http\Controllers; namespace Webkul\Customer\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Customer\Repositories\CustomerRepository;
use Webkul\Customer\Repositories\CustomerAddressRepository;
use Auth;
/** /**
* Account Controlller for the customers * Account Controlller for the customers
* basically will control the landing * basically will control the landing
@ -20,27 +14,31 @@ use Auth;
class AccountController extends Controller class AccountController extends Controller
{ {
/** /**
* Display a listing of the resource. * Contains route related configuration
* *
* @return \Illuminate\Http\Response * @var array
*/ */
protected $_config; protected $_config;
protected $customer;
protected $address;
/**
public function __construct(CustomerRepository $customer, CustomerAddressRepository $address) * Create a new controller instance.
*
* @return void
*/
public function __construct()
{ {
$this->middleware('customer'); $this->middleware('customer');
$this->_config = request('_config'); $this->_config = request('_config');
$this->customer = $customer;
$this->address = $address;
} }
public function index() { /**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view($this->_config['view']); return view($this->_config['view']);
} }
} }

View File

@ -4,7 +4,6 @@ namespace Webkul\Customer\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\Response; use Illuminate\Http\Response;
use Webkul\Customer\Repositories\CustomerRepository;
use Webkul\Customer\Repositories\CustomerAddressRepository; use Webkul\Customer\Repositories\CustomerAddressRepository;
use Auth; use Auth;
@ -18,28 +17,29 @@ use Auth;
class AddressController extends Controller class AddressController extends Controller
{ {
/** /**
* Display a listing of the resource. * Contains route related configuration
* *
* @return \Illuminate\Http\Response * @var array
*/ */
protected $_config; protected $_config;
protected $customer; /**
* CustomerAddressRepository object
*
* @param \Webkul\Customer\Repositories\CustomerAddressRepository $customerAddressRepository
* @var Object
*/
protected $customerAddressRepository;
protected $address; public function __construct(CustomerAddressRepository $customerAddressRepository)
public function __construct(
CustomerRepository $customer,
CustomerAddressRepository $address
)
{ {
$this->middleware('customer'); $this->middleware('customer');
$this->_config = request('_config'); $this->_config = request('_config');
$this->customer = auth()->guard('customer')->user(); $this->customerAddressRepository = $customerAddressRepository;
$this->address = $address; $this->customer = auth()->guard('customer')->user();
} }
/** /**
@ -89,7 +89,7 @@ class AddressController extends Controller
$data['default_address'] = 1; $data['default_address'] = 1;
} }
if ($this->address->create($data)) { if ($this->customerAddressRepository->create($data)) {
session()->flash('success', trans('shop::app.customer.account.address.create.success')); session()->flash('success', trans('shop::app.customer.account.address.create.success'));
return redirect()->route($this->_config['redirect']); return redirect()->route($this->_config['redirect']);
@ -107,7 +107,7 @@ class AddressController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$address = $this->address->findOneWhere([ $address = $this->customerAddressRepository->findOneWhere([
'id' => $id, 'id' => $id,
'customer_id' => auth()->guard('customer')->user()->id 'customer_id' => auth()->guard('customer')->user()->id
]); ]);
@ -145,7 +145,7 @@ class AddressController extends Controller
if ($id == $address->id) { if ($id == $address->id) {
session()->flash('success', trans('shop::app.customer.account.address.edit.success')); session()->flash('success', trans('shop::app.customer.account.address.edit.success'));
$this->address->update($data, $id); $this->customerAddressRepository->update($data, $id);
return redirect()->route('customer.address.index'); return redirect()->route('customer.address.index');
} }
@ -163,11 +163,10 @@ class AddressController extends Controller
*/ */
public function makeDefault($id) public function makeDefault($id)
{ {
if ($default = $this->customer->default_address) { if ($default = $this->customer->default_address)
$this->address->find($default->id)->update(['default_address' => 0]); $this->customerAddressRepository->find($default->id)->update(['default_address' => 0]);
}
if ($address = $this->address->find($id)) { if ($address = $this->customerAddressRepository->find($id)) {
$address->update(['default_address' => 1]); $address->update(['default_address' => 1]);
} else { } else {
session()->flash('success', trans('shop::app.customer.account.address.index.default-delete')); session()->flash('success', trans('shop::app.customer.account.address.index.default-delete'));
@ -185,7 +184,7 @@ class AddressController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$address = $this->address->findOneWhere([ $address = $this->customerAddressRepository->findOneWhere([
'id' => $id, 'id' => $id,
'customer_id' => auth()->guard('customer')->user()->id 'customer_id' => auth()->guard('customer')->user()->id
]); ]);
@ -193,7 +192,7 @@ class AddressController extends Controller
if (! $address) if (! $address)
abort(404); abort(404);
$this->address->delete($id); $this->customerAddressRepository->delete($id);
session()->flash('success', trans('shop::app.customer.account.address.delete.success')); session()->flash('success', trans('shop::app.customer.account.address.delete.success'));

View File

@ -2,13 +2,8 @@
namespace Webkul\Customer\Http\Controllers; namespace Webkul\Customer\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Customer\Repositories\CustomerRepository;
use Webkul\Product\Repositories\ProductReviewRepository as ProductReview;
use Webkul\Customer\Models\Customer;
use Auth;
use Hash; use Hash;
use Webkul\Customer\Repositories\CustomerRepository;
/** /**
* Customer controlller for the customer basically for the tasks of customers which will be done after customer authentication. * Customer controlller for the customer basically for the tasks of customers which will be done after customer authentication.
@ -19,45 +14,32 @@ use Hash;
class CustomerController extends Controller class CustomerController extends Controller
{ {
/** /**
* Display a listing of the resource. * Contains route related configuration
* *
* @return \Illuminate\Http\Response * @var array
*/ */
protected $_config; protected $_config;
/** /**
* CustomerRepository object * CustomerRepository object
* *
* @var array * @var Object
*/ */
protected $customer; protected $customerRepository;
/** /**
* ProductReviewRepository object * Create a new controller instance.
* *
* @var array * @param \Webkul\Customer\Repositories\CustomerRepository $customer
*/
protected $productReview;
/**
* Create a new Repository instance.
*
* @param \Webkul\Customer\Repositories\CustomerRepository $customer
* @param \Webkul\Product\Repositories\ProductReviewRepository $productReview
* @return void * @return void
*/ */
public function __construct( public function __construct(CustomerRepository $customerRepository)
CustomerRepository $customer,
ProductReview $productReview
)
{ {
$this->middleware('customer'); $this->middleware('customer');
$this->_config = request('_config'); $this->_config = request('_config');
$this->customer = $customer; $this->customerRepository = $customerRepository;
$this->productReview = $productReview;
} }
/** /**
@ -67,7 +49,7 @@ class CustomerController extends Controller
*/ */
public function index() public function index()
{ {
$customer = $this->customer->find(auth()->guard('customer')->user()->id); $customer = $this->customerRepository->find(auth()->guard('customer')->user()->id);
return view($this->_config['view'], compact('customer')); return view($this->_config['view'], compact('customer'));
} }
@ -79,7 +61,7 @@ class CustomerController extends Controller
*/ */
public function edit() public function edit()
{ {
$customer = $this->customer->find(auth()->guard('customer')->user()->id); $customer = $this->customerRepository->find(auth()->guard('customer')->user()->id);
return view($this->_config['view'], compact('customer')); return view($this->_config['view'], compact('customer'));
} }
@ -87,7 +69,7 @@ class CustomerController extends Controller
/** /**
* Edit function for editing customer profile. * Edit function for editing customer profile.
* *
* @return Redirect. * @return response
*/ */
public function update() public function update()
{ {
@ -105,9 +87,8 @@ class CustomerController extends Controller
$data = collect(request()->input())->except('_token')->toArray(); $data = collect(request()->input())->except('_token')->toArray();
if ($data['date_of_birth'] == "") { if ($data['date_of_birth'] == "")
unset($data['date_of_birth']); unset($data['date_of_birth']);
}
if ($data['oldpassword'] != "" || $data['oldpassword'] != null) { if ($data['oldpassword'] != "" || $data['oldpassword'] != null) {
if(Hash::check($data['oldpassword'], auth()->guard('customer')->user()->password)) { if(Hash::check($data['oldpassword'], auth()->guard('customer')->user()->password)) {
@ -121,7 +102,7 @@ class CustomerController extends Controller
unset($data['password']); unset($data['password']);
} }
if ($this->customer->update($data, $id)) { if ($this->customerRepository->update($data, $id)) {
Session()->flash('success', trans('shop::app.customer.account.profile.edit-success')); Session()->flash('success', trans('shop::app.customer.account.profile.edit-success'));
return redirect()->route($this->_config['redirect']); return redirect()->route($this->_config['redirect']);

View File

@ -2,8 +2,6 @@
namespace Webkul\Customer\Http\Controllers; namespace Webkul\Customer\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails; use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Illuminate\Support\Facades\Password; use Illuminate\Support\Facades\Password;
@ -59,7 +57,7 @@ class ForgotPasswordController extends Controller
$response = $this->broker()->sendResetLink( $response = $this->broker()->sendResetLink(
request(['email']) request(['email'])
); );
//dd($response);
if ($response == Password::RESET_LINK_SENT) { if ($response == Password::RESET_LINK_SENT) {
session()->flash('success', trans($response)); session()->flash('success', trans($response));

View File

@ -2,8 +2,6 @@
namespace Webkul\Customer\Http\Controllers; namespace Webkul\Customer\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
use Webkul\Customer\Mail\VerificationEmail; use Webkul\Customer\Mail\VerificationEmail;
@ -21,22 +19,43 @@ use Cookie;
class RegistrationController extends Controller class RegistrationController extends Controller
{ {
/** /**
* Display a listing of the resource. * Contains route related configuration
* *
* @return \Illuminate\Http\Response * @var array
*/ */
protected $_config; protected $_config;
protected $customer;
protected $customerGroup;
/** /**
* @param CustomerRepository object $customer * CustomerRepository object
*/ *
public function __construct(CustomerRepository $customer, CustomerGroupRepository $customerGroup) * @var Object
*/
protected $customerRepository;
/**
* CustomerGroupRepository object
*
* @var Object
*/
protected $customerGroupRepository;
/**
* Create a new Repository instance.
*
* @param \Webkul\Customer\Repositories\CustomerRepository $customer
* @param \Webkul\Customer\Repositories\CustomerGroupRepository $customerGroupRepository
* @return void
*/
public function __construct(
CustomerRepository $customerRepository,
CustomerGroupRepository $customerGroupRepository
)
{ {
$this->_config = request('_config'); $this->_config = request('_config');
$this->customer = $customer;
$this->customerGroup = $customerGroup; $this->customerRepository = $customerRepository;
$this->customerGroupRepository = $customerGroupRepository;
} }
/** /**
@ -52,11 +71,11 @@ class RegistrationController extends Controller
/** /**
* Method to store user's sign up form data to DB. * Method to store user's sign up form data to DB.
* *
* @return Mixed * @return Response
*/ */
public function create(Request $request) public function create()
{ {
$request->validate([ $this->validate(request(), [
'first_name' => 'string|required', 'first_name' => 'string|required',
'last_name' => 'string|required', 'last_name' => 'string|required',
'email' => 'email|required|unique:customers,email', 'email' => 'email|required|unique:customers,email',
@ -75,7 +94,7 @@ class RegistrationController extends Controller
$data['is_verified'] = 1; $data['is_verified'] = 1;
} }
$data['customer_group_id'] = $this->customerGroup->findOneWhere(['code' => 'general'])->id; $data['customer_group_id'] = $this->customerGroupRepository->findOneWhere(['code' => 'general'])->id;
$verificationData['email'] = $data['email']; $verificationData['email'] = $data['email'];
$verificationData['token'] = md5(uniqid(rand(), true)); $verificationData['token'] = md5(uniqid(rand(), true));
@ -83,7 +102,7 @@ class RegistrationController extends Controller
Event::fire('customer.registration.before'); Event::fire('customer.registration.before');
$customer = $this->customer->create($data); $customer = $this->customerRepository->create($data);
Event::fire('customer.registration.after', $customer); Event::fire('customer.registration.after', $customer);
@ -115,7 +134,7 @@ class RegistrationController extends Controller
*/ */
public function verifyAccount($token) public function verifyAccount($token)
{ {
$customer = $this->customer->findOneByField('token', $token); $customer = $this->customerRepository->findOneByField('token', $token);
if ($customer) { if ($customer) {
$customer->update(['is_verified' => 1, 'token' => 'NULL']); $customer->update(['is_verified' => 1, 'token' => 'NULL']);
@ -133,9 +152,9 @@ class RegistrationController extends Controller
$verificationData['email'] = $email; $verificationData['email'] = $email;
$verificationData['token'] = md5(uniqid(rand(), true)); $verificationData['token'] = md5(uniqid(rand(), true));
$customer = $this->customer->findOneByField('email', $email); $customer = $this->customerRepository->findOneByField('email', $email);
$this->customer->update(['token' => $verificationData['token']], $customer->id); $this->customerRepository->update(['token' => $verificationData['token']], $customer->id);
try { try {
Mail::queue(new VerificationEmail($verificationData)); Mail::queue(new VerificationEmail($verificationData));

View File

@ -2,8 +2,6 @@
namespace Webkul\Customer\Http\Controllers; namespace Webkul\Customer\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Foundation\Auth\ResetsPasswords; use Illuminate\Foundation\Auth\ResetsPasswords;
use Illuminate\Support\Facades\Password; use Illuminate\Support\Facades\Password;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
@ -16,10 +14,8 @@ use Illuminate\Support\Str;
* @author Prashant Singh <prashant.singh852@webkul.com> * @author Prashant Singh <prashant.singh852@webkul.com>
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
*/ */
class ResetPasswordController extends Controller class ResetPasswordController extends Controller
{ {
use ResetsPasswords; use ResetsPasswords;
/** /**
@ -44,14 +40,13 @@ class ResetPasswordController extends Controller
* *
* If no token is present, display the link request form. * If no token is present, display the link request form.
* *
* @param \Illuminate\Http\Request $request
* @param string|null $token * @param string|null $token
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function create(Request $request, $token = null) public function create($token = null)
{ {
return view($this->_config['view'])->with( return view($this->_config['view'])->with(
['token' => $token, 'email' => $request->email] ['token' => $token, 'email' => request('email')]
); );
} }

View File

@ -2,12 +2,8 @@
namespace Webkul\Customer\Http\Controllers; namespace Webkul\Customer\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\Customer\Models\Customer;
use Webkul\Customer\Http\Listeners\CustomerEventsHandler; use Webkul\Customer\Http\Listeners\CustomerEventsHandler;
use Cart;
use Cookie; use Cookie;
/** /**
@ -19,15 +15,21 @@ use Cookie;
class SessionController extends Controller class SessionController extends Controller
{ {
/** /**
* Display a listing of the resource. * Contains route related configuration
* *
* @return \Illuminate\Http\Response * @var array
*/ */
protected $_config; protected $_config;
/**
* Create a new Repository instance.
*
* @return void
*/
public function __construct() public function __construct()
{ {
$this->middleware('customer')->except(['show','create']); $this->middleware('customer')->except(['show','create']);
$this->_config = request('_config'); $this->_config = request('_config');
$subscriber = new CustomerEventsHandler; $subscriber = new CustomerEventsHandler;
@ -35,6 +37,11 @@ class SessionController extends Controller
Event::subscribe($subscriber); Event::subscribe($subscriber);
} }
/**
* Display the resource.
*
* @return \Illuminate\Http\Response
*/
public function show() public function show()
{ {
if (auth()->guard('customer')->check()) { if (auth()->guard('customer')->check()) {
@ -44,9 +51,14 @@ class SessionController extends Controller
} }
} }
public function create(Request $request) /**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{ {
$request->validate([ $this->validate(request(), [
'email' => 'required|email', 'email' => 'required|email',
'password' => 'required' 'password' => 'required'
]); ]);
@ -70,7 +82,7 @@ class SessionController extends Controller
Cookie::queue(Cookie::make('enable-resend', 'true', 1)); Cookie::queue(Cookie::make('enable-resend', 'true', 1));
Cookie::queue(Cookie::make('email-for-resend', $request->input('email'), 1)); Cookie::queue(Cookie::make('email-for-resend', request('email'), 1));
auth()->guard('customer')->logout(); auth()->guard('customer')->logout();
@ -78,11 +90,17 @@ class SessionController extends Controller
} }
//Event passed to prepare cart after login //Event passed to prepare cart after login
Event::fire('customer.after.login', $request->input('email')); Event::fire('customer.after.login', request('email'));
return redirect()->intended(route($this->_config['redirect'])); return redirect()->intended(route($this->_config['redirect']));
} }
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id) public function destroy($id)
{ {
auth()->guard('customer')->logout(); auth()->guard('customer')->logout();

View File

@ -2,13 +2,9 @@
namespace Webkul\Customer\Http\Controllers; namespace Webkul\Customer\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Customer\Repositories\CustomerRepository;
use Webkul\Product\Repositories\ProductRepository; use Webkul\Product\Repositories\ProductRepository;
use Webkul\Customer\Repositories\WishlistRepository; use Webkul\Customer\Repositories\WishlistRepository;
use Cart; use Cart;
use Auth;
/** /**
* Customer controller * Customer controller
@ -19,36 +15,54 @@ use Auth;
class WishlistController extends Controller class WishlistController extends Controller
{ {
/**
* Contains route related configuration
*
* @var array
*/
protected $_config; protected $_config;
protected $customer; /**
* ProductRepository object
protected $wishlist; *
* @var Object
protected $product; */
protected $wishlistRepository;
/** /**
* Initializes the required repository instances. * WishlistRepository object
* *
* @param $customer * @var Object
* @param $wishlist */
protected $productRepository;
/**
* Create a new controller instance.
*
* @param \Webkul\Customer\Repositories\WishlistRepository $wishlistRepository
* @param \Webkul\Product\Repositories\ProductRepository $productRepository
* @return void
*/ */
public function __construct(CustomerRepository $customer, WishlistRepository $wishlist, ProductRepository $product) public function __construct(
WishlistRepository $wishlistRepository,
ProductRepository $productRepository
)
{ {
$this->middleware('customer'); $this->middleware('customer');
$this->_config = request('_config'); $this->_config = request('_config');
$this->wishlist = $wishlist; $this->wishlistRepository = $wishlistRepository;
$this->product = $product; $this->productRepository = $productRepository;
} }
/** /**
* Displays the listing resources if the customer having items in wishlist. * Displays the listing resources if the customer having items in wishlist.
*/ */
public function index() { public function index()
$wishlistItems = $this->wishlist->findWhere([ {
$wishlistItems = $this->wishlistRepository->findWhere([
'channel_id' => core()->getCurrentChannel()->id, 'channel_id' => core()->getCurrentChannel()->id,
'customer_id' => auth()->guard('customer')->user()->id] 'customer_id' => auth()->guard('customer')->user()->id]
); );
@ -61,10 +75,11 @@ class WishlistController extends Controller
* *
* @param integer $itemId * @param integer $itemId
*/ */
public function add($itemId) { public function add($itemId)
$product = $this->product->findOneByField('id', $itemId); {
$product = $this->productRepository->findOneByField('id', $itemId);
if(!$product->status) { if (! $product->status) {
return redirect()->back(); return redirect()->back();
} }
@ -74,16 +89,20 @@ class WishlistController extends Controller
'customer_id' => auth()->guard('customer')->user()->id 'customer_id' => auth()->guard('customer')->user()->id
]; ];
$checked = $this->wishlist->findWhere(['channel_id' => core()->getCurrentChannel()->id, 'product_id' => $itemId, 'customer_id' => auth()->guard('customer')->user()->id]); $checked = $this->wishlistRepository->findWhere([
'channel_id' => core()->getCurrentChannel()->id,
'product_id' => $itemId,
'customer_id' => auth()->guard('customer')->user()->id
]);
//accidental case if some one adds id of the product in the anchor tag amd gives id of a variant. //accidental case if some one adds id of the product in the anchor tag amd gives id of a variant.
if ($product->parent_id != null) { if ($product->parent_id != null) {
$product = $this->product->findOneByField('id', $product->parent_id); $product = $this->productRepository->findOneByField('id', $product->parent_id);
$data['product_id'] = $product->id; $data['product_id'] = $product->id;
} }
if ($checked->isEmpty()) { if ($checked->isEmpty()) {
if ($this->wishlist->create($data)) { if ($this->wishlistRepository->create($data)) {
session()->flash('success', trans('customer::app.wishlist.success')); session()->flash('success', trans('customer::app.wishlist.success'));
return redirect()->back(); return redirect()->back();
@ -104,13 +123,13 @@ class WishlistController extends Controller
* *
* @param integer $itemId * @param integer $itemId
*/ */
public function remove($itemId) { public function remove($itemId)
{
$customerWishlistItems = auth()->guard('customer')->user()->wishlist_items; $customerWishlistItems = auth()->guard('customer')->user()->wishlist_items;
foreach($customerWishlistItems as $customerWishlistItem) { foreach ($customerWishlistItems as $customerWishlistItem) {
if($itemId == $customerWishlistItem->id) { if ($itemId == $customerWishlistItem->id) {
$this->wishlist->delete($itemId); $this->wishlistRepository->delete($itemId);
session()->flash('success', trans('customer::app.wishlist.removed')); session()->flash('success', trans('customer::app.wishlist.removed'));
@ -128,10 +147,11 @@ class WishlistController extends Controller
* *
* @param integer $itemId * @param integer $itemId
*/ */
public function move($itemId) { public function move($itemId)
$wishlistItem = $this->wishlist->findOneByField('id', $itemId); {
$wishlistItem = $this->wishlistRepository->findOneByField('id', $itemId);
if(!isset($wishlistItem) || $wishlistItem->customer_id != auth()->guard('customer')->user()->id) { if (! isset($wishlistItem) || $wishlistItem->customer_id != auth()->guard('customer')->user()->id) {
session()->flash('warning', trans('shop::app.security-warning')); session()->flash('warning', trans('shop::app.security-warning'));
return redirect()->route( 'customer.wishlist.index'); return redirect()->route( 'customer.wishlist.index');
@ -139,7 +159,7 @@ class WishlistController extends Controller
$result = Cart::moveToCart($wishlistItem); $result = Cart::moveToCart($wishlistItem);
if ($result == 1) { if ($result) {
if ($wishlistItem->delete()) { if ($wishlistItem->delete()) {
session()->flash('success', trans('shop::app.wishlist.moved')); session()->flash('success', trans('shop::app.wishlist.moved'));
@ -151,12 +171,8 @@ class WishlistController extends Controller
return redirect()->back(); return redirect()->back();
} }
} else if ($result == 0) { } else {
session()->flash('error', trans('shop::app.wishlist.error')); session()->flash('info', trans('shop::app.wishlist.option-missing'));
return redirect()->back();
} else if ($result == -1) {
session()->flash('info', trans('shop::app.checkout.cart.add-config-warning'));
return redirect()->route('shop.products.index', $wishlistItem->product->url_key); return redirect()->route('shop.products.index', $wishlistItem->product->url_key);
} }
@ -167,16 +183,18 @@ class WishlistController extends Controller
* *
* @return Mixed Response & Boolean * @return Mixed Response & Boolean
*/ */
public function removeAll() { public function removeAll()
{
$wishlistItems = auth()->guard('customer')->user()->wishlist_items; $wishlistItems = auth()->guard('customer')->user()->wishlist_items;
if ($wishlistItems->count() > 0) { if ($wishlistItems->count() > 0) {
foreach ($wishlistItems as $wishlistItem) { foreach ($wishlistItems as $wishlistItem) {
$this->wishlist->delete($wishlistItem->id); $this->wishlistRepository->delete($wishlistItem->id);
} }
} }
session()->flash('success', trans('customer::app.wishlist.remove-all-success')); session()->flash('success', trans('customer::app.wishlist.remove-all-success'));
return redirect()->back(); return redirect()->back();
} }
} }

View File

@ -2,10 +2,8 @@
namespace Webkul\Inventory\Http\Controllers; namespace Webkul\Inventory\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\Inventory\Repositories\InventorySourceRepository as InventorySource; use Webkul\Inventory\Repositories\InventorySourceRepository;
/** /**
* Inventory source controller * Inventory source controller
@ -27,17 +25,17 @@ class InventorySourceController extends Controller
* *
* @var array * @var array
*/ */
protected $inventorySource; protected $inventorySourceRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Inventory\Repositories\InventorySourceRepository $inventorySource * @param \Webkul\Inventory\Repositories\InventorySourceRepository $inventorySourceRepository
* @return void * @return void
*/ */
public function __construct(InventorySource $inventorySource) public function __construct(InventorySourceRepository $inventorySourceRepository)
{ {
$this->inventorySource = $inventorySource; $this->inventorySourceRepository = $inventorySourceRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -88,7 +86,7 @@ class InventorySourceController extends Controller
Event::fire('inventory.inventory_source.create.before'); Event::fire('inventory.inventory_source.create.before');
$inventorySource = $this->inventorySource->create($data); $inventorySource = $this->inventorySourceRepository->create($data);
Event::fire('inventory.inventory_source.create.after', $inventorySource); Event::fire('inventory.inventory_source.create.after', $inventorySource);
@ -105,7 +103,7 @@ class InventorySourceController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$inventorySource = $this->inventorySource->findOrFail($id); $inventorySource = $this->inventorySourceRepository->findOrFail($id);
return view($this->_config['view'], compact('inventorySource')); return view($this->_config['view'], compact('inventorySource'));
} }
@ -113,11 +111,10 @@ class InventorySourceController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
$this->validate(request(), [ $this->validate(request(), [
'code' => ['required', 'unique:inventory_sources,code,' . $id, new \Webkul\Core\Contracts\Validations\Code], 'code' => ['required', 'unique:inventory_sources,code,' . $id, new \Webkul\Core\Contracts\Validations\Code],
@ -138,7 +135,7 @@ class InventorySourceController extends Controller
Event::fire('inventory.inventory_source.update.before', $id); Event::fire('inventory.inventory_source.update.before', $id);
$inventorySource = $this->inventorySource->update($data, $id); $inventorySource = $this->inventorySourceRepository->update($data, $id);
Event::fire('inventory.inventory_source.update.after', $inventorySource); Event::fire('inventory.inventory_source.update.after', $inventorySource);
@ -155,15 +152,15 @@ class InventorySourceController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$inventorySource = $this->inventorySource->findOrFail($id); $inventorySource = $this->inventorySourceRepository->findOrFail($id);
if ($this->inventorySource->count() == 1) { if ($this->inventorySourceRepository->count() == 1) {
session()->flash('error', trans('admin::app.settings.inventory_sources.last-delete-error')); session()->flash('error', trans('admin::app.settings.inventory_sources.last-delete-error'));
} else { } else {
try { try {
Event::fire('inventory.inventory_source.delete.before', $id); Event::fire('inventory.inventory_source.delete.before', $id);
$this->inventorySource->delete($id); $this->inventorySourceRepository->delete($id);
Event::fire('inventory.inventory_source.delete.after', $id); Event::fire('inventory.inventory_source.delete.after', $id);

View File

@ -2,8 +2,6 @@
namespace Webkul\Product\Http\Controllers; namespace Webkul\Product\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\Product\Http\Requests\ProductForm; use Webkul\Product\Http\Requests\ProductForm;
use Webkul\Category\Repositories\CategoryRepository; use Webkul\Category\Repositories\CategoryRepository;

View File

@ -2,11 +2,8 @@
namespace Webkul\Product\Http\Controllers; namespace Webkul\Product\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\Product\Repositories\ProductRepository as Product; use Webkul\Product\Repositories\ProductReviewRepository;
use Webkul\Product\Repositories\ProductReviewRepository as ProductReview;
/** /**
* Review controller * Review controller
@ -16,7 +13,6 @@ use Webkul\Product\Repositories\ProductReviewRepository as ProductReview;
*/ */
class ReviewController extends Controller class ReviewController extends Controller
{ {
/** /**
* Contains route related configuration * Contains route related configuration
* *
@ -24,32 +20,24 @@ class ReviewController extends Controller
*/ */
protected $_config; protected $_config;
/**
* ProductRepository object
*
* @var array
*/
protected $product;
/** /**
* ProductReviewRepository object * ProductReviewRepository object
* *
* @var array * @var Object
*/ */
protected $productReview; protected $productReviewRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Product\Repositories\ProductRepository $product
* @param \Webkul\Product\Repositories\ProductReviewRepository $productReview * @param \Webkul\Product\Repositories\ProductReviewRepository $productReview
* @return void * @return void
*/ */
public function __construct(Product $product, ProductReview $productReview) public function __construct(
ProductReviewRepository $productReviewRepository
)
{ {
$this->product = $product; $this->productReviewRepository = $productReviewRepository;
$this->productReview = $productReview;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -72,23 +60,22 @@ class ReviewController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$review = $this->productReview->findOrFail($id); $review = $this->productReviewRepository->findOrFail($id);
return view($this->_config['view'],compact('review')); return view($this->_config['view'], compact('review'));
} }
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
Event::fire('customer.review.update.before', $id); Event::fire('customer.review.update.before', $id);
$this->productReview->update(request()->all(), $id); $this->productReviewRepository->update(request()->all(), $id);
Event::fire('customer.review.update.after', $id); Event::fire('customer.review.update.after', $id);
@ -105,12 +92,12 @@ class ReviewController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$productReview = $this->productReview->findOrFail($id); $productReview = $this->productReviewRepository->findOrFail($id);
try { try {
Event::fire('customer.review.delete.before', $id); Event::fire('customer.review.delete.before', $id);
$this->productReview->delete($id); $this->productReviewRepository->delete($id);
Event::fire('customer.review.delete.after', $id); Event::fire('customer.review.delete.after', $id);
@ -129,7 +116,8 @@ class ReviewController extends Controller
* *
* @return response * @return response
*/ */
public function massDestroy() { public function massDestroy()
{
$suppressFlash = false; $suppressFlash = false;
if (request()->isMethod('post')) { if (request()->isMethod('post')) {
@ -141,7 +129,7 @@ class ReviewController extends Controller
try { try {
Event::fire('customer.review.delete.before', $value); Event::fire('customer.review.delete.before', $value);
$this->productReview->delete($value); $this->productReviewRepository->delete($value);
Event::fire('customer.review.delete.after', $value); Event::fire('customer.review.delete.after', $value);
} catch(\Exception $e) { } catch(\Exception $e) {
@ -170,7 +158,8 @@ class ReviewController extends Controller
* *
* @return response * @return response
*/ */
public function massUpdate() { public function massUpdate()
{
$suppressFlash = false; $suppressFlash = false;
if (request()->isMethod('post')) { if (request()->isMethod('post')) {
@ -179,7 +168,7 @@ class ReviewController extends Controller
$indexes = explode(',', request()->input('indexes')); $indexes = explode(',', request()->input('indexes'));
foreach ($indexes as $key => $value) { foreach ($indexes as $key => $value) {
$review = $this->productReview->findOneByField('id', $value); $review = $this->productReviewRepository->findOneByField('id', $value);
try { try {
if ($data['massaction-type'] == 'update') { if ($data['massaction-type'] == 'update') {

View File

@ -20,17 +20,20 @@ class ProductAttributeValueRepository extends Repository
* *
* @var array * @var array
*/ */
protected $attribute; protected $attributeRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param Webkul\Attribute\Repositories\AttributeRepository $attribute * @param Webkul\Attribute\Repositories\AttributeRepository $attributeRepository
* @return void * @return void
*/ */
public function __construct(AttributeRepository $attribute, App $app) public function __construct(
AttributeRepository $attributeRepository,
App $app
)
{ {
$this->attribute = $attribute; $this->attributeRepository = $attributeRepository;
parent::__construct($app); parent::__construct($app);
} }
@ -52,9 +55,9 @@ class ProductAttributeValueRepository extends Repository
public function create(array $data) public function create(array $data)
{ {
if (isset($data['attribute_id'])) { if (isset($data['attribute_id'])) {
$attribute = $this->attribute->find($data['attribute_id']); $attribute = $this->attributeRepository->find($data['attribute_id']);
} else { } else {
$attribute = $this->attribute->findOneByField('code', $data['attribute_code']); $attribute = $this->attributeRepository->findOneByField('code', $data['attribute_code']);
} }
if (! $attribute) if (! $attribute)

View File

@ -2,9 +2,7 @@
namespace Webkul\Product\Repositories; namespace Webkul\Product\Repositories;
use Illuminate\Container\Container as App;
use Webkul\Core\Eloquent\Repository; use Webkul\Core\Eloquent\Repository;
use Webkul\Product\Repositories\ProductRepository as Product;
/** /**
* Product Repository * Product Repository
@ -14,23 +12,6 @@ use Webkul\Product\Repositories\ProductRepository as Product;
*/ */
class ProductFlatRepository extends Repository class ProductFlatRepository extends Repository
{ {
protected $product;
/**
* Price Object
*
* @var array
*/
protected $price;
public function __construct(
Product $product,
App $app
) {
$this->product = $product;
parent::__construct($app);
}
public function model() public function model()
{ {
return 'Webkul\Product\Contracts\ProductFlat'; return 'Webkul\Product\Contracts\ProductFlat';

View File

@ -4,7 +4,6 @@ namespace Webkul\Product\Repositories;
use Illuminate\Container\Container as App; use Illuminate\Container\Container as App;
use Webkul\Core\Eloquent\Repository; use Webkul\Core\Eloquent\Repository;
use Webkul\Product\Repositories\ProductRepository;
/** /**
* Product Review Reposotory * Product Review Reposotory
@ -14,28 +13,6 @@ use Webkul\Product\Repositories\ProductRepository;
*/ */
class ProductReviewRepository extends Repository class ProductReviewRepository extends Repository
{ {
/**
* ProductImageRepository object
*
* @var array
*/
protected $product;
/**
* Create a new controller instance.
*
* @param Webkul\Product\Repositories\ProductRepository $product
* @return void
*/
public function __construct(
ProductRepository $product,
App $app)
{
$this->product = $product;
parent::__construct($app);
}
/** /**
* Specify Model class name * Specify Model class name
* *

View File

@ -4,7 +4,7 @@ namespace Webkul\Product\Repositories;
use Illuminate\Container\Container as App; use Illuminate\Container\Container as App;
use Webkul\Core\Eloquent\Repository; use Webkul\Core\Eloquent\Repository;
use Webkul\Product\Repositories\ProductRepository as Product; use Webkul\Product\Repositories\ProductRepository;
/** /**
* Search Reposotory * Search Reposotory
@ -15,17 +15,26 @@ use Webkul\Product\Repositories\ProductRepository as Product;
class SearchRepository extends Repository class SearchRepository extends Repository
{ {
/** /**
* Specify Model class name * ProductRepository object
* *
* @return mixed * @return Object
*/ */
protected $product; protected $productRepository;
/**
public function __construct(App $app, Product $product) { * Create a new repository instance.
*
* @param Webkul\Product\Repositories\ProductRepository $productRepository
* @return void
*/
public function __construct(
ProductRepository $productRepository,
App $app
)
{
parent::__construct($app); parent::__construct($app);
$this->product = $product; $this->productRepository = $productRepository;
} }
function model() function model()
@ -42,13 +51,13 @@ class SearchRepository extends Repository
$searchTerm = explode("?", $query); $searchTerm = explode("?", $query);
$serachQuery = ''; $serachQuery = '';
foreach($searchTerm as $term){ foreach ($searchTerm as $term) {
if (strpos($term, 'term') !== false) { if (strpos($term, 'term') !== false) {
$serachQuery = last(explode("=", $term)); $serachQuery = last(explode("=", $term));
} }
} }
$products = $this->product->searchProductByAttribute($serachQuery); $products = $this->productRepository->searchProductByAttribute($serachQuery);
return $products; return $products;
} }

View File

@ -44,6 +44,16 @@ abstract class AbstractType
*/ */
abstract public function isStockable(); abstract public function isStockable();
/**
* Return true if item can be moved to cart from wishlist
*
* @return boolean
*/
public function canBeMovedFromWishlistToCart()
{
return false;
}
/** /**
* Retrieve product attributes * Retrieve product attributes
* *

View File

@ -57,6 +57,16 @@ class Simple extends AbstractType
return true; return true;
} }
/**
* Return true if item can be moved to cart from wishlist
*
* @return boolean
*/
public function canBeMovedFromWishlistToCart()
{
return true;
}
/** /**
* @return integer * @return integer
*/ */

View File

@ -52,4 +52,14 @@ class Virtual extends AbstractType
{ {
return false; return false;
} }
/**
* Return true if item can be moved to cart from wishlist
*
* @return boolean
*/
public function canBeMovedFromWishlistToCart()
{
return true;
}
} }

View File

@ -7,9 +7,9 @@ use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Webkul\Core\Eloquent\Repository; use Webkul\Core\Eloquent\Repository;
use Webkul\Sales\Contracts\Shipment; use Webkul\Sales\Contracts\Shipment;
use Webkul\Sales\Repositories\OrderRepository as Order; use Webkul\Sales\Repositories\OrderRepository;
use Webkul\Sales\Repositories\OrderItemRepository as OrderItem; use Webkul\Sales\Repositories\OrderItemRepository;
use Webkul\Sales\Repositories\ShipmentItemRepository as ShipmentItem; use Webkul\Sales\Repositories\ShipmentItemRepository;
/** /**
* Shipment Reposotory * Shipment Reposotory
@ -17,7 +17,6 @@ use Webkul\Sales\Repositories\ShipmentItemRepository as ShipmentItem;
* @author Jitendra Singh <jitendra@webkul.com> * @author Jitendra Singh <jitendra@webkul.com>
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
*/ */
class ShipmentRepository extends Repository class ShipmentRepository extends Repository
{ {
/** /**
@ -25,42 +24,42 @@ class ShipmentRepository extends Repository
* *
* @var Object * @var Object
*/ */
protected $order; protected $orderRepository;
/** /**
* OrderItemRepository object * OrderItemRepository object
* *
* @var Object * @var Object
*/ */
protected $orderItem; protected $orderItemRepository;
/** /**
* ShipmentItemRepository object * ShipmentItemRepository object
* *
* @var Object * @var Object
*/ */
protected $shipmentItem; protected $shipmentItemRepository;
/** /**
* Create a new repository instance. * Create a new repository instance.
* *
* @param Webkul\Sales\Repositories\OrderRepository $order * @param Webkul\Sales\Repositories\OrderRepository $orderRepository
* @param Webkul\Sales\Repositories\OrderItemRepository $orderItem * @param Webkul\Sales\Repositories\OrderItemRepository $orderItemRepository
* @param Webkul\Sales\Repositories\ShipmentItemRepository $orderItem * @param Webkul\Sales\Repositories\ShipmentItemRepository $orderItemRepository
* @return void * @return void
*/ */
public function __construct( public function __construct(
Order $order, OrderRepository $orderRepository,
OrderItem $orderItem, OrderItemRepository $orderItemRepository,
ShipmentItem $shipmentItem, ShipmentItemRepository $shipmentItemRepository,
App $app App $app
) )
{ {
$this->order = $order; $this->orderRepository = $orderRepository;
$this->orderItem = $orderItem; $this->orderItemRepository = $orderItemRepository;
$this->shipmentItem = $shipmentItem; $this->shipmentItemRepository = $shipmentItemRepository;
parent::__construct($app); parent::__construct($app);
} }
@ -87,7 +86,7 @@ class ShipmentRepository extends Repository
try { try {
Event::fire('sales.shipment.save.before', $data); Event::fire('sales.shipment.save.before', $data);
$order = $this->order->find($data['order_id']); $order = $this->orderRepository->find($data['order_id']);
$shipment = $this->model->create([ $shipment = $this->model->create([
'order_id' => $order->id, 'order_id' => $order->id,
@ -105,14 +104,14 @@ class ShipmentRepository extends Repository
foreach ($data['shipment']['items'] as $itemId => $inventorySource) { foreach ($data['shipment']['items'] as $itemId => $inventorySource) {
$qty = $inventorySource[$data['shipment']['source']]; $qty = $inventorySource[$data['shipment']['source']];
$orderItem = $this->orderItem->find($itemId); $orderItem = $this->orderItemRepository->find($itemId);
if ($qty > $orderItem->qty_to_ship) if ($qty > $orderItem->qty_to_ship)
$qty = $orderItem->qty_to_ship; $qty = $orderItem->qty_to_ship;
$totalQty += $qty; $totalQty += $qty;
$shipmentItem = $this->shipmentItem->create([ $shipmentItem = $this->shipmentItemRepository->create([
'shipment_id' => $shipment->id, 'shipment_id' => $shipment->id,
'order_item_id' => $orderItem->id, 'order_item_id' => $orderItem->id,
'name' => $orderItem->name, 'name' => $orderItem->name,
@ -134,7 +133,7 @@ class ShipmentRepository extends Repository
? $orderItem->child->product ? $orderItem->child->product
: $orderItem->product; : $orderItem->product;
$this->shipmentItem->updateProductInventory([ $this->shipmentItemRepository->updateProductInventory([
'shipment' => $shipment, 'shipment' => $shipment,
'shipmentItem' => $shipmentItem, 'shipmentItem' => $shipmentItem,
'product' => $product, 'product' => $product,
@ -142,14 +141,14 @@ class ShipmentRepository extends Repository
'vendor_id' => isset($data['vendor_id']) ? $data['vendor_id'] : 0 'vendor_id' => isset($data['vendor_id']) ? $data['vendor_id'] : 0
]); ]);
$this->orderItem->update(['qty_shipped' => $orderItem->qty_shipped + $qty], $orderItem->id); $this->orderItemRepository->update(['qty_shipped' => $orderItem->qty_shipped + $qty], $orderItem->id);
} }
$shipment->update([ $shipment->update([
'total_qty' => $totalQty 'total_qty' => $totalQty
]); ]);
$this->order->updateOrderStatus($order); $this->orderRepository->updateOrderStatus($order);
Event::fire('sales.shipment.save.after', $shipment); Event::fire('sales.shipment.save.after', $shipment);
} catch (\Exception $e) { } catch (\Exception $e) {

View File

@ -2,8 +2,6 @@
namespace Webkul\Shop\Http\Controllers; namespace Webkul\Shop\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Checkout\Repositories\CartItemRepository; use Webkul\Checkout\Repositories\CartItemRepository;
use Webkul\Product\Repositories\ProductRepository; use Webkul\Product\Repositories\ProductRepository;
use Webkul\Customer\Repositories\WishlistRepository; use Webkul\Customer\Repositories\WishlistRepository;
@ -66,7 +64,6 @@ class CartController extends Controller
WishlistRepository $wishlistRepository WishlistRepository $wishlistRepository
) )
{ {
$this->middleware('customer')->only(['moveToWishlist']); $this->middleware('customer')->only(['moveToWishlist']);
$this->cartItemRepository = $cartItemRepository; $this->cartItemRepository = $cartItemRepository;

View File

@ -14,9 +14,20 @@ use Webkul\Core\Repositories\SliderRepository;
class HomeController extends Controller class HomeController extends Controller
{ {
protected $_config; protected $_config;
protected $sliderRepository;
protected $current_channel;
/**
* SliderRepository object
*
* @var Object
*/
protected $sliderRepository;
/**
* Create a new controller instance.
*
* @param \Webkul\Core\Repositories\SliderRepository $sliderRepository
* @return void
*/
public function __construct(SliderRepository $sliderRepository) public function __construct(SliderRepository $sliderRepository)
{ {
$this->_config = request('_config'); $this->_config = request('_config');
@ -30,6 +41,7 @@ use Webkul\Core\Repositories\SliderRepository;
public function index() public function index()
{ {
$currentChannel = core()->getCurrentChannel(); $currentChannel = core()->getCurrentChannel();
$sliderData = $this->sliderRepository->findByField('channel_id', $currentChannel->id)->toArray(); $sliderData = $this->sliderRepository->findByField('channel_id', $currentChannel->id)->toArray();
return view($this->_config['view'], compact('sliderData')); return view($this->_config['view'], compact('sliderData'));

View File

@ -2,11 +2,8 @@
namespace Webkul\Shop\Http\Controllers; namespace Webkul\Shop\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Sales\Repositories\OrderRepository; use Webkul\Sales\Repositories\OrderRepository;
use Webkul\Sales\Repositories\InvoiceRepository; use Webkul\Sales\Repositories\InvoiceRepository;
use Auth;
use PDF; use PDF;
/** /**
@ -28,36 +25,36 @@ class OrderController extends Controller
/** /**
* OrderrRepository object * OrderrRepository object
* *
* @var array * @var Object
*/ */
protected $order; protected $orderRepository;
/** /**
* InvoiceRepository object * InvoiceRepository object
* *
* @var array * @var Object
*/ */
protected $invoice; protected $invoiceRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Order\Repositories\OrderRepository $order * @param \Webkul\Order\Repositories\OrderRepository $orderRepository
* @param \Webkul\Order\Repositories\InvoiceRepository $invoice * @param \Webkul\Order\Repositories\InvoiceRepository $invoiceRepository
* @return void * @return void
*/ */
public function __construct( public function __construct(
OrderRepository $order, OrderRepository $orderRepository,
InvoiceRepository $invoice InvoiceRepository $invoiceRepository
) )
{ {
$this->middleware('customer'); $this->middleware('customer');
$this->_config = request('_config'); $this->_config = request('_config');
$this->order = $order; $this->orderRepository = $orderRepository;
$this->invoice = $invoice; $this->invoiceRepository = $invoiceRepository;
} }
/** /**
@ -78,7 +75,7 @@ class OrderController extends Controller
*/ */
public function view($id) public function view($id)
{ {
$order = $this->order->findOneWhere([ $order = $this->orderRepository->findOneWhere([
'customer_id' => auth()->guard('customer')->user()->id, 'customer_id' => auth()->guard('customer')->user()->id,
'id' => $id 'id' => $id
]); ]);
@ -97,7 +94,7 @@ class OrderController extends Controller
*/ */
public function print($id) public function print($id)
{ {
$invoice = $this->invoice->findOrFail($id); $invoice = $this->invoiceRepository->findOrFail($id);
$pdf = PDF::loadView('shop::customers.account.orders.pdf', compact('invoice'))->setPaper('a4'); $pdf = PDF::loadView('shop::customers.account.orders.pdf', compact('invoice'))->setPaper('a4');

View File

@ -2,10 +2,8 @@
namespace Webkul\Shop\Http\Controllers; namespace Webkul\Shop\Http\Controllers;
use Illuminate\Http\Request; use Webkul\Product\Repositories\ProductRepository;
use Illuminate\Http\Response; use Webkul\Product\Repositories\ProductReviewRepository;
use Webkul\Product\Repositories\ProductRepository as Product;
use Webkul\Product\Repositories\ProductReviewRepository as ProductReview;
/** /**
* Review controller * Review controller
@ -15,7 +13,6 @@ use Webkul\Product\Repositories\ProductReviewRepository as ProductReview;
*/ */
class ReviewController extends Controller class ReviewController extends Controller
{ {
/** /**
* Contains route related configuration * Contains route related configuration
* *
@ -26,29 +23,32 @@ class ReviewController extends Controller
/** /**
* ProductRepository object * ProductRepository object
* *
* @var array * @var Object
*/ */
protected $product; protected $productRepository;
/** /**
* ProductReviewRepository object * ProductReviewRepository object
* *
* @var array * @var Object
*/ */
protected $productReview; protected $productReviewRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Product\Repositories\ProductRepository $product * @param \Webkul\Product\Repositories\ProductRepository $productRepository
* @param \Webkul\Product\Repositories\ProductReviewRepository $productReview * @param \Webkul\Product\Repositories\ProductReviewRepository $productReviewRepository
* @return void * @return void
*/ */
public function __construct(Product $product, ProductReview $productReview) public function __construct(
ProductRepository $productRepository,
ProductReviewRepository $productReviewRepository
)
{ {
$this->product = $product; $this->productRepository = $productRepository;
$this->productReview = $productReview; $this->productReviewRepository = $productReviewRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -61,7 +61,7 @@ class ReviewController extends Controller
*/ */
public function create($slug) public function create($slug)
{ {
$product = $this->product->findBySlugOrFail($slug); $product = $this->productRepository->findBySlugOrFail($slug);
$guest_review = core()->getConfigData('catalog.products.review.guest_review'); $guest_review = core()->getConfigData('catalog.products.review.guest_review');
@ -71,10 +71,10 @@ class ReviewController extends Controller
/** /**
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param \Illuminate\Http\Request $request * @param integer $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function store(Request $request , $id) public function store($id)
{ {
$this->validate(request(), [ $this->validate(request(), [
'comment' => 'required', 'comment' => 'required',
@ -92,7 +92,7 @@ class ReviewController extends Controller
$data['status'] = 'pending'; $data['status'] = 'pending';
$data['product_id'] = $id; $data['product_id'] = $id;
$this->productReview->create($data); $this->productReviewRepository->create($data);
session()->flash('success', trans('shop::app.response.submit-success', ['name' => 'Product Review'])); session()->flash('success', trans('shop::app.response.submit-success', ['name' => 'Product Review']));
@ -107,7 +107,7 @@ class ReviewController extends Controller
*/ */
public function show($slug) public function show($slug)
{ {
$product = $this->product->findBySlugOrFail($slug); $product = $this->productRepository->findBySlugOrFail($slug);
return view($this->_config['view'],compact('product')); return view($this->_config['view'],compact('product'));
} }
@ -115,11 +115,12 @@ class ReviewController extends Controller
/** /**
* Customer delete a reviews from their account * Customer delete a reviews from their account
* *
* @param integer $id
* @return response * @return response
*/ */
public function destroy($id) public function destroy($id)
{ {
$review = $this->productReview->findOneWhere([ $review = $this->productReviewRepository->findOneWhere([
'id' => $id, 'id' => $id,
'customer_id' => auth()->guard('customer')->user()->id 'customer_id' => auth()->guard('customer')->user()->id
]); ]);
@ -127,7 +128,7 @@ class ReviewController extends Controller
if (! $review) if (! $review)
abort(404); abort(404);
$this->productReview->delete($id); $this->productReviewRepository->delete($id);
session()->flash('success', trans('shop::app.response.delete-success', ['name' => 'Product Review'])); session()->flash('success', trans('shop::app.response.delete-success', ['name' => 'Product Review']));
@ -139,12 +140,13 @@ class ReviewController extends Controller
* *
* @return Mixed Response & Boolean * @return Mixed Response & Boolean
*/ */
public function deleteAll() { public function deleteAll()
{
$reviews = auth()->guard('customer')->user()->all_reviews; $reviews = auth()->guard('customer')->user()->all_reviews;
if ($reviews->count() > 0) { if ($reviews->count() > 0) {
foreach ($reviews as $review) { foreach ($reviews as $review) {
$this->productReview->delete($review->id); $this->productReviewRepository->delete($review->id);
} }
} }

View File

@ -2,11 +2,7 @@
namespace Webkul\Shop\Http\Controllers; namespace Webkul\Shop\Http\Controllers;
use Webkul\Shop\Http\Controllers\Controller; use Webkul\Product\Repositories\SearchRepository;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Product\Repositories\SearchRepository as Search;
/** /**
* Search controller * Search controller
@ -14,18 +10,33 @@ use Webkul\Product\Repositories\SearchRepository as Search;
* @author Prashant Singh <prashant.singh852@webkul.com> @prashant-webkul * @author Prashant Singh <prashant.singh852@webkul.com> @prashant-webkul
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
*/ */
class SearchController extends Controller
class SearchController extends controller
{ {
/**
* Contains route related configuration
*
* @var array
*/
protected $_config; protected $_config;
protected $search; /**
* SearchRepository object
*
* @var Object
*/
protected $searchRepository;
public function __construct(Search $search) /**
* Create a new controller instance.
*
* @param \Webkul\Product\Repositories\SearchRepository $searchRepository
* @return void
*/
public function __construct(SearchRepository $searchRepository)
{ {
$this->_config = request('_config'); $this->_config = request('_config');
$this->search = $search; $this->searchRepository = $searchRepository;
} }
/** /**
@ -33,15 +44,8 @@ use Webkul\Product\Repositories\SearchRepository as Search;
*/ */
public function index() public function index()
{ {
$results = null; $results = $this->searchRepository->search(request()->all());
$results = $this->search->search(request()->all());
if ($results->count()) {
return view($this->_config['view'])->with('results', $results);
} else {
return view($this->_config['view'])->with('results', null);
}
return view($this->_config['view'])->with('results', $results->count() ? $results : null);
} }
} }

View File

@ -2,14 +2,9 @@
namespace Webkul\Shop\Http\Controllers; namespace Webkul\Shop\Http\Controllers;
use Webkul\Shop\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
use Webkul\Shop\Mail\SubscriptionEmail; use Webkul\Shop\Mail\SubscriptionEmail;
use Webkul\Customer\Repositories\CustomerRepository as Customer; use Webkul\Core\Repositories\SubscribersListRepository;
use Webkul\Core\Repositories\SubscribersListRepository as Subscription;
/** /**
* Subscription controller * Subscription controller
@ -20,34 +15,28 @@ use Webkul\Core\Repositories\SubscribersListRepository as Subscription;
class SubscriptionController extends Controller class SubscriptionController extends Controller
{ {
/** /**
* User object * Contains route related configuration
* *
* @var array * @var array
*/ */
protected $user; protected $_config;
/** /**
* Customer Repository object * SubscribersListRepository
* *
* @var array * @var Object
*/ */
protected $customer; protected $subscriptionRepository;
/**
* Subscription List Repository object
*
* @var array
*/
protected $subscription;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Core\Repositories\SubscribersListRepository $subscriptionRepository
* @return void * @return void
*/ */
public function __construct(Customer $customer, Subscription $subscription) public function __construct(SubscribersListRepository $subscriptionRepository)
{ {
$this->subscription = $subscription; $this->subscriptionRepository = $subscriptionRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -65,14 +54,10 @@ class SubscriptionController extends Controller
$unique = 0; $unique = 0;
$alreadySubscribed = $this->subscription->findWhere(['email' => $email]); $alreadySubscribed = $this->subscriptionRepository->findWhere(['email' => $email]);
$unique = function () use ($alreadySubscribed) { $unique = function () use ($alreadySubscribed) {
if ($alreadySubscribed->count() > 0) { return $alreadySubscribed->count() > 0 ? 0 : 1;
return 0;
} else {
return 1;
}
}; };
if ($unique()) { if ($unique()) {
@ -96,14 +81,14 @@ class SubscriptionController extends Controller
$result = false; $result = false;
if ($mailSent) { if ($mailSent) {
$result = $this->subscription->create([ $result = $this->subscriptionRepository->create([
'email' => $email, 'email' => $email,
'channel_id' => core()->getCurrentChannel()->id, 'channel_id' => core()->getCurrentChannel()->id,
'is_subscribed' => 1, 'is_subscribed' => 1,
'token' => $token 'token' => $token
]); ]);
if (!$result) { if (! $result) {
session()->flash('error', trans('shop::app.subscription.not-subscribed')); session()->flash('error', trans('shop::app.subscription.not-subscribed'));
return redirect()->back(); return redirect()->back();
@ -123,14 +108,15 @@ class SubscriptionController extends Controller
*/ */
public function unsubscribe($token) public function unsubscribe($token)
{ {
$subscriber = $this->subscription->findOneByField('token', $token); $subscriber = $this->subscriptionRepository->findOneByField('token', $token);
if (isset($subscriber)) if (isset($subscriber)) {
if ($subscriber->count() > 0 && $subscriber->is_subscribed == 1 && $subscriber->update(['is_subscribed' => 0])) { if ($subscriber->count() > 0 && $subscriber->is_subscribed == 1 && $subscriber->update(['is_subscribed' => 0])) {
session()->flash('info', trans('shop::app.subscription.unsubscribed')); session()->flash('info', trans('shop::app.subscription.unsubscribed'));
} else { } else {
session()->flash('info', trans('shop::app.subscription.already-unsub')); session()->flash('info', trans('shop::app.subscription.already-unsub'));
} }
}
return redirect()->route('shop.home.index'); return redirect()->route('shop.home.index');
} }

View File

@ -363,6 +363,7 @@ return [
'add' => 'Item successfully added to wishlist', 'add' => 'Item successfully added to wishlist',
'remove' => 'Item successfully removed from wishlist', 'remove' => 'Item successfully removed from wishlist',
'moved' => 'Item successfully moved To cart', 'moved' => 'Item successfully moved To cart',
'option-missing' => 'Product options are missing, so item can not be moved to the wishlist.',
'move-error' => 'Item cannot be moved to wishlist, Please try again later', 'move-error' => 'Item cannot be moved to wishlist, Please try again later',
'success' => 'Item successfully added to wishlist', 'success' => 'Item successfully added to wishlist',
'failure' => 'Item cannot be added to wishlist, Please try again later', 'failure' => 'Item cannot be added to wishlist, Please try again later',

View File

@ -2,13 +2,9 @@
namespace Webkul\Tax\Http\Controllers; namespace Webkul\Tax\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\Channel as Channel; use Webkul\Tax\Repositories\TaxCategoryRepository;
use Webkul\Tax\Repositories\TaxCategoryRepository as TaxCategory; use Webkul\Tax\Repositories\TaxRateRepository;
use Webkul\Tax\Repositories\TaxRateRepository as TaxRate;
use Webkul\Tax\Repositories\TaxMapRepository as TaxMap;
/** /**
* Tax controller * Tax controller
@ -28,43 +24,32 @@ class TaxCategoryController extends Controller
/** /**
* TaxCategoryRepository * TaxCategoryRepository
* *
* @var mixed * @var Object
*/ */
protected $taxCategory; protected $taxCategoryRepository;
/** /**
* TaxRateRepository * TaxRateRepository
* *
* @var mixed * @var Object
*/ */
protected $taxRate; protected $taxRateRepository;
/**
* TaxMapRepository
*
* @var mixed
*/
protected $taxMap;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Tax\Repositories\TaxCategoryRepository $taxCategory * @param \Webkul\Tax\Repositories\TaxCategoryRepository $taxCategoryRepository
* @param \Webkul\Tax\Repositories\TaxRateRepository $taxRate * @param \Webkul\Tax\Repositories\TaxRateRepository $taxRateRepository
* @param \Webkul\Tax\Repositories\TaxMapRepository $taxMap
* @return void * @return void
*/ */
public function __construct( public function __construct(
TaxCategory $taxCategory, TaxCategoryRepository $taxCategoryRepository,
TaxRate $taxRate, TaxRateRepository $taxRateRepository
TaxMap $taxMap
) )
{ {
$this->taxCategory = $taxCategory; $this->taxCategoryRepository = $taxCategoryRepository;
$this->taxRate = $taxRate; $this->taxRateRepository = $taxRateRepository;
$this->taxMap = $taxMap;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -77,7 +62,7 @@ class TaxCategoryController extends Controller
*/ */
public function show() public function show()
{ {
return view($this->_config['view'])->with('taxRates', $this->taxRate->all()); return view($this->_config['view'])->with('taxRates', $this->taxRateRepository->all());
} }
/** /**
@ -100,10 +85,10 @@ class TaxCategoryController extends Controller
Event::fire('tax.tax_category.create.before'); Event::fire('tax.tax_category.create.before');
$taxCategory = $this->taxCategory->create($data); $taxCategory = $this->taxCategoryRepository->create($data);
//attach the categories in the tax map table //attach the categories in the tax map table
$this->taxCategory->attachOrDetach($taxCategory, $data['taxrates']); $this->taxCategoryRepository->attachOrDetach($taxCategory, $data['taxrates']);
Event::fire('tax.tax_category.create.after', $taxCategory); Event::fire('tax.tax_category.create.after', $taxCategory);
@ -120,7 +105,7 @@ class TaxCategoryController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$taxCategory = $this->taxCategory->findOrFail($id); $taxCategory = $this->taxCategoryRepository->findOrFail($id);
return view($this->_config['view'], compact('taxCategory')); return view($this->_config['view'], compact('taxCategory'));
} }
@ -145,7 +130,7 @@ class TaxCategoryController extends Controller
Event::fire('tax.tax_category.update.before', $id); Event::fire('tax.tax_category.update.before', $id);
$taxCategory = $this->taxCategory->update($data, $id); $taxCategory = $this->taxCategoryRepository->update($data, $id);
Event::fire('tax.tax_category.update.after', $taxCategory); Event::fire('tax.tax_category.update.after', $taxCategory);
@ -158,7 +143,7 @@ class TaxCategoryController extends Controller
$taxRates = $data['taxrates']; $taxRates = $data['taxrates'];
//attach the categories in the tax map table //attach the categories in the tax map table
$this->taxCategory->attachOrDetach($taxCategory, $taxRates); $this->taxCategoryRepository->attachOrDetach($taxCategory, $taxRates);
session()->flash('success', trans('admin::app.settings.tax-categories.update-success')); session()->flash('success', trans('admin::app.settings.tax-categories.update-success'));
@ -173,12 +158,12 @@ class TaxCategoryController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$taxCategory = $this->taxCategory->findOrFail($id); $taxCategory = $this->taxCategoryRepository->findOrFail($id);
try { try {
Event::fire('tax.tax_category.delete.before', $id); Event::fire('tax.tax_category.delete.before', $id);
$this->taxCategory->delete($id); $this->taxCategoryRepository->delete($id);
Event::fire('tax.tax_category.delete.after', $id); Event::fire('tax.tax_category.delete.after', $id);

View File

@ -2,14 +2,6 @@
namespace Webkul\Tax\Http\Controllers; namespace Webkul\Tax\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\Core\Repositories\ChannelRepository as Channel;
use Webkul\Tax\Repositories\TaxCategoryRepository as TaxCategory;
use Webkul\Tax\Repositories\TaxRateRepository as TaxRate;
use Webkul\Tax\Repositories\TaxMapRepository as TaxMap;
/** /**
* Tax controller * Tax controller
* *
@ -25,55 +17,15 @@ class TaxController extends Controller
*/ */
protected $_config; protected $_config;
/**
* ChannelRepository object
*
* @var array
*/
protected $channel;
/**
* Tax Category Repository object
*
* @var array
*/
protected $taxCategory;
/**
* Tax Rate Repository object
*
* @var array
*/
protected $taxRate;
/**
* Tax Map Repository object
*
* @var array
*/
protected $taxMap;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Core\Repositories\ChannelRepository $channel
* @param \Webkul\Tax\Repositories\TaxCategoryRepository $taxCategory
* @param \Webkul\Tax\Repositories\TaxRateRepository $taxRate
* @param \Webkul\Tax\Repositories\TaxMapRepository $taxMap
* @return void * @return void
*/ */
public function __construct(Channel $channel, TaxCategory $taxCategory, TaxRate $taxRate, TaxMap $taxMap) public function __construct()
{ {
$this->middleware('admin'); $this->middleware('admin');
$this->channel = $channel;
$this->taxCategory = $taxCategory;
$this->taxRate = $taxRate;
$this->taxMap = $taxMap;
$this->_config = request('_config'); $this->_config = request('_config');
} }

View File

@ -2,10 +2,8 @@
namespace Webkul\Tax\Http\Controllers; namespace Webkul\Tax\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\Tax\Repositories\TaxRateRepository as TaxRate; use Webkul\Tax\Repositories\TaxRateRepository;
use Webkul\Admin\Imports\DataGridImport; use Webkul\Admin\Imports\DataGridImport;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Excel; use Excel;
@ -27,21 +25,21 @@ class TaxRateController extends Controller
protected $_config; protected $_config;
/** /**
* Tax Rate Repository object * TaxRateRepository object
* *
* @var array * @var Object
*/ */
protected $taxRate; protected $taxRateRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\Tax\Repositories\TaxRateRepository $taxRate * @param \Webkul\Tax\Repositories\TaxRateRepository $taxRateRepository
* @return void * @return void
*/ */
public function __construct(TaxRate $taxRate) public function __construct(TaxRateRepository $taxRateRepository)
{ {
$this->taxRate = $taxRate; $this->taxRateRepository = $taxRateRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -96,7 +94,7 @@ class TaxRateController extends Controller
Event::fire('tax.tax_rate.create.before'); Event::fire('tax.tax_rate.create.before');
$taxRate = $this->taxRate->create($data); $taxRate = $this->taxRateRepository->create($data);
Event::fire('tax.tax_rate.create.after', $taxRate); Event::fire('tax.tax_rate.create.after', $taxRate);
@ -114,7 +112,7 @@ class TaxRateController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$taxRate = $this->taxRate->findOrFail($id); $taxRate = $this->taxRateRepository->findOrFail($id);
return view($this->_config['view'])->with('taxRate', $taxRate); return view($this->_config['view'])->with('taxRate', $taxRate);
} }
@ -139,7 +137,7 @@ class TaxRateController extends Controller
Event::fire('tax.tax_rate.update.before', $id); Event::fire('tax.tax_rate.update.before', $id);
$taxRate = $this->taxRate->update(request()->input(), $id); $taxRate = $this->taxRateRepository->update(request()->input(), $id);
Event::fire('tax.tax_rate.update.after', $taxRate); Event::fire('tax.tax_rate.update.after', $taxRate);
@ -156,12 +154,12 @@ class TaxRateController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$taxRate = $this->taxRate->findOrFail($id); $taxRate = $this->taxRateRepository->findOrFail($id);
try { try {
Event::fire('tax.tax_rate.delete.before', $id); Event::fire('tax.tax_rate.delete.before', $id);
$this->taxRate->delete($id); $this->taxRateRepository->delete($id);
Event::fire('tax.tax_rate.delete.after', $id); Event::fire('tax.tax_rate.delete.after', $id);
@ -184,7 +182,7 @@ class TaxRateController extends Controller
$valid_extension = ['xlsx', 'csv', 'xls']; $valid_extension = ['xlsx', 'csv', 'xls'];
if (!in_array(request()->file('file')->getClientOriginalExtension(), $valid_extension)) { if (! in_array(request()->file('file')->getClientOriginalExtension(), $valid_extension)) {
session()->flash('error', trans('admin::app.export.upload-error')); session()->flash('error', trans('admin::app.export.upload-error'));
} else { } else {
try { try {
@ -226,6 +224,7 @@ class TaxRateController extends Controller
foreach ($filtered as $position => $identifier) { foreach ($filtered as $position => $identifier) {
$message[] = trans('admin::app.export.duplicate-error', ['identifier' => $identifier, 'position' => $position]); $message[] = trans('admin::app.export.duplicate-error', ['identifier' => $identifier, 'position' => $position]);
} }
$finalMsg = implode(" ", $message); $finalMsg = implode(" ", $message);
session()->flash('error', $finalMsg); session()->flash('error', $finalMsg);
@ -260,7 +259,7 @@ class TaxRateController extends Controller
session()->flash('error', $finalMsg); session()->flash('error', $finalMsg);
} else { } else {
$taxRate = $this->taxRate->get()->toArray(); $taxRate = $this->taxRateRepository->get()->toArray();
foreach ($taxRate as $rate) { foreach ($taxRate as $rate) {
$rateIdentifier[$rate['id']] = $rate['identifier']; $rateIdentifier[$rate['id']] = $rate['identifier'];
@ -276,12 +275,12 @@ class TaxRateController extends Controller
if (isset($rateIdentifier)) { if (isset($rateIdentifier)) {
$id = array_search($uploadData['identifier'], $rateIdentifier); $id = array_search($uploadData['identifier'], $rateIdentifier);
if ($id) { if ($id) {
$this->taxRate->update($uploadData, $id); $this->taxRateRepository->update($uploadData, $id);
} else { } else {
$this->taxRate->create($uploadData); $this->taxRateRepository->create($uploadData);
} }
} else { } else {
$this->taxRate->create($uploadData); $this->taxRateRepository->create($uploadData);
} }
} }
} }

View File

@ -22,7 +22,8 @@ class TaxCategoryRepository extends Repository
return 'Webkul\Tax\Contracts\TaxCategory'; return 'Webkul\Tax\Contracts\TaxCategory';
} }
public function attachOrDetach($taxCategory, $data) { public function attachOrDetach($taxCategory, $data)
{
$taxRates = $taxCategory->tax_rates; $taxRates = $taxCategory->tax_rates;
$this->model->findOrFail($taxCategory->id)->tax_rates()->sync($data); $this->model->findOrFail($taxCategory->id)->tax_rates()->sync($data);

View File

@ -2,9 +2,6 @@
namespace Webkul\User\Http\Controllers; namespace Webkul\User\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Webkul\User\Http\Controllers\Controller;
use Hash; use Hash;
/** /**

View File

@ -2,8 +2,6 @@
namespace Webkul\User\Http\Controllers; namespace Webkul\User\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails; use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Illuminate\Support\Facades\Password; use Illuminate\Support\Facades\Password;
@ -15,7 +13,6 @@ use Illuminate\Support\Facades\Password;
*/ */
class ForgetPasswordController extends Controller class ForgetPasswordController extends Controller
{ {
use SendsPasswordResetEmails; use SendsPasswordResetEmails;
/** /**

View File

@ -2,8 +2,6 @@
namespace Webkul\User\Http\Controllers; namespace Webkul\User\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Foundation\Auth\ResetsPasswords; use Illuminate\Foundation\Auth\ResetsPasswords;
use Illuminate\Support\Facades\Password; use Illuminate\Support\Facades\Password;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
@ -18,7 +16,6 @@ use Illuminate\Support\Str;
*/ */
class ResetPasswordController extends Controller class ResetPasswordController extends Controller
{ {
use ResetsPasswords; use ResetsPasswords;
/** /**
@ -43,14 +40,13 @@ class ResetPasswordController extends Controller
* *
* If no token is present, display the link request form. * If no token is present, display the link request form.
* *
* @param \Illuminate\Http\Request $request
* @param string|null $token * @param string|null $token
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/ */
public function create(Request $request, $token = null) public function create($token = null)
{ {
return view($this->_config['view'])->with( return view($this->_config['view'])->with(
['token' => $token, 'email' => $request->email] ['token' => $token, 'email' => request('email')]
); );
} }
@ -113,5 +109,4 @@ class ResetPasswordController extends Controller
{ {
return Password::broker('admins'); return Password::broker('admins');
} }
} }

View File

@ -2,10 +2,8 @@
namespace Webkul\User\Http\Controllers; namespace Webkul\User\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\User\Repositories\RoleRepository as Role; use Webkul\User\Repositories\RoleRepository;
/** /**
* Admin user role controller * Admin user role controller
@ -27,19 +25,19 @@ class RoleController extends Controller
* *
* @var array * @var array
*/ */
protected $role; protected $roleRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\User\Repositories\RoleRepository $role * @param \Webkul\User\Repositories\RoleRepository $roleRepository
* @return void * @return void
*/ */
public function __construct(Role $role) public function __construct(RoleRepository $roleRepository)
{ {
$this->middleware('admin'); $this->middleware('admin');
$this->role = $role; $this->roleRepository = $roleRepository;
$this->_config = request('_config'); $this->_config = request('_config');
} }
@ -67,10 +65,9 @@ class RoleController extends Controller
/** /**
* Store a newly created resource in storage. * Store a newly created resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function store(Request $request) public function store()
{ {
$this->validate(request(), [ $this->validate(request(), [
'name' => 'required', 'name' => 'required',
@ -79,7 +76,7 @@ class RoleController extends Controller
Event::fire('user.role.create.before'); Event::fire('user.role.create.before');
$role = $this->role->create(request()->all()); $role = $this->roleRepository->create(request()->all());
Event::fire('user.role.create.after', $role); Event::fire('user.role.create.after', $role);
@ -96,7 +93,7 @@ class RoleController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$role = $this->role->findOrFail($id); $role = $this->roleRepository->findOrFail($id);
return view($this->_config['view'], compact('role')); return view($this->_config['view'], compact('role'));
} }
@ -104,11 +101,10 @@ class RoleController extends Controller
/** /**
* Update the specified resource in storage. * Update the specified resource in storage.
* *
* @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, $id) public function update($id)
{ {
$this->validate(request(), [ $this->validate(request(), [
'name' => 'required', 'name' => 'required',
@ -117,7 +113,7 @@ class RoleController extends Controller
Event::fire('user.role.update.before', $id); Event::fire('user.role.update.before', $id);
$role = $this->role->update(request()->all(), $id); $role = $this->roleRepository->update(request()->all(), $id);
Event::fire('user.role.update.after', $role); Event::fire('user.role.update.after', $role);
@ -134,17 +130,17 @@ class RoleController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$role = $this->role->findOrFail($id); $role = $this->roleRepository->findOrFail($id);
if ($role->admins->count() >= 1) { if ($role->admins->count() >= 1) {
session()->flash('error', trans('admin::app.response.being-used', ['name' => 'Role', 'source' => 'Admin User'])); session()->flash('error', trans('admin::app.response.being-used', ['name' => 'Role', 'source' => 'Admin User']));
} else if($this->role->count() == 1) { } else if($this->roleRepository->count() == 1) {
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Role'])); session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Role']));
} else { } else {
try { try {
Event::fire('user.role.delete.before', $id); Event::fire('user.role.delete.before', $id);
$this->role->delete($id); $this->roleRepository->delete($id);
Event::fire('user.role.delete.after', $id); Event::fire('user.role.delete.after', $id);

View File

@ -2,8 +2,6 @@
namespace Webkul\User\Http\Controllers; namespace Webkul\User\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Auth; use Auth;
/** /**

View File

@ -2,11 +2,9 @@
namespace Webkul\User\Http\Controllers; namespace Webkul\User\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Event;
use Webkul\User\Repositories\AdminRepository as Admin; use Webkul\User\Repositories\AdminRepository;
use Webkul\User\Repositories\RoleRepository as Role; use Webkul\User\Repositories\RoleRepository;
use Webkul\User\Http\Requests\UserForm; use Webkul\User\Http\Requests\UserForm;
use Hash; use Hash;
@ -28,29 +26,32 @@ class UserController extends Controller
/** /**
* AdminRepository object * AdminRepository object
* *
* @var array * @var Object
*/ */
protected $admin; protected $adminRepository;
/** /**
* RoleRepository object * RoleRepository object
* *
* @var array * @var Object
*/ */
protected $role; protected $roleRepository;
/** /**
* Create a new controller instance. * Create a new controller instance.
* *
* @param \Webkul\User\Repositories\AdminRepository $admin * @param \Webkul\User\Repositories\AdminRepository $adminRepository
* @param \Webkul\User\Repositories\RoleRepository $role * @param \Webkul\User\Repositories\RoleRepository $roleRepository
* @return void * @return void
*/ */
public function __construct(Admin $admin, Role $role) public function __construct(
AdminRepository $adminRepository,
RoleRepository $roleRepository
)
{ {
$this->admin = $admin; $this->adminRepository = $adminRepository;
$this->role = $role; $this->roleRepository = $roleRepository;
$this->_config = request('_config'); $this->_config = request('_config');
@ -74,7 +75,7 @@ class UserController extends Controller
*/ */
public function create() public function create()
{ {
$roles = $this->role->all(); $roles = $this->roleRepository->all();
return view($this->_config['view'], compact('roles')); return view($this->_config['view'], compact('roles'));
} }
@ -94,7 +95,7 @@ class UserController extends Controller
Event::fire('user.admin.create.before'); Event::fire('user.admin.create.before');
$admin = $this->admin->create($data); $admin = $this->adminRepository->create($data);
Event::fire('user.admin.delete.after', $admin); Event::fire('user.admin.delete.after', $admin);
@ -111,9 +112,9 @@ class UserController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$user = $this->admin->findOrFail($id); $user = $this->adminRepository->findOrFail($id);
$roles = $this->role->all(); $roles = $this->roleRepository->all();
return view($this->_config['view'], compact('user', 'roles')); return view($this->_config['view'], compact('user', 'roles'));
} }
@ -142,7 +143,7 @@ class UserController extends Controller
Event::fire('user.admin.update.before', $id); Event::fire('user.admin.update.before', $id);
$admin = $this->admin->update($data, $id); $admin = $this->adminRepository->update($data, $id);
Event::fire('user.admin.update.after', $admin); Event::fire('user.admin.update.after', $admin);
@ -159,9 +160,9 @@ class UserController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
$user = $this->admin->findOrFail($id); $user = $this->adminRepository->findOrFail($id);
if ($this->admin->count() == 1) { if ($this->adminRepository->count() == 1) {
session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Admin'])); session()->flash('error', trans('admin::app.response.last-delete-error', ['name' => 'Admin']));
} else { } else {
Event::fire('user.admin.delete.before', $id); Event::fire('user.admin.delete.before', $id);
@ -171,7 +172,7 @@ class UserController extends Controller
} }
try { try {
$this->admin->delete($id); $this->adminRepository->delete($id);
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Admin'])); session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Admin']));
@ -196,14 +197,14 @@ class UserController extends Controller
$password = request()->input('password'); $password = request()->input('password');
if (Hash::check($password, auth()->guard('admin')->user()->password)) { if (Hash::check($password, auth()->guard('admin')->user()->password)) {
if ($this->admin->count() == 1) { if ($this->adminRepository->count() == 1) {
session()->flash('error', trans('admin::app.users.users.delete-last')); session()->flash('error', trans('admin::app.users.users.delete-last'));
} else { } else {
$id = auth()->guard('admin')->user()->id; $id = auth()->guard('admin')->user()->id;
Event::fire('user.admin.delete.before', $id); Event::fire('user.admin.delete.before', $id);
$this->admin->delete($id); $this->adminRepository->delete($id);
Event::fire('user.admin.delete.after', $id); Event::fire('user.admin.delete.after', $id);

3
public/phpinfo.php Normal file
View File

@ -0,0 +1,3 @@
<?php
phpinfo();
?>