diff --git a/app/Http/Controllers/ReviewController.php b/app/Http/Controllers/ReviewController.php new file mode 100644 index 0000000..2221bee --- /dev/null +++ b/app/Http/Controllers/ReviewController.php @@ -0,0 +1,21 @@ +getList([]); + + // dd($list); + + return view('account.reviews',[ + 'list' => $list + ]); + } +} diff --git a/app/Repositories/Crm/SurveyFeedbackRepository.php b/app/Repositories/Crm/SurveyFeedbackRepository.php new file mode 100644 index 0000000..1e669b1 --- /dev/null +++ b/app/Repositories/Crm/SurveyFeedbackRepository.php @@ -0,0 +1,57 @@ +select('survey_feedback.*') + ->leftJoin('customers', 'survey_feedback.customer_id', 'customers.id') + ->leftJoin('survey', 'survey_feedback.survey_id', 'survey.id') + ->when(@$params["filter"]['start'], function($query) use ($params){ + $query->whereDate("survey_feedback.time", '>=', $params['filter']['start']); + }) + ->when(@$params["filter"]['end'], function($query) use ($params){ + $query->whereDate("survey_feedback.time", '<=', $params['filter']['end']); + }) + ->when(@$params["filter"]['survey_id'], function($query) use ($params){ + $query->where("survey_id", $params['filter']['survey_id']); + }) + ->when(@$params["filter"]['status'], function($query) use ($params){ + if($params['filter']['status'] == 'BELUM DIISI') { + $query->whereNull("survey_feedback.time"); + } + + if($params['filter']['status'] == 'SUDAH DIISI') { + $query->whereNotNull("survey_feedback.time"); + } + }) + ->when(@$params["search"], function($query) use ($params){ + $query->where(function($query) use ($params) { + $query->where("survey.name","ilike","%". $params["search"] . "%") + ->orWhere("customers.name","ilike","%". $params["search"] . "%"); + }); + }) + ->where("survey_feedback.customer_id", auth()->user()->customer->id) + ->orderBy($sortColumn, $sortDir) + ->paginate($limit); + + return $results; + } +} \ No newline at end of file diff --git a/resources/views/account/reviews.blade.php b/resources/views/account/reviews.blade.php index a6b81af..1affa02 100644 --- a/resources/views/account/reviews.blade.php +++ b/resources/views/account/reviews.blade.php @@ -9,201 +9,67 @@

My reviews

-
+ {{--
-
+
--}} - -
- -
-
- - - - - - - - - +100 bonuses for a review -
-
-
- -
-
- -
- -
-
-
+100 bonuses - earned
-
- - - - - + + @foreach ($list as $key => $value) + +
+ - - - + {{--
+
+ + + + + + + + + +100 bonuses for a review +
--}} + @if (count($value->detail ?? []) == 0) +
+
+ +
+ @endif
-
- - - - - -
- -
-
- - - - - - - - - +86 bonuses for a review -
-
-
- -
-
- -
- -
-
- -
-
- -
- -
-
-
- - - - - -
- - - -
-
- -
- -
-
- -
-
- -
- -
-
- -
-
+ @endforeach + + + + @if ($list->hasPages()) + {{ $list->links() }} + @endif + - --}}
@endsection diff --git a/routes/web.php b/routes/web.php index 7b5cd3b..a11e415 100644 --- a/routes/web.php +++ b/routes/web.php @@ -20,6 +20,7 @@ use App\Http\Controllers\HelpController; use App\Http\Controllers\VoucherEventController; use App\Http\Controllers\ContactController; use App\Http\Controllers\WishController; +use App\Http\Controllers\ReviewController; use Illuminate\Support\Facades\Route; @@ -146,6 +147,10 @@ Route::middleware(['auth'])->prefix('/account/wishlist')->group(function () { }); +Route::middleware(['auth'])->prefix('/account/reviews')->group(function () { + Route::get('/', [ReviewController::class, 'index'])->name('reviews'); +}); + Route::get('/terms-and-conditions', [TncController::class, 'index'])->name('terms-and-conditions'); Route::get('/help', [HelpController::class, 'index'])->name('help'); Route::get('/contact', [ContactController::class, 'index'])->name('contact');