From 2b8352a09997111e3441de8303427f44a50e900a Mon Sep 17 00:00:00 2001 From: aleksandar kocev <aleks15kocev@gmail.com> Date: Sat, 17 Feb 2024 23:12:07 +0100 Subject: [PATCH 1/2] working on delete Product --- .../app/Http/Controllers/Admin/ProductController.php | 5 +++++ .../resources/views/products/all-products.blade.php | 2 +- AdminPanel-Marinov/routes/web.php | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/AdminPanel-Marinov/app/Http/Controllers/Admin/ProductController.php b/AdminPanel-Marinov/app/Http/Controllers/Admin/ProductController.php index 5f38354..bfa850c 100644 --- a/AdminPanel-Marinov/app/Http/Controllers/Admin/ProductController.php +++ b/AdminPanel-Marinov/app/Http/Controllers/Admin/ProductController.php @@ -169,4 +169,9 @@ class ProductController extends Controller $product->maintenances()->sync($request->input('maintenances', [])); return 'success'; } + public function destroy(string $id){ + $product = Product::findOrFail($id); + $product->delete(); + return redirect()->route('products.index')->with('message', "product deleted"); + } } diff --git a/AdminPanel-Marinov/resources/views/products/all-products.blade.php b/AdminPanel-Marinov/resources/views/products/all-products.blade.php index 78a1650..439df88 100644 --- a/AdminPanel-Marinov/resources/views/products/all-products.blade.php +++ b/AdminPanel-Marinov/resources/views/products/all-products.blade.php @@ -6,7 +6,7 @@ All Products </h2> - <x-nav-link :href="route('product.add')" class="bg-blue-400 rounded text-white hover:bg-blue-600"> + <x-nav-link :href="route('product.create')" class="bg-blue-400 rounded text-white hover:bg-blue-600"> {{ __('Add a Product') }} </x-nav-link> </div> diff --git a/AdminPanel-Marinov/routes/web.php b/AdminPanel-Marinov/routes/web.php index 90a4bef..2c05484 100644 --- a/AdminPanel-Marinov/routes/web.php +++ b/AdminPanel-Marinov/routes/web.php @@ -53,7 +53,7 @@ Route::prefix('admin')->middleware('auth')->group(function () { Route::post('/product/store', [ProductController::class, 'store'])->name('product.store'); Route::get('/product/edit/{id}', [ProductController::class, 'edit'])->name('product.edit'); Route::post('/product/update', [ProductController::class, 'update'])->name('product.update'); - Route::delete('/product/delete/{id}', [ProductController::class, 'deleteProduct'])->name('admin.product.delete'); + Route::delete('/product/delete/{id}', [ProductController::class, 'destroy'])->name('product.destroy'); // Maintenances routes Route::get('/maintenances', [MaintenanceController::class, 'index'])->name('maintenances.index'); -- GitLab From 2d8b38ed1abcf3b839279a26da8664f6f6735fad Mon Sep 17 00:00:00 2001 From: aleksandar kocev <aleks15kocev@gmail.com> Date: Sun, 18 Feb 2024 00:07:14 +0100 Subject: [PATCH 2/2] fixed some web routes --- .../Admin/MaintenanceController.php | 1 + .../Controllers/Admin/ProductController.php | 2 +- AdminPanel-Marinov/resources/js/app.js | 22 ---- .../maintenances/all-maintenances.blade.php | 101 ++++++++++-------- .../views/products/all-products.blade.php | 3 +- AdminPanel-Marinov/routes/web.php | 10 +- 6 files changed, 62 insertions(+), 77 deletions(-) diff --git a/AdminPanel-Marinov/app/Http/Controllers/Admin/MaintenanceController.php b/AdminPanel-Marinov/app/Http/Controllers/Admin/MaintenanceController.php index 308f382..5408899 100644 --- a/AdminPanel-Marinov/app/Http/Controllers/Admin/MaintenanceController.php +++ b/AdminPanel-Marinov/app/Http/Controllers/Admin/MaintenanceController.php @@ -58,5 +58,6 @@ class MaintenanceController extends Controller { $maintenance = Maintenance::findOrFail($id); $maintenance->delete(); + return redirect()->route('maintenances.index')->with('success', 'Maintanence deleted successfully.');; } } diff --git a/AdminPanel-Marinov/app/Http/Controllers/Admin/ProductController.php b/AdminPanel-Marinov/app/Http/Controllers/Admin/ProductController.php index fa5fa7c..0ccd4f3 100644 --- a/AdminPanel-Marinov/app/Http/Controllers/Admin/ProductController.php +++ b/AdminPanel-Marinov/app/Http/Controllers/Admin/ProductController.php @@ -285,7 +285,7 @@ class ProductController extends Controller $product->materials()->sync($request->input('materials', [])); $product->maintenances()->sync($request->input('maintenances', [])); // dd($file3->result->url); - return 'success'; + return redirect()->route('products.index')->with('message', "product updated"); } public function destroy(string $id){ $product = Product::findOrFail($id); diff --git a/AdminPanel-Marinov/resources/js/app.js b/AdminPanel-Marinov/resources/js/app.js index bffae35..7182485 100644 --- a/AdminPanel-Marinov/resources/js/app.js +++ b/AdminPanel-Marinov/resources/js/app.js @@ -84,28 +84,6 @@ $(function () { }); - -// Delete maintenance -$(document).ready(function () { - $('.btn-maintenance-delete').on('click', function () { - let maintenanceId = $(this).data('maintenance-id'); - - $.ajax({ - url: '/admin/maintenances/delete/' + maintenanceId, - type: 'DELETE', - headers: { - 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') - }, - success: function (response) { - location.reload(); - }, - error: function (error) { - console.error('Error deleting maintenance:', error); - } - }); - }); -}); - // Edit maintenance $(document).ready(function () { $('.btn-maintenance-edit').on('click', function () { diff --git a/AdminPanel-Marinov/resources/views/maintenances/all-maintenances.blade.php b/AdminPanel-Marinov/resources/views/maintenances/all-maintenances.blade.php index 0f4465e..72b05b7 100644 --- a/AdminPanel-Marinov/resources/views/maintenances/all-maintenances.blade.php +++ b/AdminPanel-Marinov/resources/views/maintenances/all-maintenances.blade.php @@ -1,52 +1,59 @@ @extends('layouts.app') @section('content') - <div class="w-3/5 mt-6"> - <div class="flex justify-between items-center pt-3 px-3"> - <h2 class="font-bold pt-2 pl-2">All Maintenances</h2> - <x-nav-link :href="route('dashboard')" class="bg-blue-400 rounded text-white hover:bg-blue-600"> - {{ __('Add new Maintenance') }} - </x-nav-link> - </div> - <div class="p-3"> - <div class="relative overflow-x-auto shadow-md sm:rounded-lg"> - <table class="w-full text-sm text-left rtl:text-right text-gray-500"> - <thead class="text-xs text-gray-700 uppercase bg-gray-50"> - <tr> - <th scope="col" class="px-6 py-3">Title</th> - <th scope="col" class="px-6 py-3">Description</th> - <th scope="col" class="px-6 py-3">Action</th> - </tr> - </thead> - <tbody> - @foreach ($maintenances as $maintenance) - <tr class="{{ $loop->odd ? 'bg-white' : 'bg-gray-50' }} order-b"> - <td class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap"> - {{ $maintenance->title }} - </td> - <td class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap"> - {{ $maintenance->description }} - </td> - <td class="px-6 py-4"> - <div class=""> - <div class=""> - <button class="bg-yellow-400 px-3 mr-4 rounded text-white hover:bg-yellow-600 btn-maintenance-edit" - data-maintenance-id="{{ $maintenance->id }}"> - {{ __('Edit') }} - </button> - - <button class="bg-red-600 rounded text-white px-3 hover:bg-red-400 hover:text-black btn-maintenance-delete" - data-maintenance-id="{{ $maintenance->id }}"> - Delete - </button> - </div> - </div> - </td> - </tr> - @endforeach - </tbody> - </table> - </div> +<div class="w-3/5 mt-6"> + <div class="flex justify-between items-center pt-3 px-3"> + <h2 class="font-bold pt-2 pl-2">All Maintenances</h2> + <x-nav-link :href="route('dashboard')" class="bg-blue-400 rounded text-white hover:bg-blue-600"> + {{ __('Add new Maintenance') }} + </x-nav-link> + </div> + <div class="p-3"> + <div class="relative overflow-x-auto shadow-md sm:rounded-lg"> + <table class="w-full text-sm text-left rtl:text-right text-gray-500"> + <thead class="text-xs text-gray-700 uppercase bg-gray-50"> + <tr> + <th scope="col" class="px-6 py-3">Title</th> + <th scope="col" class="px-6 py-3">Description</th> + <th scope="col" class="px-6 py-3">Action</th> + </tr> + </thead> + <tbody> + @foreach ($maintenances as $maintenance) + <tr class="{{ $loop->odd ? 'bg-white' : 'bg-gray-50' }} order-b"> + <td class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap"> + {{ $maintenance->title }} + </td> + <td class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap"> + {{ $maintenance->description }} + </td> + <td class="px-6 py-4"> + <div class=""> + <div class=""> + + + <x-nav-link :href="route('maintenances.edit' , $maintenance->id)" + class="bg-yellow-400 px-3 mr-4 rounded text-white hover:bg-yellow-600"> + {{ __('Edit') }} + </x-nav-link> + + + <form action="{{route('maintenances.delete',$maintenance->id)}}" method="POST"> + @csrf + @method('DELETE') + <button + class="bg-red-600 rounded text-white px-3 hover:bg-red-400 hover:text-black"> + Delete + </button> + </form> + </div> + </div> + </td> + </tr> + @endforeach + </tbody> + </table> </div> </div> -@endsection +</div> +@endsection \ No newline at end of file diff --git a/AdminPanel-Marinov/resources/views/products/all-products.blade.php b/AdminPanel-Marinov/resources/views/products/all-products.blade.php index 03038c3..55203b8 100644 --- a/AdminPanel-Marinov/resources/views/products/all-products.blade.php +++ b/AdminPanel-Marinov/resources/views/products/all-products.blade.php @@ -95,8 +95,7 @@ class="bg-yellow-400 px-3 mr-4 rounded text-white hover:bg-yellow-600"> {{ __('Edit') }} </x-nav-link> - - <form action="" method="post"> + <form action="{{route('product.destroy',$product->id)}}" method="post"> @csrf @method('delete') <Button diff --git a/AdminPanel-Marinov/routes/web.php b/AdminPanel-Marinov/routes/web.php index 6e8f9d9..50d2c91 100644 --- a/AdminPanel-Marinov/routes/web.php +++ b/AdminPanel-Marinov/routes/web.php @@ -39,9 +39,9 @@ Route::prefix('admin')->middleware('auth')->group(function () { // Types routes Route::get('/types', [TypeController::class, 'index'])->name('types.index'); - Route::resource('admin/types', TypeController::class)->middleware('auth'); - Route::get('/admin/types/{id}/edit', 'TypeController@edit')->name('types.edit'); - Route::put('/admin/types/{id}', 'TypeController@update')->name('types.update'); + Route::resource('/types', TypeController::class); + Route::get('/types/{id}/edit',[TypeController::class,'edit'])->name('types.edit'); + Route::put('/types/{id}', [TypeController::class,'update'])->name('types.update'); // Materials routes Route::get('/materials', [MaterialController::class, 'index'])->name('materials.index'); @@ -63,9 +63,9 @@ Route::prefix('admin')->middleware('auth')->group(function () { Route::get('/maintenances', [MaintenanceController::class, 'index'])->name('maintenances.index'); Route::get('/maintenances/add', [MaintenanceController::class, 'create'])->name('maintenances.add'); Route::post('/maintenances/store', [MaintenanceController::class, 'store'])->name('maintenances.store'); - Route::get('/maintenances/update/{id}', [MaintenanceController::class, 'edit'])->name('admin.maintenances.edit'); + Route::get('/maintenances/update/{id}', [MaintenanceController::class, 'edit'])->name('maintenances.edit'); Route::put('/maintenances/update/{id}', [MaintenanceController::class, 'update'])->name('maintenances.update'); - Route::delete('/maintenances/delete/{id}', [MaintenanceController::class, 'destroy'])->name('admin.maintenances.delete'); + Route::delete('/maintenances/delete/{id}', [MaintenanceController::class, 'destroy'])->name('maintenances.delete'); // faq routes Route::get('/faq', [FaqController::class, 'index'])->name('faq.index'); -- GitLab