diff --git a/packages/Webkul/Shop/src/Http/Controllers/OrderController.php b/packages/Webkul/Shop/src/Http/Controllers/OrderController.php index b0c441568..fbbda2670 100644 --- a/packages/Webkul/Shop/src/Http/Controllers/OrderController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/OrderController.php @@ -87,4 +87,23 @@ class OrderController extends Controller return $pdf->download('invoice-' . $invoice->created_at->format('d-m-Y') . '.pdf'); } + + /** + * Cancel action for the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function cancel($id) + { + $result = $this->orderRepository->cancel($id); + + if ($result) { + session()->flash('success', trans('admin::app.response.cancel-success', ['name' => 'Order'])); + } else { + session()->flash('error', trans('admin::app.response.cancel-error', ['name' => 'Order'])); + } + + return redirect()->back(); + } } \ No newline at end of file diff --git a/packages/Webkul/Shop/src/Http/routes.php b/packages/Webkul/Shop/src/Http/routes.php index e43ced9dc..b0e4e12e5 100755 --- a/packages/Webkul/Shop/src/Http/routes.php +++ b/packages/Webkul/Shop/src/Http/routes.php @@ -275,6 +275,8 @@ Route::group(['middleware' => ['web', 'locale', 'theme', 'currency']], function 'view' => 'shop::customers.account.orders.print' ])->name('customer.orders.print'); + Route::get('/orders/cancel/{id}', 'Webkul\Shop\Http\Controllers\OrderController@cancel')->name('customer.orders.cancel'); + /* Reviews route */ //Customer reviews Route::get('reviews', 'Webkul\Customer\Http\Controllers\CustomerController@reviews')->defaults('_config', [ diff --git a/packages/Webkul/Shop/src/Resources/lang/en/app.php b/packages/Webkul/Shop/src/Resources/lang/en/app.php index 80f4cba6f..249c7e17f 100755 --- a/packages/Webkul/Shop/src/Resources/lang/en/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/en/app.php @@ -313,6 +313,7 @@ return [ 'individual-refund' => 'Refund #:refund_id', 'adjustment-refund' => 'Adjustment Refund', 'adjustment-fee' => 'Adjustment Fee', + 'cancel-btn-title' => 'Cancel', ] ], diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/orders/view.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/orders/view.blade.php index ca051fac3..490a58fd9 100755 --- a/packages/Webkul/Shop/src/Resources/views/customers/account/orders/view.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/customers/account/orders/view.blade.php @@ -13,10 +13,18 @@
+ {{ __('shop::app.customer.account.order.view.page-tile', ['order_id' => $order->increment_id]) }} + + + @if ($order->canCancel()) + + {{ __('shop::app.customer.account.order.view.cancel-btn-title') }} + + @endif
{!! view_render_event('bagisto.shop.customers.account.orders.view.before', ['order' => $order]) !!}