From 4dd8cbfdb313a72e9e84c55c4513f3518f6d1969 Mon Sep 17 00:00:00 2001 From: misbahsurur Date: Tue, 10 Dec 2024 12:40:33 +0700 Subject: [PATCH] Likerts --- .../Controllers/Admin/LikertController.php | 137 ++++++++++++++++ app/Http/Requests/StoreAddictionRequest.php | 30 ---- app/Http/Requests/UpdateAddictionRequest.php | 30 ---- app/Models/Likert.php | 13 ++ app/Policies/AddictionPolicy.php | 94 ----------- database/factories/LikertFactory.php | 23 +++ ...2024_12_10_121815_create_likerts_table.php | 33 ++++ database/seeders/LikertSeeder.php | 19 +++ .../views/admin/addictions/edit.blade.php | 2 +- .../views/admin/likerts/create.blade.php | 68 ++++++++ .../views/admin/likerts/detail.blade.php | 58 +++++++ resources/views/admin/likerts/edit.blade.php | 68 ++++++++ resources/views/admin/likerts/index.blade.php | 150 ++++++++++++++++++ resources/views/admin/users/detail.blade.php | 2 +- resources/views/admin/users/edit.blade.php | 2 +- resources/views/layouts/sidebar.blade.php | 5 + routes/web.php | 3 + 17 files changed, 580 insertions(+), 157 deletions(-) create mode 100644 app/Http/Controllers/Admin/LikertController.php delete mode 100644 app/Http/Requests/StoreAddictionRequest.php delete mode 100644 app/Http/Requests/UpdateAddictionRequest.php create mode 100644 app/Models/Likert.php delete mode 100644 app/Policies/AddictionPolicy.php create mode 100644 database/factories/LikertFactory.php create mode 100644 database/migrations/2024_12_10_121815_create_likerts_table.php create mode 100644 database/seeders/LikertSeeder.php create mode 100644 resources/views/admin/likerts/create.blade.php create mode 100644 resources/views/admin/likerts/detail.blade.php create mode 100644 resources/views/admin/likerts/edit.blade.php create mode 100644 resources/views/admin/likerts/index.blade.php diff --git a/app/Http/Controllers/Admin/LikertController.php b/app/Http/Controllers/Admin/LikertController.php new file mode 100644 index 0000000..951b2a4 --- /dev/null +++ b/app/Http/Controllers/Admin/LikertController.php @@ -0,0 +1,137 @@ +middleware('role:admin'); + } + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + $likerts = Likert::all(); + return view('admin.likerts.index', compact('likerts')); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + return view('admin.likerts.create'); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + $validator = Validator::make($request->all(), [ + 'name' => 'required', + 'score' => 'required|numeric', + ]); + + if ($validator->fails()) { + return redirect()->back()->withErrors($validator)->withInput(); + } + + $likert = Likert::create([ + 'name' => $request->name, + 'score' => $request->score, + ]); + + if ($likert) { + return redirect()->route('admin.likerts.index')->with('success', 'Likert created successfully.'); + } else { + return redirect()->back()->with('error', 'Failed to create likert.'); + } + } + + /** + * Display the specified resource. + * + * @param \App\Models\Likert $likert + * @return \Illuminate\Http\Response + */ + public function show(Likert $likert) + { + return view('admin.likerts.detail', compact('likert')); + } + + /** + * Show the form for editing the specified resource. + * + * @param \App\Models\Likert $likert + * @return \Illuminate\Http\Response + */ + public function edit(Likert $likert) + { + return view('admin.likerts.edit', compact('likert')); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \App\Models\Likert $likert + * @return \Illuminate\Http\Response + */ + public function update(Request $request, Likert $likert) + { + $validator = Validator::make($request->all(), [ + 'name' => 'required', + 'score' => 'required|numeric', + ]); + + if ($validator->fails()) { + return redirect()->back()->withErrors($validator)->withInput(); + } + + $likert->update([ + 'name' => $request->name, + 'score' => $request->score, + ]); + + if ($likert) { + return redirect()->route('admin.likerts.index')->with('success', 'Likert updated successfully.'); + } else { + return redirect()->back()->with('error', 'Failed to create updated.'); + } + } + + /** + * Remove the specified resource from storage. + * + * @param \App\Models\Likert $likert + * @return \Illuminate\Http\Response + */ + public function destroy(Likert $likert) + { + if (!$likert->delete()) { + return response()->json([ + 'status' => false, + 'message' => 'Data has been used on another page' + ], 400); + } + return response()->json([ + 'status' => true, + 'message' => 'Success delete data' + ], 200); + } +} diff --git a/app/Http/Requests/StoreAddictionRequest.php b/app/Http/Requests/StoreAddictionRequest.php deleted file mode 100644 index 9c6e0af..0000000 --- a/app/Http/Requests/StoreAddictionRequest.php +++ /dev/null @@ -1,30 +0,0 @@ - - */ - public function rules() - { - return [ - // - ]; - } -} diff --git a/app/Http/Requests/UpdateAddictionRequest.php b/app/Http/Requests/UpdateAddictionRequest.php deleted file mode 100644 index 3ff291a..0000000 --- a/app/Http/Requests/UpdateAddictionRequest.php +++ /dev/null @@ -1,30 +0,0 @@ - - */ - public function rules() - { - return [ - // - ]; - } -} diff --git a/app/Models/Likert.php b/app/Models/Likert.php new file mode 100644 index 0000000..4175735 --- /dev/null +++ b/app/Models/Likert.php @@ -0,0 +1,13 @@ + + */ +class LikertFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition() + { + return [ + // + ]; + } +} diff --git a/database/migrations/2024_12_10_121815_create_likerts_table.php b/database/migrations/2024_12_10_121815_create_likerts_table.php new file mode 100644 index 0000000..19f4c41 --- /dev/null +++ b/database/migrations/2024_12_10_121815_create_likerts_table.php @@ -0,0 +1,33 @@ +id(); + $table->string('name'); + $table->integer('score'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('likerts'); + } +}; diff --git a/database/seeders/LikertSeeder.php b/database/seeders/LikertSeeder.php new file mode 100644 index 0000000..434c947 --- /dev/null +++ b/database/seeders/LikertSeeder.php @@ -0,0 +1,19 @@ +Edit Addiction
-
+ @csrf @method('PUT')
diff --git a/resources/views/admin/likerts/create.blade.php b/resources/views/admin/likerts/create.blade.php new file mode 100644 index 0000000..cce807c --- /dev/null +++ b/resources/views/admin/likerts/create.blade.php @@ -0,0 +1,68 @@ +@extends('layouts.master') +@section('title', 'Create Likert') +@section('content') +
+
+
+
+
+

Likerts

+ +
+ +
+ +
+
+
+
+
+
+
+

Create Likert

+
+
+ + @csrf + @method('POST') +
+ + + @error('name') + + {{ $message }} + + @enderror +
+
+ + + @error('score') + + {{ $message }} + + @enderror +
+
+
+ + +
+
+ + +
+
+
+
+
+
+@endsection diff --git a/resources/views/admin/likerts/detail.blade.php b/resources/views/admin/likerts/detail.blade.php new file mode 100644 index 0000000..0b25f60 --- /dev/null +++ b/resources/views/admin/likerts/detail.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.master') +@section('title', 'Detail Likert') +@section('content') +
+
+
+
+
+

Likerts

+ +
+ +
+ +
+
+
+
+
+
+
+

Detail Likert

+
+
+
+ @csrf + @method('PUT') +
+ + + @error('name') + + {{ $message }} + + @enderror +
+
+ + + @error('score') + + {{ $message }} + + @enderror +
+
+ +
+
+
+
+
+
+@endsection diff --git a/resources/views/admin/likerts/edit.blade.php b/resources/views/admin/likerts/edit.blade.php new file mode 100644 index 0000000..5b8d517 --- /dev/null +++ b/resources/views/admin/likerts/edit.blade.php @@ -0,0 +1,68 @@ +@extends('layouts.master') +@section('title', 'Edit Likert') +@section('content') +
+
+
+
+
+

Likerts

+ +
+ +
+ +
+
+
+
+
+
+
+

Edit Likert

+
+
+
+ @csrf + @method('PUT') +
+ + + @error('name') + + {{ $message }} + + @enderror +
+
+ + + @error('score') + + {{ $message }} + + @enderror +
+
+
+ + +
+
+
+ +
+
+
+
+
+
+@endsection diff --git a/resources/views/admin/likerts/index.blade.php b/resources/views/admin/likerts/index.blade.php new file mode 100644 index 0000000..e30a8c1 --- /dev/null +++ b/resources/views/admin/likerts/index.blade.php @@ -0,0 +1,150 @@ +@extends('layouts.master') +@section('title', 'Likert Datas') +@section('styles') + + + + + +@endsection +@section('content') +
+
+
+
+
+

Likert

+ +
+ +
+ +
+
+
+
+
+
+
+

Likert Data

+
+
+ Create Likert + + + + + + + + + + + @foreach ($likerts as $key => $likert) + + + + + + + @endforeach + +
#NameScore#
{{ $loop->iteration }}{{ $likert->name }}{{ $likert->score }} + +
+
+
+
+
+
+
+@endsection +@section('scripts') + + + + + + + + +@endsection diff --git a/resources/views/admin/users/detail.blade.php b/resources/views/admin/users/detail.blade.php index 427761f..4808940 100644 --- a/resources/views/admin/users/detail.blade.php +++ b/resources/views/admin/users/detail.blade.php @@ -26,7 +26,7 @@

Detail User

-
+ @csrf @method('PUT')
diff --git a/resources/views/admin/users/edit.blade.php b/resources/views/admin/users/edit.blade.php index 766a63c..e58fee1 100644 --- a/resources/views/admin/users/edit.blade.php +++ b/resources/views/admin/users/edit.blade.php @@ -26,7 +26,7 @@

Edit User

- + @csrf @method('PUT')
diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index c337445..7e6c775 100644 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -31,6 +31,11 @@ Addiction +
  • + + Likert + +
  • diff --git a/routes/web.php b/routes/web.php index 6fcfb3f..c5022ae 100644 --- a/routes/web.php +++ b/routes/web.php @@ -32,6 +32,9 @@ // Addcition Route::resource('addictions', App\Http\Controllers\Admin\AddictionController::class); + + // Addcition + Route::resource('likerts', App\Http\Controllers\Admin\LikertController::class); }); Route::middleware('role:user')->name('user.')->group(function () {