/
home
/
sjslayjy
/
public_html
/
assets
/
app
/
Http
/
Controllers
/
Upload File
HOME
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\RoleModuleAssociation; // Update the namespace use Auth; use DB; class MasterController extends Controller { public $data; public function get_common(){ if(Auth::check()){ $user = Auth::user(); $this->data['userInfo'] = \App\LocalUserMapping::where('LoginID',$user->loginId)->first(); } } public function module(){ $this->get_common(); $this->data['modules'] = \App\Module::where('is_active',1)->get(); return view('master.module',$this->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){ $this->data['module'] = \App\Module::where('id',$id)->where('is_active',1)->first(); return view('master.edit-module',$this->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(){ $this->get_common(); $this->data['sub_modules'] = \App\SubModule::with('module')->where('is_active',1)->get(); $this->data['modules'] = \App\Module::where('is_active',1)->get(); return view('master.sub-module',$this->data); } public function addSubModule(Request $request){ $response = array(); $validator = \Validator::make($request->all(), array( 'module_id' =>'required', 'sub_module' =>'required', '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){ $this->data['sub_module'] = \App\SubModule::where('id',$id)->where('is_active',1)->first(); $this->data['modules'] = \App\Module::where('is_active',1)->get(); return view('master.edit-sub-module',$this->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); } public function roles(){ $this->get_common(); $this->data['roles'] = \App\Role::where('is_active',1)->get(); return view('master.roles',$this->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 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){ $this->get_common(); $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{ $this->data['role'] = $role; $this->data['modules'] = \App\Module::where('is_active',1)->with('sub_modules')->get(); return view('master.assign-permission',$this->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 getUsers() { $this->get_common(); $this->data['users'] = \App\User::with(['roles'=>function($query){ $query->select('role as role_name', 'id'); }])->where('is_active', 1)->get(); return view('master.users', $this->data); } public function getUserDetails(Request $request) { $data = array(); $ch = curl_init(); $api_url = "http://esr.aerialtelecom.in/api1/get-user-details"; $params = [ "loginId" => $request->login_id, ]; curl_setopt($ch, CURLOPT_URL, $api_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); $response = curl_exec($ch); if (curl_errno($ch)) { $error = curl_error($ch); $data['flag'] = false; $data['error'] = 'Something went wrong.'; } else { $response = json_decode($response, true); if($response['success'] == true) { $data['flag'] = true; $data['user_details'] = $response['user_details']; } else { $data['flag'] = false; $data['response'] = $response['msg']; } } curl_close($ch); return response()->json($data);; } public function addNewUser(Request $request) { $validate = \Validator::make($request->all(), array( 'login_id' => 'required', 'name' => 'required', 'email' => 'required', 'password' => 'required', 'role_id' => 'required', 'user_type' => 'required' )); if($validate->fails()) { // $response['flag'] = false; $response['status'] = 1; $response['errors'] = $validate->getMessageBag(); } else { $user = \App\User::where('loginId', $request->login_id)->first(); if(is_null($user)) { $user = new \App\User(); $user->loginid = $request->login_id; $user->name = $request->name; $user->email = $request->email; $user->password = bcrypt($request->password); $user->plain_password = $request->password; $user->type = $request->user_type; $user->role = $request->role_id; if($user->save()){ $response['flag'] = true; $response['message'] = "User Added Successfully"; }else{ // $response['flag'] = false; $response['status'] = 2; $response['errors'] = "Something Went Wrong"; } } else { // $response['flag'] = false; $response['status'] = 2; $response['errors'] = $request->login_id." already exists."; } } return response()->json($response); } public function getEditUser($user_id) { $user_data = \App\User::where('id', $user_id)->first(); $user_roles = \App\Role::where('is_active', 1)->get(); $datas = DB::table('local_user_mapping')->where('LoginID', $user_data->loginId)->get(); return view('master.edit-user', ['user'=>$user_data, 'user_roles'=> $user_roles,'datas'=>$datas]); } public function updateUser(Request $request) { $validate = \Validator::make($request->all(), array( 'login_id' => 'required', 'name' => 'required', 'email' => 'required', 'password' => 'required', 'role_id' => 'required', )); if ($validate->fails()) { $response['status'] = 1; $response['errors'] = $validate->getMessageBag(); } else { $user = \App\User::where('loginId', $request->login_id)->first(); if (!is_null($user) && $request->login_id !== "ATSACE0089") { $user->name = $request->name; $user->email = $request->email; $user->password = bcrypt($request->password); $user->plain_password = $request->password; $user->role = $request->role_id; if ($user->save()) { $response['flag'] = true; $response['message'] = "User Updated Successfully"; } else { $response['status'] = 2; $response['errors'] = "Something Went Wrong"; } } else { $response['status'] = 2; $response['errors'] = " Sorry!, you are not allowed to update the password of Super Admin ".($request->login_id); } } return response()->json($response); } public function activateDeactivateWarehouse($warehouse_id) { $warehouse = \App\WareHouse::where('id', $warehouse_id)->first(); if(!is_null($warehouse)) { if($warehouse->is_active == 1) { $warehouse->is_active = 0; $warehouse->save(); $msg = 'Warehouse Deactivated Successfully.'; } else { $warehouse->is_active = 1; $warehouse->save(); $msg = 'Warehouse Activated Successfully.'; } $response['status'] = 1; $response['msg'] = $msg; } else { $response['status'] = 0; $response['error'] = "Warehouse Not Found."; } return response()->json($response); } public function getWarehouse() { $this->get_common(); $this->data['warehouses'] = \App\WareHouse::get(); $this->data['circle_masters'] = \App\CircleMaster::get(); return view('master.warehouse', $this->data); } public function addNewWarehouse(Request $request) { $validate = \Validator::make($request->all(), array( 'name' => 'required', 'circle_code' => 'required', 'warehouse_code' => 'required', 'address' => 'required', 'pincode' => 'required', 'gst_no' => 'required' )); if($validate->fails()) { $response['status'] = 1; $response['errors'] = $validate->getMessageBag(); } else { $warehouse = new \App\WareHouse(); $warehouse->label = $request->name; $warehouse->circle_code = $request->circle_code; $warehouse->ware_house = $request->warehouse_code; $warehouse->address = $request->address; $warehouse->pincode = $request->pincode; $warehouse->gst_no = $request->gst_no; if($warehouse->save()){ $response['flag'] = true; $response['message'] = "Warehouse Added Successfully"; }else{ $response['status'] = 2; $response['errors'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditWarehouse($warehouse_id) { $warehouse = \App\WareHouse::where('is_active', 1)->where('id', $warehouse_id)->first(); return view('master.edit-warehouse', ['warehouse'=>$warehouse]); } public function updateWarehouse(Request $request) { // dd($request->all()); $validate = \Validator::make($request->all(), array( 'id' => 'required', 'name' => 'required', 'warehouse_code' => 'required', 'address' => 'required', 'pincode' => 'required', 'gst_no' => 'required' )); if($validate->fails()) { $response['status'] = 1; $response['errors'] = $validate->getMessageBag(); } else { $warehouse = \App\WareHouse::where('id', $request->id)->where('is_active', 1)->first(); if(!is_null($warehouse)) { $warehouse->label = $request->name; $warehouse->circle_code = $request->circle_code; $warehouse->ware_house = $request->warehouse_code; $warehouse->address = $request->address; $warehouse->pincode = $request->pincode; $warehouse->gst_no = $request->gst_no; if($warehouse->save()){ $response['flag'] = true; $response['message'] = "Warehouse Updated Successfully"; }else{ $response['status'] = 2; $response['errors'] = "Something Went Wrong"; } } else { $response['status'] = 2; $response['errors'] = $request->name." not exist."; } } return response()->json($response); } public function deleteWarehouse($id){ $response = array(); $warehouse = \App\WareHouse::where('id',$id)->where('is_active', 1)->first(); if(is_null($warehouse)){ $response['flag'] = false; $response['message'] = "Warehouse Not Found"; }else{ $warehouse->is_active = 0; if($warehouse->save()){ $response['flag'] = true; $response['message'] = "warehouse Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function getCustomers() { $this->get_common(); $this->data['customers'] = DB::table('customer_circle_list')->get(); return view('master.customers', $this->data); } public function postAddCustomer(Request $request) { $validate = \Validator::make($request->all(), array( 'circle' => 'required', 'customer_code' => 'required', 'customer_name' => 'required' )); if($validate->fails()) { $response['status'] = 1; $response['flag'] = false; $response['errors'] = $validate->getMessageBag(); } else { $customer = new \App\Customer(); $customer->Circle = $request->circle; $customer->Cust_Code = $request->customer_code; $customer->Cust_Name = $request->customer_name; if($customer->save()){ $response['flag'] = true; $response['status'] = 2; $response['message'] = "Customer Added Added Successfully"; }else{ $response['flag'] = false; $response['status'] = 2; $response['message'] = "Something Went Wrong"; } } return response()->json($response); } public function getBusinessType() { $this->get_common(); $this->data['business_types'] = \App\BusinessType::get(); return view('master.business-type', $this->data); } public function addBusinessType(Request $request) { $validate = \Validator::make($request->all(), array( 'business_type' => 'required', )); if($validate->fails()) { $response['status'] = 1; $response['flag'] = false; $response['errors'] = $validate->getMessageBag(); } else { $business_type = new \App\BusinessType(); $business_type->name = $request->business_type; if($business_type->save()){ $response['flag'] = true; $response['status'] = 2; $response['message'] = "Business Type Added Added Successfully"; }else{ $response['flag'] = false; $response['status'] = 2; $response['message'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditBusiness($business_id) { $this->data['business'] = \App\BusinessType::where('id',$business_id)->where('is_active',1)->first(); return view('master.edit-business',$this->data); } public function updateBusiness(Request $request) { $validator = \Validator::make($request->all(), array( 'business_name' =>'required', ) ); if($validator->fails()) { $response['flag'] = false; $response['status'] = 1; $response['errors'] = $validator->getMessageBag(); }else{ $business = \App\BusinessType::where('id',$request->business_id)->where('is_active',1)->first(); if(is_null($business)){ $response['flag'] = false; $response['status'] = 2; $response['error'] = "Business Name Not found"; }else{ $business->name = $request->business_name; if($business->save()){ $response['flag'] = true; $response['msg'] = "Business Name Updated Successfully"; }else{ $response['flag'] = false; $response['status'] = 2; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteBusiness($business_id) { $response = array(); $business = \App\BusinessType::where('id', $business_id)->where('is_active', 1)->first(); if (is_null($business)) { $response['flag'] = false; $response['message'] = "Business Name Not Found"; } else { if ($business->delete()) { $response['flag'] = true; $response['message'] = "Business Name Deleted"; } else { $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function getGstSlabs() { $this->get_common(); $this->data['gst_slabs'] = DB::table('gst_slabs')->get(); return view('master.gst-slabs', $this->data); } public function postGstSlab(Request $request) { $validate = \Validator::make($request->all(), array( 'rate' => 'required', 'value' => 'required|unique:gst_slabs' )); if($validate->fails()) { $response['status'] = 1; $response['flag'] = false; $response['errors'] = $validate->getMessageBag(); } else { $gst_slab = new \App\GstSlab(); $gst_slab->rate = $request->rate; $gst_slab->value = $request->value; if($gst_slab->save()){ $response['flag'] = true; $response['status'] = 2; $response['message'] = "GST Slab Added Successfully"; }else{ $response['flag'] = false; $response['status'] = 2; $response['message'] = "Something Went Wrong"; } } return response()->json($response); } public function getEditGstSlab($gst_slab_id) { $this->data['gst_slab'] = \App\GstSlab::where('id',$gst_slab_id)->where('is_active',1)->first(); return view('master.edit-gst-slab',$this->data); } public function updateGstSlab(Request $request) { $validator = \Validator::make($request->all(), array( 'gst_slab_rate' =>'required', 'gst_slab_value' =>'required', ) ); if($validator->fails()) { $response['flag'] = false; $response['status'] = 1; $response['errors'] = $validator->getMessageBag(); }else{ $gst_slab = \App\GstSlab::where('id',$request->gst_slab_id)->where('is_active',1)->first(); if(is_null($gst_slab)){ $response['flag'] = false; $response['status'] = 2; $response['error'] = "Gst Slab Not found"; }else{ $gst_slab->rate = $request->gst_slab_rate; $gst_slab->value = $request->gst_slab_value; if($gst_slab->save()){ $response['flag'] = true; $response['msg'] = "Gst Slab Updated Successfully"; }else{ $response['flag'] = false; $response['status'] = 2; $response['error'] = "Something Went Wrong"; } } } return response()->json($response); } public function deleteGstSlab($gst_slab_id) { $response = array(); $gst_slab = \App\GstSlab::where('id',$gst_slab_id)->where('is_active',1)->first(); if(is_null($gst_slab)){ $response['flag'] = false; $response['message'] = "Gst Slab Not Found"; }else{ $gst_slab->is_active = 0; if($gst_slab->save()){ $response['flag'] = true; $response['message'] = "Gst Slab Deleted"; }else{ $response['flag'] = false; $response['message'] = "Failed to delete"; } } return response()->json($response); } public function manageAccount(){ $this->get_common(); $userId = \Auth::user()->loginId; $datas = DB::table('local_user_mapping')->where('LoginID', $userId)->get(); return view('manage-account',$this->data, ['datas'=>$datas]); } public function ChangeAccountInfo(Request $request) { $userId = \Auth::user()->loginId; // Get the values from the request $nickname = $request->input('nickname'); $EMail = $request->input('EMail'); $MobileNo = $request->input('MobileNo'); // Create an array to hold the update data $updateData = []; if ($nickname !== null) { $updateData['nickname'] = $nickname; } if ($EMail !== null) { $updateData['EMail'] = $EMail; } if ($MobileNo !== null) { $updateData['MobileNo'] = $MobileNo; } // Handle image upload if ($request->hasFile('image')) { // Get the current image filename from the database $currentImage = DB::table('local_user_mapping')->where('LoginID', $userId)->value('image'); // If a current image exists, delete it if ($currentImage) { $pathToCurrentImage = public_path('img/' . $currentImage); if (file_exists($pathToCurrentImage)) { unlink($pathToCurrentImage); } } // Upload the new image $file = $request->file('image'); $originalFilename = $file->getClientOriginalName(); $file->move(public_path('img'), $originalFilename); $updateData['image'] = $originalFilename; } // Update the data only if there are changes $affected = DB::table('local_user_mapping') ->where('LoginID', $userId) ->update($updateData); if ($affected) { return redirect('manage-account')->with("success", "Successfully Changed Your Information"); } else { return redirect('manage-account')->with("error", "Something went wrong"); } } //-------------------Added to manage the module/sub-module arrangement------------------------------------------ public function get_module_management(){ $this->get_common(); $this->data['modules'] = \App\Module::where('is_active',1)->get(); $this->data['sub_modules'] = \App\SubModule::where('is_active',1)->get(); return view('master.module-management',$this->data); } 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 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']] ); // Flash a success message to the session session()->flash('success', 'Sub-Module display order updated successfully'); // Redirect with the flash message return redirect('admin/module-management'); } 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]); // Flash a success message to the session session()->flash('success', 'Module display order updated successfully'); // Redirect with the flash message return redirect('admin/module-management'); } //---------------------------------------------------------------------------------------------------------- }