/
proc
/
self
/
cwd
/
tabson
/
app
/
Http
/
Controllers
/
Upload File
HOME
<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Auth; use App\RoleModuleAssociation; // Update the namespace use DB; use Illuminate\Http\Request; use App\Exports\ItemsExport; use App\Imports\ItemsImport; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Hash; use Maatwebsite\Excel\Facades\Excel; class MasterController extends Controller { public function quickLinks() { return view('dashboard.master.quick-links'); } public function roles() { $data['roles'] = \App\Role::where('is_active', 1)->get(); return view('dashboard.master.roles', $data); } public function addRole(Request $request) { $response = array(); $validator = \Validator::make( $request->all(), array( 'role' => 'required|unique:roles,role', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $role = new \App\Role(); $role->role = $request->role; if ($role->save()) { $response['flag'] = true; $response['message'] = "Role Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditRole($id) { $data['role'] = \App\Role::where('id', $id)->where('is_active', 1)->first(); return view('dashboard.master.edit-role', $data); } public function updateRole(Request $request) { $response = array(); $validator = \Validator::make( $request->all(), array( 'role' => 'required|unique:roles,role,' . $request->id, ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $role = \App\Role::where('id', $request->id)->where('is_active', 1)->first(); if (is_null($role)) { $response['flag'] = false; $response['error'] = "Role Not found"; } else { $role->role = $request->role; if ($role->save()) { $response['flag'] = true; $response['message'] = "Role Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteRole($id) { $response = array(); $role = \App\Role::where('id', $id)->where('is_active', 1)->first(); if (is_null($role)) { $response['flag'] = false; $response['message'] = "Role Not Found"; } else { $role->is_active = 0; if ($role->save()) { $response['flag'] = true; $response['message'] = "Role Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function getRolePermissions($id) { $data = array(); $role = \App\Role::where('is_active', 1)->where('id', $id)->first(); if (is_null($role)) { return redirect('/user/roles')->with('error', 'Role Not Found'); } else { $data['role'] = $role; $data['modules'] = \App\Module::where('is_active', 1)->with('sub_modules')->get(); return view('dashboard.master.assign-permission', $data); } } public function updateRolePermissions($role_id, $module_id, $sub_module_id) { $response = array(); $permission = \App\RoleModuleAssociation::where('role_id', $role_id)->where('module_id', $module_id)->where('sub_module_id', $sub_module_id)->first(); if (is_null($permission)) { $permission = new \App\RoleModuleAssociation(); $permission->role_id = $role_id; $permission->module_id = $module_id; $permission->sub_module_id = $sub_module_id; if ($permission->save()) { $response['flag'] = true; } else { $response['flag'] = true; $response['message'] = "Something Went Wrong"; } } else { if ($permission->delete()) { $response['flag'] = true; } else { $response['flag'] = true; $response['message'] = "Something Went Wrong"; } } return response()->json($response); } public function sessions() { $data['sessions'] = \App\Session::where('is_active', 1)->get(); return view('dashboard.master.sessions', $data); } public function addSession(Request $request) { $response = array(); $validator = \Validator::make( $request->all(), array( 'session' => 'required|unique:sessions,session', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $session = new \App\Session(); $session->session = $request->session; if ($session->save()) { $response['flag'] = true; $response['message'] = "Session Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditSession($id) { $data['session'] = \App\Session::where('id', $id)->where('is_active', 1)->first(); return view('dashboard.master.edit-session', $data); } public function updateSession(Request $request) { $response = array(); $validator = \Validator::make( $request->all(), array( 'session' => 'required|unique:sessions,session,' . $request->id, ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $session = \App\Session::where('id', $request->id)->where('is_active', 1)->first(); if (is_null($session)) { $response['flag'] = false; $response['error'] = "Session Not found"; } else { $session->session = $request->session; if ($session->save()) { $response['flag'] = true; $response['message'] = "Session Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteSession($id) { $response = array(); $session = \App\Session::where('id', $id)->where('is_active', 1)->first(); if (is_null($session)) { $response['flag'] = false; $response['message'] = "Session Not Found"; } else { $session->is_active = 0; if ($session->save()) { $response['flag'] = true; $response['message'] = "session Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function module() { $data['modules'] = \App\Module::where('is_active', 1)->get(); return view('dashboard.master.module', $data); } public function addModule(Request $request) { $response = array(); $validator = \Validator::make( $request->all(), array( 'module' => 'required|unique:modules,module', 'icon' => 'required', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $module = new \App\Module(); $module->module = $request->module; if ($request->link) { $module->link = $request->link; } $module->icon = $request->icon; if ($module->save()) { $response['flag'] = true; $response['message'] = "Module Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditModule($id) { $data['module'] = \App\Module::where('id', $id)->where('is_active', 1)->first(); return view('dashboard.master.edit-module', $data); } public function updateModule(Request $request) { $response = array(); $validator = \Validator::make( $request->all(), array( 'module' => 'required|unique:modules,module,' . $request->id, 'icon' => 'required', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $module = \App\Module::where('id', $request->id)->where('is_active', 1)->first(); if (is_null($module)) { $response['flag'] = false; $response['error'] = "Module Not found"; } else { $module->module = $request->module; if ($request->link) { $module->link = $request->link; } $module->icon = $request->icon; if ($module->save()) { $response['flag'] = true; $response['message'] = "Module Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteModule($id) { $response = array(); $module = \App\Module::where('id', $id)->where('is_active', 1)->first(); if (is_null($module)) { $response['flag'] = false; $response['message'] = "mMdule Not Found"; } else { $module->is_active = 0; if ($module->save()) { $response['flag'] = true; $response['message'] = "Module Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function sub_module() { $data['sub_modules'] = \App\SubModule::where('is_active', 1)->get(); $data['modules'] = \App\Module::where('is_active', 1)->get(); return view('dashboard.master.sub-module', $data); } public function addSubModule(Request $request) { $response = array(); $validator = \Validator::make( $request->all(), array( 'module_id' => 'required', 'sub_module' => 'required|unique:sub_modules,sub_module', 'link' => 'required|unique:sub_modules,link', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $sub_module = new \App\SubModule(); $sub_module->module_id = $request->module_id; $sub_module->sub_module = $request->sub_module; $sub_module->link = $request->link; if ($sub_module->save()) { $response['flag'] = true; $response['message'] = "Sub Module Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditSubModule($id) { $data = array(); $data['sub_module'] = \App\SubModule::where('id', $id)->where('is_active', 1)->first(); $data['modules'] = \App\Module::where('is_active', 1)->get(); return view('dashboard.master.edit-sub-module', $data); } public function updateSubModule(Request $request) { $response = array(); $validator = \Validator::make( $request->all(), array( 'module_id' => 'required', 'sub_module' => 'required|unique:sub_modules,sub_module,' . $request->id, 'link' => 'required|unique:sub_modules,link,' . $request->id, ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $sub_module = \App\SubModule::where('id', $request->id)->where('is_active', 1)->first(); if (is_null($sub_module)) { $response['flag'] = false; $response['error'] = "Sub Module Not found"; } else { $permission = \App\RoleModuleAssociation::where('sub_module_id', $request->id)->first(); if (!is_null($permission)) { if ($permission->module_id != $request->module_id) { $permission->delete(); } } $sub_module->module_id = $request->module_id; $sub_module->sub_module = $request->sub_module; $sub_module->link = $request->link; if ($sub_module->save()) { $response['flag'] = true; $response['message'] = "Sub Module Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteSubModule($id) { $response = array(); $sub_module = \App\SubModule::where('id', $id)->where('is_active', 1)->first(); if (is_null($sub_module)) { $response['flag'] = false; $response['message'] = "Sub Module Not Found"; } else { $sub_module->is_active = 0; if ($sub_module->save()) { $response['flag'] = true; $response['message'] = "Sub Module Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } //------Old running function was disabled on the 29-04-2025------- // public function vendors() // { // $data = array(); // $data['v_categories'] = \App\VendorCategory::where('is_active', 1)->get(); // $data['s_subcategories'] = \App\VendorSubCategory::where('is_active', 1)->get(); // $data['payment_terms'] = DB::table('payment_terms')->get(); // $data['vendors'] = \App\Vendor::join('vendor_categories', 'vendor_categories.id', 'vendors.category')->select('vendors.*', 'vendor_categories.name as vendor_cat_name', 'vendors.sub_category as vendor_sub_cat_name')->orderBy('vendors.id', 'desc')->get(); // $data['role_id'] = Auth::user()->role_id; // // dd($data); // return view('dashboard.master.vendors', $data); // } //------New function was introduced on the 20-04-2025 with updation---- public function vendors() { $data = array(); $data['role_id'] =Auth::user()->role_id; $data['id'] = Auth::user()->id; $data['email'] = Auth::user()->email; if(Auth::user()->role_id == 2) { $user_id = array(Auth::user()->id); } elseif(Auth::user()->role_id == 3) { $user_id = DB::table('users')->where('functional_head', Auth::user()->id)->pluck('id')->toArray(); } elseif(Auth::user()->role_id == 4) { $user_id = DB::table('users')->where('business_head', Auth::user()->id)->pluck('id')->toArray(); } else { $user_id = DB::table('users')->pluck('id')->toArray(); } $data['v_categories'] = \App\VendorCategory::where('is_active', 1)->get(); $data['s_subcategories'] = \App\VendorSubCategory::where('is_active', 1)->get(); $data['payment_terms'] = DB::table('payment_terms')->get(); $data['vendors'] = \DB::table('vendors')->join('vendor_categories', 'vendor_categories.id', 'vendors.category')->join('users','users.id','vendors.prepared_by')->select('vendors.*', 'vendor_categories.name as vendor_cat_name', 'users.name as creater','vendors.sub_category as vendor_sub_cat_name')->whereIn('vendors.prepared_by', $user_id)->orderBy('vendors.id', 'desc')->get(); // dd($data); return view('dashboard.master.vendors', $data); } public function addVendor(Request $request){ //dd($request->all()); $response = array(); $existingVendor = \App\Vendor::where('vendor_name', $request->vendor_name) ->where('gst', $request->gst) ->first(); if ($existingVendor) { return response()->json([ 'flag' => false, 'error' => 'A vendor with the same GST already exists.', ]); } $validator = \Validator::make($request->all(), array( 'category' => 'required', 'vendor_code' => 'unique:vendors,vendor_code', 'vendor_name' => 'required', 'address' => 'required', 'deals_in' => 'required', 'sub_category' => 'required', // 'po_to' => 'required', 'contact_no' => 'required|numeric|min:10', 'account_number' => 'required|numeric', 'bank_name' => 'required', 'ifsc_code' => 'required', 'gst' => 'required', 'payment_terms' => 'required', 'document' => 'mimes:pdf' ) ); if($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); }else { $vendor = new \App\Vendor(); $vendor->category = $request->category; $vendor->vendor_name = $request->vendor_name; $vendor->address = $request->address; $vendor->deals_in = $request->deals_in; $vendor->sub_category = $request->sub_category; // $vendor->po_to = $request->po_to; $vendor->contact_no = $request->contact_no; $vendor->contact_person_1 = $request->contact_person_1; $vendor->contact_no_1 = $request->contact_no_1; $vendor->email_address_1 = $request->email_address_1; $vendor->contact_person_2 = $request->contact_person_2; $vendor->contact_no_2 = $request->contact_no_2; $vendor->other_email = $request->other_email; $vendor->account_number = $request->account_number; $vendor->bank_name = $request->bank_name; $vendor->ifsc_code = $request->ifsc_code; $vendor->gst = $request->gst; //$vendor->payment_terms = $request->payment_terms; $vendor->payment_terms_id = $request->payment_terms; if ($request->payment_terms != "other") { $payment_terms = \DB::table('payment_terms')->where('id', $request->payment_terms)->first(); $vendor->payment_terms = $payment_terms->textarea; } else { $vendor->payment_terms = $request->payment_term_textarea; } $vendor->concern_name = Auth::user()->name; $vendor->date = date('Y-m-d H:i:s'); //dd($request->hasFile('document')); if ($request->hasFile('document')) { $filenameWithExt = $request->file('document')->getClientOriginalName(); $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME); $extension = $request->file('document')->getClientOriginalExtension(); $fileNameToStore = $filename . '_' . time() . '.' . $extension; $destinationPath = public_path() . '/document'; $path = $request->file('document')->move($destinationPath, $fileNameToStore); $vendor->document = str_replace(public_path(), '', $path); } $vendor->concern_name = Auth::user()->name; $vendor->prepared_by = Auth::user()->id; $vendor->date = date('Y-m-d H:i:s'); $vendor->status = 'Requested'; if ($vendor->save()) { $vendor->vendor_code = "VN00" . $vendor->id; $vendor->save(); $response['flag'] = true; $response['message'] = "Vendor Added Successfully"; $response['vendor_code'] = $vendor->vendor_code; $response['vendor_name'] = $vendor->vendor_name; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } // public function addVendor(Request $request) // { // // dd($request->all()); // $response = array(); // $validator = \Validator::make( // $request->all(), // array( // 'category' => 'required', // 'vendor_code' => 'unique:vendors,vendor_code', // 'vendor_name' => 'required', // 'address' => 'required', // 'deals_in' => 'required', // //'sub_category' => 'required', // // 'po_to' => 'required', // 'contact_no' => 'required|numeric|min:10', // 'account_number' => 'required|numeric', // 'bank_name' => 'required', // 'ifsc_code' => 'required', // 'gst' => 'required', // 'payment_terms' => 'required', // 'document' => 'mimes:pdf' // ) // ); // if ($validator->fails()) { // $response['flag'] = false; // $response['errors'] = $validator->getMessageBag(); // } else { // $vendor = new \App\Vendor(); // $vendor->category = $request->category; // $vendor->vendor_name = $request->vendor_name; // $vendor->address = $request->address; // $vendor->deals_in = $request->deals_in; // $vendor->sub_category = $request->sub_category; // // $vendor->po_to = $request->po_to; // $vendor->contact_no = $request->contact_no; // $vendor->contact_person_1 = $request->contact_person_1; // $vendor->contact_no_1 = $request->contact_no_1; // $vendor->email_address_1 = $request->email_address_1; // $vendor->contact_person_2 = $request->contact_person_2; // $vendor->contact_no_2 = $request->contact_no_2; // $vendor->other_email = $request->other_email; // $vendor->account_number = $request->account_number; // $vendor->bank_name = $request->bank_name; // $vendor->ifsc_code = $request->ifsc_code; // $vendor->gst = $request->gst; // //$vendor->payment_terms = $request->payment_terms; // $vendor->payment_terms_id = $request->payment_terms; // if ($request->payment_terms != "other") { // $payment_terms = \DB::table('payment_terms')->where('id', $request->payment_terms)->first(); // $vendor->payment_terms = $payment_terms->textarea; // } else { // $vendor->payment_terms = $request->payment_term_textarea; // } // $vendor->concern_name = Auth::user()->name; // $vendor->date = date('Y-m-d H:i:s'); // //dd($request->hasFile('document')); // if ($request->hasFile('document')) { // $filenameWithExt = $request->file('document')->getClientOriginalName(); // $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME); // $extension = $request->file('document')->getClientOriginalExtension(); // $fileNameToStore = $filename . '_' . time() . '.' . $extension; // $destinationPath = public_path() . '/document'; // $path = $request->file('document')->move($destinationPath, $fileNameToStore); // $vendor->document = str_replace(public_path(), '', $path); // } // $vendor->concern_name = Auth::user()->name; // $vendor->date = date('Y-m-d H:i:s'); // if ($vendor->save()) { // $vendor->vendor_code = "VN00" . $vendor->id; // $vendor->save(); // $response['flag'] = true; // $response['message'] = "Vendor Added Successfully"; // $response['vendor_code'] = $vendor->vendor_code; // $response['vendor_name'] = $vendor->vendor_name; // } else { // $response['flag'] = false; // $response['error'] = "Something Went Wrong"; // } // } // return response()->json($response); // } public function detailsVendor($id) { $data['vendor'] = \App\Vendor::join('vendor_categories', 'vendor_categories.id', 'vendors.category') ->select('vendors.*', 'vendor_categories.name as vendor_cat_name', 'vendors.sub_category as vendor_sub_cat_name') ->where('vendors.id', $id) ->first(); //dd($data); return view('dashboard.master.vendor-details', $data); } public function getEditVendor($id) { $data = array(); $data['v_categories'] = \App\VendorCategory::where('is_active', 1)->get(); $data['v_subcategories'] = \App\VendorSubCategory::where('is_active', 1)->get(); $data['payment_terms'] = DB::table('payment_terms')->get(); $data['vendor'] = \App\Vendor::where('id', $id)->first(); return view('dashboard.master.edit-vendor', $data); } public function updateVendor(Request $request) { //dd($request->all()); $response = array(); $validator = \Validator::make( $request->all(), array( 'category' => 'required', 'vendor_code' => 'required|unique:vendors,vendor_code,' . $request->id, 'vendor_name' => 'required', 'address' => 'required', 'deals_in' => 'required', //'sub_category' => 'required', //'po_to' => 'required', 'contact_no' => 'required|numeric|min:10', 'account_number' => 'required|numeric', 'bank_name' => 'required', 'gst' => 'required', 'ifsc_code' => 'required', 'payment_terms' => 'required', 'document' => 'mimes:pdf' ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $vendor_details = \App\Vendor::where('id', $request->id)->first(); // dd($vendor_details); if (is_null($vendor_details)) { $response['flag'] = false; $response['error'] = "Vendor Not found"; } else { $vendor_details->vendor_code = $request->vendor_code; $vendor_details->vendor_name = $request->vendor_name; $vendor_details->address = $request->address; $vendor_details->deals_in = $request->deals_in; $vendor_details->sub_category = $request->sub_category; // $vendor_details->po_to = $request->po_to; $vendor_details->contact_no = $request->contact_no; $vendor_details->contact_person_1 = $request->contact_person_1; $vendor_details->contact_no_1 = $request->contact_no_1; $vendor_details->email_address_1 = $request->email_address_1; $vendor_details->contact_person_2 = $request->contact_person_2; $vendor_details->contact_no_2 = $request->contact_no_2; $vendor_details->other_email = $request->other_email; $vendor_details->account_number = $request->account_number; $vendor_details->bank_name = $request->bank_name; $vendor_details->ifsc_code = $request->ifsc_code; $vendor_details->is_active = $request->is_active; $vendor_details->gst = $request->gst; //$vendor_details->payment_terms = $request->payment_terms; $vendor_details->payment_terms_id = $request->payment_terms; if ($request->payment_terms != "other") { $payment_terms = \DB::table('payment_terms')->where('id', $request->payment_terms)->first(); $vendor_details->payment_terms = $payment_terms->name; } else { $vendor_details->payment_terms = $request->payment_term_textarea; } //document uplaod/// //dd($request->hasFile('document')); if ($request->hasFile('document')) { $filenameWithExt = $request->file('document')->getClientOriginalName(); $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME); $extension = $request->file('document')->getClientOriginalExtension(); $fileNameToStore = $filename . '_' . time() . '.' . $extension; $destinationPath = public_path() . '/document'; $path = $request->file('document')->move($destinationPath, $fileNameToStore); $vendor_details->document = str_replace(public_path(), '', $path); } if ($vendor_details->save()) { $response['flag'] = true; $response['message'] = "Vendor Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteVendor($id) { $response = array(); $vendor = \App\Vendor::where('id', $id)->where('is_active', 1)->first(); if (is_null($vendor)) { $response['flag'] = false; $response['message'] = "Vendor Not Found"; } else { $vendor->is_active = 0; if ($vendor->save()) { $response['flag'] = true; $response['message'] = "Vendor Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function items() { $data = array(); $data['items'] = DB::table('items as i') ->select('i.id as Iid', 'i.code', 'i.hsn_code', 'u.name as uom_name', 'i.gst', 'i.rate', 'i.model', 'c.name', 'i.uom', 'i.description', 'i.product_types', 'i.make', 'i.specification', 'i.is_active','i.types') ->join('category as c', 'c.id', 'i.category') ->join('units as u', 'u.id', 'i.uom') ->orderBy('i.created_at', 'desc') // ->where('i.is_active', 1) ->get(); // $data['items'] = \App\Item::join('category','item')->where('is_active' , 1)->get(); $data['categories'] = \App\Category::where('is_active', 1)->get(); $data['product_categories'] = \App\ProductCategory::where('is_active', 1)->get(); $data['uoms'] = DB::table('units')->get(); $data['gst'] = DB::table('gst_slabs')->get(); $data['role_id'] = Auth::user()->role_id; return view('dashboard.master.items', $data); } public function addItem(Request $request) { $response = array(); $validator = \Validator::make( $request->all(), [ 'code' => 'required|unique:items,code', 'make' => 'required', ] ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $itemCategory = \DB::table('category') ->where('name', 'like', '%' . $request->category . '%') ->first(); $itemUom = \DB::table('units') ->where('name', 'like', '%' . $request->uom . '%') ->first(); $item = new \App\Item(); $item->code = $request->code; $item->rate = $request->rate; $item->gst = $request->gst; $item->hsn_code = $request->hsn_code; $item->uom = $itemUom ? $itemUom->id : null; $item->category = $itemCategory ? $itemCategory->id : null; $item->types = $request->types; $item->model = $request->model; $item->description = $request->description; $item->make = $request->make; $item->specification = $request->specification; $item->product_types = $request->product_types; if ($item->save()) { $response['flag'] = true; $response['message'] = "Item Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } // public function addItem(Request $request) // { // $response = array(); // $validator = \Validator::make( // $request->all(), // array( // 'code' => 'required|unique:items,code', // 'make' => 'required', // ) // ); // if ($validator->fails()) { // $response['flag'] = false; // $response['errors'] = $validator->getMessageBag(); // } else { // $itemCategory = \DB::table('category') // ->where('name', 'like', '%' . $request->category . '%') // ->first(); // $itemUom = \DB::table('units') // ->where('name', 'like', '%' . $request->uom . '%') // ->first(); // $item = new \App\Item(); // $item->code = $request->code; // $item->rate = $request->rate; // $item->gst = $request->gst; // $item->hsn_code = $request->hsn_code; // $item->uom = $itemUom->id; // $item->category = $itemCategory->id; // $item->types = $request->types; // $item->model = $request->model; // $item->description = $request->description; // $item->make = $request->make; // $item->specification = $request->specification; // $item->product_types = $request->product_types; // $apiUrl = "asset.sjslalganj.com/api/spare-parts-master-items-list"; // // Data to send in the POST request // $postData = $request->all(); // // Initialize cURL session // $curl = curl_init(); // // Set cURL options // curl_setopt($curl, CURLOPT_URL, $apiUrl); // curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // curl_setopt($curl, CURLOPT_HEADER, false); // curl_setopt($curl, CURLOPT_POST, true); // Set request method to POST // curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData)); // Set POST data // // You can add more options like headers, authentication, etc. here // // Execute cURL session and store the response // $responseFromAPI = curl_exec($curl); // // Check for cURL errors // if (curl_errno($curl)) { // echo 'Curl error: ' . curl_error($curl); // } // // Close cURL session // curl_close($curl); // $responseData = json_decode($responseFromAPI); // if ($responseData->status == 200 && $responseData->flag == true) { // if ($item->save()) { // $response['flag'] = true; // $response['message'] = "Item Added Successfully"; // } else { // $response['flag'] = false; // $response['error'] = "Something Went Wrong"; // } // } else if ($responseData->flag == false) { // $response['flag'] = false; // $response['error'] = "Something Went Wrong"; // } // } // return response()->json($response); // } public function getEditItem($id) { $data = array(); $data['categories'] = \App\Category::where('is_active', 1)->get(); $data['product_categories'] = \App\ProductCategory::where('is_active', 1)->get(); $data['uoms'] = DB::table('units')->get(); $data['gst'] = DB::table('gst_slabs')->get(); $data['product_types'] = DB::table('items')->get(); // $data['item'] = \App\Item::join('')->where('id',$id)->where('is_active', 1)->first(); $data['item'] = DB::table('items')->join('category', 'category.id', 'items.category')->select('items.*', 'category.name as category_name')->where('items.id', $id)->first(); return view('dashboard.master.edit-item', $data); } public function updateItem(Request $request) { $response = array(); $validator = \Validator::make( $request->all(), array( 'code' => 'required|unique:items,code,' . $request->id, 'description' => 'required', 'uom_id' => 'required|integer', 'category_id' => 'required|integer', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $item_details = \App\Item::where('id', $request->id)->first(); if (is_null($item_details)) { $response['flag'] = false; $response['error'] = "Item Not found"; } else { $updateCategory = \DB::table('category') ->where('name', 'like', '%' . $request->category . '%') ->first(); $itemUom = \DB::table('units') ->where('name', 'like', '%' . $request->uom . '%') ->first(); $item_details->code = $request->code; $item_details->rate = $request->rate; $item_details->gst = $request->gst; $item_details->hsn_code = $request->hsn_code; $item_details->uom = $request->uom_id; $item_details->category = $request->category_id; $item_details->types = $request->types; $item_details->model = $request->model; $item_details->description = $request->description; $item_details->make = $request->make; $item_details->specification = $request->specification; $item_details->is_active = $request->is_active; $item_details->product_types = $request->product_type; if ($item_details->save()) { $response['flag'] = true; $response['message'] = "Item Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteItem($id) { $response = array(); $item = \App\Item::where('id', $id)->where('is_active', 1)->first(); if (is_null($item)) { $response['flag'] = false; $response['message'] = "Item Not Found"; } else { $item->is_active = 0; if ($item->save()) { $response['flag'] = true; $response['message'] = "Item Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function import() { Excel::import(new ItemsImport, request()->file('file')); return back(); } public function categories() { $data['categories'] = \App\Category::where('is_active', 1)->get(); return view('dashboard.master.categories', $data); } public function addCategory(Request $request) { // print_r($request->all()); // die; $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required|unique:category,name', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $category = new \App\Category(); $category->name = $request->name; if ($category->save()) { $response['flag'] = true; $response['message'] = "Category Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditCategory($id) { $data['category'] = \App\Category::where('id', $id)->where('is_active', 1)->first(); return view('dashboard.master.edit-category', $data); } public function updateCategory(Request $request) { $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required|unique:category,name,' . $request->id, ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $category = \App\Category::where('id', $request->id)->where('is_active', 1)->first(); if (is_null($category)) { $response['flag'] = false; $response['error'] = "Category Not found"; } else { $category->name = $request->name; if ($category->save()) { $response['flag'] = true; $response['message'] = "Category Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteCategory($id) { $response = array(); $category = \App\Category::where('id', $id)->where('is_active', 1)->first(); if (is_null($category)) { $response['flag'] = false; $response['message'] = "Category Not Found"; } else { $category->is_active = 0; if ($category->save()) { $response['flag'] = true; $response['message'] = "Category Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function businessUnit() { $data['business_units'] = \DB::table('business_units')->get(); return view('dashboard.master.business-unit', $data); } public function addBusinessUnit(Request $request) { // print_r($request->all()); // die; $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required|unique:business_units,name', 'short_name' => 'required|unique:business_units,short_name', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $business_units = new \App\BusinessUnit(); $business_units->name = $request->name; $business_units->short_name = $request->short_name; if ($business_units->save()) { $response['flag'] = true; $response['message'] = "BusinessUnit Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditBusinessUnit($id) { //dd($id); $data['business_unit'] = \App\BusinessUnit::where('id', $id)->first(); return view('dashboard.master.edit-business-unit', $data); } public function updateBusinessUnit(Request $request) { //dd($request); $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required:business_units,name,' . $request->id, 'short_name' => 'required:business_units,short_name', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $business_unit = \App\BusinessUnit::where('id', $request->id)->first(); if (is_null($business_unit)) { $response['flag'] = false; $response['error'] = "BusinessUnit Not found"; } else { $business_unit->name = $request->name; $business_unit->short_name = $request->short_name; $business_unit->is_active = $request->is_active; if ($business_unit->save()) { $response['flag'] = true; $response['message'] = "BusinessUnit Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteBusinessUnit($id) { $response = array(); $business_unit = \App\BusinessUnit::where('id', $id)->first(); if (is_null($business_unit)) { $response['flag'] = false; $response['message'] = "BusinessUnit Not Found"; } else { $business_unit->is_active = 0; if ($business_unit->save()) { $response['flag'] = true; $response['message'] = "BusinessUnit Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function projects() { $data['projects'] = \DB::table('projects')->get(); return view('dashboard.master.projects', $data); } public function addProject(Request $request) { // print_r($request->all()); // die; $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required|unique:projects,name', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $project = new \App\Project(); $project->name = $request->name; if ($project->save()) { $response['flag'] = true; $response['message'] = "Project Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditProject($id) { //dd($id); $data['project'] = \App\Project::where('id', $id)->first(); return view('dashboard.master.edit-project', $data); } public function updateProject(Request $request) { //dd($request); $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required:projects,name,' . $request->id, ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $project = \App\Project::where('id', $request->id)->first(); if (is_null($project)) { $response['flag'] = false; $response['error'] = "Project Not found"; } else { $project->name = $request->name; $project->is_active = $request->is_active; if ($project->save()) { $response['flag'] = true; $response['message'] = "Project Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteProject($id) { $response = array(); $project = \App\Project::where('id', $id)->first(); if (is_null($project)) { $response['flag'] = false; $response['message'] = "Project Not Found"; } else { $project->is_active = 0; if ($project->save()) { $response['flag'] = true; $response['message'] = "Project Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function verticals() { $data['verticals'] = \DB::table('verticals')->get(); return view('dashboard.master.verticals', $data); } public function addVertical(Request $request) { // print_r($request->all()); // die; $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required|unique:verticals,name', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $vertical = new \App\Vertical(); $vertical->name = $request->name; if ($vertical->save()) { $response['flag'] = true; $response['message'] = "Vertical Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditVertical($id) { //dd($id); $data['vertical'] = \App\Vertical::where('id', $id)->first(); return view('dashboard.master.edit-vertical', $data); } public function updateVertical(Request $request) { //dd($request); $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required:verticals,name,' . $request->id, ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $vertical = \App\Vertical::where('id', $request->id)->first(); if (is_null($vertical)) { $response['flag'] = false; $response['error'] = "Vertical Not found"; } else { $vertical->name = $request->name; $vertical->is_active = $request->is_active; if ($vertical->save()) { $response['flag'] = true; $response['message'] = "Vertical Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteVertical($id) { $response = array(); $vertical = \App\Vertical::where('id', $id)->first(); if (is_null($vertical)) { $response['flag'] = false; $response['message'] = "Vertical Not Found"; } else { $vertical->is_active = 0; if ($vertical->save()) { $response['flag'] = true; $response['message'] = "Vertical Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function customers() { $data['customers'] = \DB::table('customers')->where('is_active', 1)->get(); return view('dashboard.master.customers', $data); } public function addCustomer(Request $request) { // print_r($request->all()); // die; $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required|unique:customers,name', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $customer = new \App\Customer(); $customer->name = $request->name; $customer->location = $request->location; $customer->gst_number = $request->gst_number; if ($customer->save()) { $response['flag'] = true; $response['message'] = "Customer Added Successfully"; $response['customer_name'] = $customer->name; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditCustomer($id) { //dd($id); $data['customer'] = \App\Customer::where('id', $id)->first(); return view('dashboard.master.edit-customer', $data); } public function updateCustomer(Request $request) { //dd($request); $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required:customers,name,' . $request->id, ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $customer = \App\Customer::where('id', $request->id)->first(); //dd($customer); if (is_null($customer)) { $response['flag'] = false; $response['error'] = "Customer Not found"; } else { $customer->name = $request->name; $customer->location = $request->location; $customer->gst_number = $request->gst_number; $customer->is_active = $request->is_active; if ($customer->save()) { $response['flag'] = true; $response['message'] = "Customer Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteCustomer($id) { $response = array(); $customer = \App\Customer::where('id', $id)->first(); if (is_null($customer)) { $response['flag'] = false; $response['message'] = "Customer Not Found"; } else { $customer->is_active = 0; if ($customer->save()) { $response['flag'] = true; $response['message'] = "Customer Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function circles() { $data['circles'] = \DB::table('circles')->get(); return view('dashboard.master.circles', $data); } public function addCircles(Request $request) { // print_r($request->all()); // die; $response = array(); $validator = \Validator::make( $request->all(), array( 'code' => 'required', 'name' => 'required', 'pin_code' => 'required', 'gst_number' => 'required' ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $circle = new \App\Circle(); $circle->code = $request->code; $circle->name = $request->name; $circle->address1 = $request->address1; $circle->address2 = $request->address2; $circle->city = $request->city; $circle->state = $request->state; $circle->pin_code = $request->pin_code; $circle->gst_number = $request->gst_number; if ($circle->save()) { $response['flag'] = true; $response['message'] = "Circle Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function deleteCircle($id) { $response = array(); $circle = \App\Circle::where('id', $id)->first(); if (is_null($circle)) { $response['flag'] = false; $response['message'] = "Circle Not Found"; } else { $circle->is_active = 0; if ($circle->save()) { $response['flag'] = true; $response['message'] = "Circle Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function getEditCircle($id) { //dd($id); $data['circle'] = \App\Circle::where('id', $id)->first(); return view('dashboard.master.edit-circle', $data); } public function updateCircle(Request $request) { //dd($request); $response = array(); $validator = \Validator::make( $request->all(), array( // 'name' =>'require,'.$request->id, ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $circle = \App\Circle::where('id', $request->id)->first(); if (is_null($circle)) { $response['flag'] = false; $response['error'] = "Circle Not found"; } else { $circle->code = $request->code; $circle->name = $request->name; $circle->address1 = $request->address1; $circle->address2 = $request->address2; $circle->city = $request->city; $circle->state = $request->state; $circle->pin_code = $request->pin_code; $circle->gst_number = $request->gst_number; $circle->is_active = $request->is_active; if ($circle->save()) { $response['flag'] = true; $response['message'] = "Circle Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } //Vendor Categories public function vendor_categories() { $data['verticals'] = \DB::table('vendor_categories')->where('is_active', 1)->get(); return view('dashboard.master.vendor-categories', $data); } public function add_new_vendors(Request $request) { //dd($request->all()); $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required|unique:vendor_categories,name', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $vertical = \DB::table('vendor_categories')->insert([ 'name' => $request->name, 'created_at' => date('Y-m-d H:i:s'), 'update_at' => date('Y-m-d H:i:s') ]); if ($vertical) { $response['flag'] = true; $response['message'] = "Vendor Category Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditVendorCategories($id) { //dd($id); $data['vertical'] = \App\VendorCategory::where('id', $id)->first(); return view('dashboard.master.edit-vendor-categories', $data); } public function updateVendorCategories(Request $request) { // dd($request); $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required:vendor_categories,name,' . $request->id, ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $vertical = \DB::table('vendor_categories')->where('id', $request->id)->first(); if (is_null($vertical)) { $response['flag'] = false; $response['error'] = "Vendor Category Not found"; } else { $vertical = \DB::table('vendor_categories')->where('id', $request->id)->update([ 'name' => $request->name, 'created_at' => date('Y-m-d H:i:s'), 'update_at' => date('Y-m-d H:i:s') ]); if ($vertical) { $response['flag'] = true; $response['message'] = "Vendor Category Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteVendorCategory($id) { $response = array(); $vertical = \DB::table('vendor_categories')->where('id', $id)->first(); if (is_null($vertical)) { $response['flag'] = false; $response['message'] = "Vendor Category Not Found"; } else { $upvertical = \DB::table('vendor_categories')->where('id', $id)->update([ 'is_active' => 0 ]); if ($upvertical) { $response['flag'] = true; $response['message'] = "Vendor Category Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } //Sub-Categories public function sub_category() { $data['verticals'] = \DB::table('vendor_subcategories')->where('is_active', 1)->get(); return view('dashboard.master.sub-categories', $data); } public function add_sub_category(Request $request) { //dd($request->all()); $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required|unique:vendor_subcategories,name', ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $vertical = \DB::table('vendor_subcategories')->insert([ 'name' => $request->name, ]); if ($vertical) { $response['flag'] = true; $response['message'] = "Sub-Category Added Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditSubCategories($id) { //dd($id); $data['vertical'] = \App\VendorSubCategory::where('id', $id)->first(); return view('dashboard.master.edit-sub-categories', $data); } public function updateSubCategories(Request $request) { // dd($request); $response = array(); $validator = \Validator::make( $request->all(), array( 'name' => 'required:vendor_subcategories,name,' . $request->id, ) ); if ($validator->fails()) { $response['flag'] = false; $response['errors'] = $validator->getMessageBag(); } else { $vertical = \DB::table('vendor_subcategories')->where('id', $request->id)->first(); if (is_null($vertical)) { $response['flag'] = false; $response['error'] = "Vendor Sub Category Not found"; } else { $vertical = \DB::table('vendor_subcategories')->where('id', $request->id)->update([ 'name' => $request->name, 'created_at' => date('Y-m-d H:i:s'), 'update_at' => date('Y-m-d H:i:s') ]); if ($vertical) { $response['flag'] = true; $response['message'] = "Vendor Sub Category Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteSubCategory($id) { $response = array(); $vertical = \DB::table('vendor_subcategories')->where('id', $id)->first(); if (is_null($vertical)) { $response['flag'] = false; $response['message'] = "Vendor Sub-Category Not Found"; } else { $upvertical = \DB::table('vendor_subcategories')->where('id', $id)->update([ 'is_active' => 0 ]); if ($upvertical) { $response['flag'] = true; $response['message'] = "Vendor Sub-Category Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function get_module_management(){ $data['sub_modules'] = \App\SubModule::where('is_active',1)->get(); $data['modules'] = \App\Module::where('is_active',1)->get(); return view('dashboard.master.module-management',$data); } public function module_order_management(Request $request) { $module_id = $request->input('module_id'); $new_priority = $request->input('module_priority'); // Get the existing priority of the module $old_priority = RoleModuleAssociation::where('module_id', $module_id) ->value('module_priority'); // Swap priorities in the database RoleModuleAssociation::where('module_id', $module_id) ->where('module_priority', $old_priority) ->update(['module_priority' => $new_priority]); // Swap priorities for other modules with the same priority RoleModuleAssociation::where('module_priority', $new_priority) ->where('module_id', '!=', $module_id) ->update(['module_priority' => $old_priority]); // Check if the update was successful $updated = RoleModuleAssociation::where('module_id', $module_id) ->where('module_priority', $new_priority) ->exists(); $response = []; if ($updated) { $response['flag'] = true; $response['message'] = "Module Priority Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } // You can return the response as JSON or use it as needed in your application return response()->json($response); } public function add_module_management(Request $request) { $validatedData = $request->validate([ 'module_priority' => 'required|integer', 'sub_module_id' => 'required|integer', 'sub_module_priority' => 'required|integer', ]); // Save the original sub_module_priority value $originalSubModulePriority = RoleModuleAssociation::where('module_priority', $validatedData['module_priority']) ->where('sub_module_id', $validatedData['sub_module_id']) ->value('sub_module_priority'); // Update sub_module_priority for the requested sub_module_id $updated = RoleModuleAssociation::where('module_priority', $validatedData['module_priority']) ->where('sub_module_id', $validatedData['sub_module_id']) ->update(['sub_module_priority' => $validatedData['sub_module_priority']]); // Update sub_module_priority for other sub_module_id values equal to the requested sub_module_priority RoleModuleAssociation::where('module_priority', $validatedData['module_priority']) ->where('sub_module_priority', $validatedData['sub_module_priority']) ->where('sub_module_id', '<>', $validatedData['sub_module_id']) ->update(['sub_module_priority' => $originalSubModulePriority]); // Create or update the record with the validated data RoleModuleAssociation::updateOrCreate( [ 'module_priority' => $validatedData['module_priority'], 'sub_module_id' => $validatedData['sub_module_id'], ], ['sub_module_priority' => $validatedData['sub_module_priority']] ); // Prepare the response $response = []; if ($updated) { $response['flag'] = true; $response['message'] = "Sub-Module Priority Updated Successfully"; } else { $response['flag'] = false; $response['error'] = "Something Went Wrong"; } // You can return the response as JSON or use it as needed in your application return response()->json($response); } public function changePassword(Request $request) { $validator = \Validator::make($request->all(), [ 'old_password' => 'required', 'new_password' => 'required|min:6|confirmed', ], [ 'old_password.required' => 'Old password is required.', 'new_password.required' => 'New password is required.', 'new_password.min' => 'New password must be at least 6 characters.', 'new_password.confirmed' => 'Passwords do not match.', ]); if ($validator->fails()) { return response()->json([ 'status' => false, 'errors' => $validator->errors() ], 422); } $user = Auth::user(); if (!Hash::check($request->old_password, $user->password)) { return response()->json([ 'status' => false, 'errors' => ['old_password' => ['Old password is incorrect.']] ], 422); } $user->password = Hash::make($request->new_password); $user->save(); return response()->json([ 'status' => true, 'message' => 'Password has been updated successfully.' ]); } }