"Added admin type checks and redirects in AdminController and MainController; updated product views and admin header"

This commit is contained in:
UronShrestha
2024-07-14 15:16:39 +05:45
parent 5af3b7ef9c
commit f214f8aab4
4 changed files with 89 additions and 55 deletions

View File

@ -10,12 +10,18 @@ class AdminController extends Controller
{
public function index()
{
return view('Dashboard.index');
if (session()->get('type') == 'Admin') {
return view('Dashboard.index');
}
return redirect()->back();
}
public function products()
{
$products = Product::all();
return view('Dashboard.products', compact('products'));
if (session()->get('type') == 'Admin') {
$products = Product::all();
return view('Dashboard.products', compact('products'));
}
return redirect()->back();
}
// public function addNewProduct()
// {
@ -58,26 +64,29 @@ class AdminController extends Controller
//mass assignment for adding new product
public function addNewProduct(Request $request)
{
$validated = $request->validate([
'name' => 'required',
'price' => 'required|numeric',
'description' => 'required',
'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'quantity' => 'required|numeric',
'category' => 'required',
'type' => 'required',
]);
if (session()->get('type') == 'Admin') {
$validated = $request->validate([
'name' => 'required',
'price' => 'required|numeric',
'description' => 'required',
'file' => 'required|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;
if ($request->hasFile('file')) {
$file = $request->file('file');
$fileName = time() . '_' . $file->getClientOriginalName();
$file->move(public_path('uploads/products'), $fileName);
$validated['picture'] = $fileName;
}
Product::create($validated);
return redirect()->back()->with('success', 'Product Added Successfully');
}
Product::create($validated);
return redirect()->back()->with('success', 'Product Added Successfully');
return redirect()->back();
}
@ -114,34 +123,38 @@ class AdminController extends Controller
//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',
]);
if (session()->get('type') == 'Admin') {
$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'));
$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;
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');
}
$product->update($validated);
return redirect()->back()->with('success', 'Product Updated Successfully');
return redirect()->back();
}
public function deleteProduct($id)
{
$product = Product::find($id);
$product->delete();
return redirect()->back()->with('success', 'Product Deleted Successfully');
if (session()->get('type') == 'Admin') {
$product = Product::find($id);
$product->delete();
return redirect()->back()->with('success', 'Product Deleted Successfully');
}
return redirect()->back();
}
}