"Updated AdminController, added update and delete product functionality, modified products.blade.php, and added datatables to adminheader and adminfooter"

This commit is contained in:
UronShrestha
2024-07-14 12:25:49 +05:45
parent f37e18f125
commit 5af3b7ef9c
9 changed files with 245 additions and 148 deletions

View File

@ -54,6 +54,8 @@ class AdminController extends Controller
// return redirect()->back()->with('success', 'Product Added Successfully');
// // return view('Dashboard.addNewProduct');
// }
//mass assignment for adding new product
public function addNewProduct(Request $request)
{
$validated = $request->validate([
@ -77,4 +79,69 @@ class AdminController extends Controller
return redirect()->back()->with('success', 'Product Added Successfully');
}
//normal assignment for update
// public function updateProduct(Request $request)
// {
// $validated = $request->validate([
// 'name' => 'required',
// 'price' => 'required|numeric',
// 'description' => 'required',
// 'file' => 'image|mimes:jpeg,png,jpg,gif,svg|max
// :2048',
// 'quantity' => 'required|numeric',
// 'category' => 'required',
// 'type' => 'required',
// ]);
// if ($request->hasFile('file')) {
// $file = $request->file('file');
// $fileName = time() . '_' . $file->getClientOriginalName();
// $file->move(public_path('uploads/products'), $fileName);
// $validated['picture'] = $fileName;
// }
// $product = Product::find($request->id);
// $product->name = $validated['name'];
// $product->price = $validated['price'];
// $product->description = $validated['description'];
// $product->quantity = $validated['quantity'];
// $product->category = $validated['category'];
// $product->type = $validated['type'];
// $product->save();
// return redirect()->back()->with('success', 'Product Updated Successfully');
// }
//mass assignment for update
public function updateProduct(Request $request)
{
$validated = $request->validate([
'name' => 'required',
'price' => 'required|numeric',
'description' => 'required',
'quantity' => 'required|numeric',
'category' => 'required',
'type' => 'required',
'file' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
]);
$product = Product::find($request->input('id'));
if ($request->hasFile('file')) {
$file = $request->file('file');
$fileName = time() . '_' . $file->getClientOriginalName();
$file->move(public_path('uploads/products'), $fileName);
$validated['picture'] = $fileName;
}
$product->update($validated);
return redirect()->back()->with('success', 'Product Updated Successfully');
}
public function deleteProduct($id)
{
$product = Product::find($id);
$product->delete();
return redirect()->back()->with('success', 'Product Deleted Successfully');
}
}