first upload all files
This commit is contained in:
84
Modules/Review/Http/Controllers/Admin/ReviewController.php
Normal file
84
Modules/Review/Http/Controllers/Admin/ReviewController.php
Normal file
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Review\Http\Controllers\Admin;
|
||||
|
||||
use Modules\Review\Entities\Review;
|
||||
use Modules\Admin\Traits\HasCrudActions;
|
||||
use Modules\Admin\Ui\Facades\TabManager;
|
||||
use Modules\Review\Http\Requests\UpdateReviewRequest;
|
||||
|
||||
class ReviewController
|
||||
{
|
||||
use HasCrudActions;
|
||||
|
||||
/**
|
||||
* Model for the resource.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $model = Review::class;
|
||||
|
||||
/**
|
||||
* Label of the resource.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $label = 'review::reviews.review';
|
||||
|
||||
/**
|
||||
* View path of the resource.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $viewPath = 'review::admin.reviews';
|
||||
|
||||
/**
|
||||
* Form requests for the resource.
|
||||
*
|
||||
* @var array|string
|
||||
*/
|
||||
protected $validation = UpdateReviewRequest::class;
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$review = Review::withoutGlobalScope('approved')->findOrFail($id);
|
||||
|
||||
$tabs = TabManager::get('reviews');
|
||||
|
||||
return view('review::admin.reviews.edit', compact('review', 'tabs'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update($id)
|
||||
{
|
||||
$review = Review::withoutGlobalScope('approved')->findOrFail($id);
|
||||
|
||||
$review->update(request()->all());
|
||||
|
||||
return back()->withSuccess(trans('admin::messages.resource_saved', ['resource' => $this->getLabel()]));
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroy resources by given ids.
|
||||
*
|
||||
* @param string $ids
|
||||
* @return void
|
||||
*/
|
||||
public function destroy($ids)
|
||||
{
|
||||
Review::withoutGlobalScope('approved')
|
||||
->whereIn('id', explode(',', $ids))
|
||||
->delete();
|
||||
}
|
||||
}
|
||||
45
Modules/Review/Http/Controllers/ProductReviewController.php
Normal file
45
Modules/Review/Http/Controllers/ProductReviewController.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Review\Http\Controllers;
|
||||
|
||||
use Modules\Review\Entities\Review;
|
||||
use Modules\Product\Entities\Product;
|
||||
use Modules\Review\Http\Requests\StoreReviewRequest;
|
||||
|
||||
class ProductReviewController
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @param int $productId
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index($productId)
|
||||
{
|
||||
return Review::where('product_id', $productId)->latest()->paginate(4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param int $productId
|
||||
* @param \Modules\Review\Http\Requests\StoreReviewRequest $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store($productId, StoreReviewRequest $request)
|
||||
{
|
||||
if (! setting('reviews_enabled')) {
|
||||
return;
|
||||
}
|
||||
|
||||
return Product::findOrFail($productId)
|
||||
->reviews()
|
||||
->create([
|
||||
'reviewer_id' => auth()->id(),
|
||||
'rating' => $request->rating,
|
||||
'reviewer_name' => $request->reviewer_name,
|
||||
'comment' => $request->comment,
|
||||
'is_approved' => setting('auto_approve_reviews', 0),
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user