issue #749 fixed again & reduce query

This commit is contained in:
rahul shukla 2019-04-09 14:05:57 +05:30
parent 8e7c3c7f22
commit 09aa34b36a
4 changed files with 43 additions and 44 deletions

View File

@ -107,15 +107,15 @@ class AddressController extends Controller
*/
public function edit($id)
{
$addresses = $this->customer->addresses;
$address = $this->address->findOneWhere([
'id' => $id,
'customer_id' => auth()->guard('customer')->user()->id
]);
foreach ($addresses as $address) {
if ($id == $address->id) {
return view($this->_config['view'], compact('address'));
}
}
if (! $address)
abort(404);
return redirect()->route('customer.address.index');
return view($this->_config['view'], compact('address'));
}
/**
@ -142,7 +142,7 @@ class AddressController extends Controller
$addresses = $this->customer->addresses;
foreach($addresses as $address) {
if($id == $address->id) {
if ($id == $address->id) {
session()->flash('success', trans('shop::app.customer.account.address.edit.success'));
$this->address->update($data, $id);
@ -185,17 +185,17 @@ class AddressController extends Controller
*/
public function destroy($id)
{
$addresses = $this->customer->addresses;
$address = $this->address->findOneWhere([
'id' => $id,
'customer_id' => auth()->guard('customer')->user()->id
]);
foreach($addresses as $address) {
if($id == $address->id) {
$this->address->delete($id);
if (! $address)
abort(404);
session()->flash('success', trans('shop::app.customer.account.address.delete.success'));
$this->address->delete($id);
return redirect()->route('customer.address.index');
}
}
session()->flash('success', trans('shop::app.customer.account.address.delete.success'));
return redirect()->route('customer.address.index');
}

View File

@ -1,6 +1,6 @@
<?php
namespace Webkul\Customer\Http\Controllers;
namespace Webkul\Shop\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
@ -42,8 +42,8 @@ class OrderController extends Controller
/**
* Create a new controller instance.
*
* @param \Webkul\Order\Repositories\OrderRepository $order
* @param \Webkul\Order\Repositories\InvoiceRepository $invoice
* @param Webkul\Order\Repositories\OrderRepository $order
* @param Webkul\Order\Repositories\InvoiceRepository $invoice
* @return void
*/
public function __construct(
@ -65,9 +65,10 @@ class OrderController extends Controller
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$orders = auth()->guard('customer')->user()->all_orders;
public function index() {
$orders = $this->order->findWhere([
'customer_id' => auth()->guard('customer')->user()->id
]);
return view($this->_config['view'], compact('orders'));
}
@ -80,15 +81,15 @@ class OrderController extends Controller
*/
public function view($id)
{
$orders = auth()->guard('customer')->user()->all_orders;
$order = $this->order->findOneWhere([
'customer_id' => auth()->guard('customer')->user()->id,
'id' => $id
]);
if(isset($orders) && count($orders)) {
$order = $orders->first();
if (! $order)
abort(404);
return view($this->_config['view'], compact('order'));
} else {
return redirect()->route( 'customer.orders.index');
}
return view($this->_config['view'], compact('order'));
}
/**
@ -99,10 +100,10 @@ class OrderController extends Controller
*/
public function print($id)
{
$invoice = $this->invoice->find($id);
$invoice = $this->invoice->findOrFail($id);
$pdf = PDF::loadView('shop::customers.account.orders.pdf', compact('invoice'))->setPaper('a4');
return $pdf->download('invoice-' . $invoice->created_at->format('d-m-Y') . '.pdf');
}
}
}

View File

@ -119,19 +119,17 @@ class ReviewController extends Controller
*/
public function destroy($id)
{
$reviews = auth()->guard('customer')->user()->all_reviews;
$reviews = $this->productReview->findOneWhere([
'id' => $id,
'customer_id' => auth()->guard('customer')->user()->id
]);
if ($reviews->count() > 0) {
foreach ($reviews as $review) {
if ($review->id == $id) {
$this->productReview->delete($id);
if (! $reviews)
abort(404);
session()->flash('success', trans('shop::app.response.delete-success', ['name' => 'Product Review']));
$this->productReview->delete($id);
return redirect()->route($this->_config['redirect']);
}
}
}
session()->flash('success', trans('shop::app.response.delete-success', ['name' => 'Product Review']));
return redirect()->route($this->_config['redirect']);
}

View File

@ -242,17 +242,17 @@ Route::group(['middleware' => ['web', 'theme', 'locale', 'currency']], function
/* Orders route */
//Customer orders(listing)
Route::get('orders', 'Webkul\Customer\Http\Controllers\OrderController@index')->defaults('_config', [
Route::get('orders', 'Webkul\Shop\Http\Controllers\OrderController@index')->defaults('_config', [
'view' => 'shop::customers.account.orders.index'
])->name('customer.orders.index');
//Customer orders view summary and status
Route::get('orders/view/{id}', 'Webkul\Customer\Http\Controllers\OrderController@view')->defaults('_config', [
Route::get('orders/view/{id}', 'Webkul\Shop\Http\Controllers\OrderController@view')->defaults('_config', [
'view' => 'shop::customers.account.orders.view'
])->name('customer.orders.view');
//Prints invoice
Route::get('orders/print/{id}', 'Webkul\Customer\Http\Controllers\OrderController@print')->defaults('_config', [
Route::get('orders/print/{id}', 'Webkul\Shop\Http\Controllers\OrderController@print')->defaults('_config', [
'view' => 'shop::customers.account.orders.print'
])->name('customer.orders.print');