From e3e80dde1ecc4b162ca143e69a70c6af49b7055c Mon Sep 17 00:00:00 2001 From: rahul shukla Date: Fri, 14 Dec 2018 17:36:49 +0530 Subject: [PATCH] #305 & #298 --- packages/Webkul/Admin/src/Http/routes.php | 13 +------------ .../Resources/views/layouts/nav-top.blade.php | 2 +- .../Webkul/Customer/src/Models/Customer.php | 8 ++++++++ .../src/Http/Controllers/ReviewController.php | 19 +++++++++++++++++++ packages/Webkul/Shop/src/Http/routes.php | 7 ++++++- .../Webkul/Shop/src/Resources/lang/en/app.php | 1 + .../customers/account/reviews/index.blade.php | 7 +++++++ .../account/wishlist/wishlist.blade.php | 2 +- 8 files changed, 44 insertions(+), 15 deletions(-) diff --git a/packages/Webkul/Admin/src/Http/routes.php b/packages/Webkul/Admin/src/Http/routes.php index a878346b3..03e7f26fa 100644 --- a/packages/Webkul/Admin/src/Http/routes.php +++ b/packages/Webkul/Admin/src/Http/routes.php @@ -68,7 +68,7 @@ Route::group(['middleware' => ['web']], function () { 'view' => 'admin::customers.review.index' ])->name('admin.customer.review.index'); - + // Configuration routes Route::get('configuration/{slug?}/{slug2?}', 'Webkul\Admin\Http\Controllers\ConfigurationController@index')->defaults('_config', [ 'view' => 'admin::configuration.index' ])->name('admin.configuration.index'); @@ -77,17 +77,6 @@ Route::group(['middleware' => ['web']], function () { 'redirect' => 'admin.configuration.index' ])->name('admin.configuration.index.store'); - //Shipping Methods Routes - // Route::get('configuration/sales/shipping-methods', 'Webkul\Admin\Http\Controllers\ConfigurationController@index')->defaults('_config', [ - // 'view' => 'admin::configuration.sales.shipping-method' - // ])->name('admin.configuration.sales.shipping_methods'); - - - // Route::post('configuration/sales/shipping-methods', 'Webkul\Admin\Http\Controllers\ConfigurationController@store')->defaults('_config', [ - // 'redirect' => 'admin.configuration.sales.shipping_methods' - // ])->name('admin.configuration.sales.shipping_methods.store'); - - // Reviews Routes Route::get('reviews/edit/{id}', 'Webkul\Product\Http\Controllers\ReviewController@edit')->defaults('_config',[ 'view' => 'admin::customers.review.edit' diff --git a/packages/Webkul/Admin/src/Resources/views/layouts/nav-top.blade.php b/packages/Webkul/Admin/src/Resources/views/layouts/nav-top.blade.php index 8f7119fb5..16f6dfd27 100644 --- a/packages/Webkul/Admin/src/Resources/views/layouts/nav-top.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/layouts/nav-top.blade.php @@ -20,7 +20,7 @@ - Administrator + {{ auth()->guard('admin')->user()->role['name'] }} diff --git a/packages/Webkul/Customer/src/Models/Customer.php b/packages/Webkul/Customer/src/Models/Customer.php index 2790409ee..1f4c2c0ba 100644 --- a/packages/Webkul/Customer/src/Models/Customer.php +++ b/packages/Webkul/Customer/src/Models/Customer.php @@ -8,6 +8,7 @@ use Webkul\Customer\Models\CustomerGroup; use Webkul\Checkout\Models\Cart; use Webkul\Sales\Models\Order; use Webkul\Customer\Models\Wishlist; +use Webkul\Product\Models\ProductReview; use Webkul\Customer\Notifications\CustomerResetPassword; class Customer extends Authenticatable @@ -89,4 +90,11 @@ class Customer extends Authenticatable public function active_carts() { return $this->hasMany(Cart::class, 'customer_id')->where('is_active', 1); } + + /** + * get all reviews of a customer + */ + public function all_reviews() { + return $this->hasMany(ProductReview::class, 'customer_id'); + } } diff --git a/packages/Webkul/Shop/src/Http/Controllers/ReviewController.php b/packages/Webkul/Shop/src/Http/Controllers/ReviewController.php index 8a731ad10..dd3e48b22 100644 --- a/packages/Webkul/Shop/src/Http/Controllers/ReviewController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/ReviewController.php @@ -123,4 +123,23 @@ class ReviewController extends Controller return redirect()->back(); } + + /** + * Function to delete all reviews + * + * @return Mixed Response & Boolean + */ + public function deleteAll() { + $reviews = auth()->guard('customer')->user()->all_reviews; + + if($reviews->count() > 0) { + foreach($reviews as $review) { + $this->productReview->delete($review->id); + } + } + + session()->flash('success', trans('shop::app.reviews.delete-all')); + + return redirect()->back(); + } } diff --git a/packages/Webkul/Shop/src/Http/routes.php b/packages/Webkul/Shop/src/Http/routes.php index 7ba04e971..3454c6001 100644 --- a/packages/Webkul/Shop/src/Http/routes.php +++ b/packages/Webkul/Shop/src/Http/routes.php @@ -255,7 +255,7 @@ Route::group(['middleware' => ['web', 'theme', 'locale', 'currency']], function ])->name('customer.orders.print'); /* Reviews route */ - //Customer reviews(listing) only approved + //Customer reviews Route::get('reviews', 'Webkul\Customer\Http\Controllers\CustomerController@reviews')->defaults('_config', [ 'view' => 'shop::customers.account.reviews.index' ])->name('customer.reviews.index'); @@ -264,6 +264,11 @@ Route::group(['middleware' => ['web', 'theme', 'locale', 'currency']], function Route::get('reviews/delete/{id}', 'Webkul\Shop\Http\Controllers\ReviewController@destroy')->defaults('_config', [ 'redirect' => 'customer.reviews.index' ])->name('customer.review.delete'); + + //Customer all review delete + Route::get('reviews/all-delete', 'Webkul\Shop\Http\Controllers\ReviewController@deleteAll')->defaults('_config', [ + 'redirect' => 'customer.reviews.index' + ])->name('customer.review.deleteall'); }); }); }); diff --git a/packages/Webkul/Shop/src/Resources/lang/en/app.php b/packages/Webkul/Shop/src/Resources/lang/en/app.php index 54077affc..91834d73c 100644 --- a/packages/Webkul/Shop/src/Resources/lang/en/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/en/app.php @@ -64,6 +64,7 @@ return [ 'product-review-page-title' => 'Product Review', 'rating-reviews' => 'Rating & Reviews', 'submit' => 'SUBMIT', + 'delete-all' => 'All Reviews has deleted Succesfully' ], 'customer' => [ diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php index 04f7900af..e71af45f3 100644 --- a/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php @@ -16,6 +16,13 @@ {{ __('shop::app.customer.account.review.index.title') }} + + @if(count($reviews) > 1) +
+ {{ __('shop::app.wishlist.deleteall') }} +
+ @endif +
diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/wishlist/wishlist.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/wishlist/wishlist.blade.php index 2751a66ce..6304943d8 100644 --- a/packages/Webkul/Shop/src/Resources/views/customers/account/wishlist/wishlist.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/customers/account/wishlist/wishlist.blade.php @@ -14,7 +14,7 @@ @if(count($items))
- {{ __('shop::app.wishlist.deleteall') }} + {{ __('shop::app.wishlist.deleteall') }}
@endif