Files
freeu-project/app/Http/Controllers/Admin/RoleAppResouceActionLinkController.php
Ritikesh yadav c661166e1d first commit
2024-03-28 14:52:40 +05:30

114 lines
4.3 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\Admin\AppResourceAction;
use App\Models\Admin\RoleAppResouceActionLink;
use App\Models\Role;
use Illuminate\Http\Request;
use DB;
class RoleAppResouceActionLinkController extends Controller
{
//
public function index()
{
$rolesAppResources = RoleAppResouceActionLink::with('appResource','appResource.resource','appResource.permission')->get();
// $rolesAppResources = DB::table('iam_role_app_resource_action_link')->groupBy('role_xid')->get();
// $carteras = DB::table('RoleAppResouceActionLink')
// ->join('roles', 'iam_role_app_resource_action_link.role_xid', '=', 'roles.id')
// ->join('iam_app_resource_action_link','iam_role_app_resource_action_link.app_resource_action_xid','=','iam_app_resource_action_link.id')
// ->distinct()
// ->get();
// $userEmails = DB::table('iam_role_app_resource_action_link')
// ->select('app_resource_action_xid',DB::raw('GROUP_CONCAT(role_xid) as roleIds'))
// ->groupBy('role_xid',)->distinct('role_xid')
// ->get();
return view('Admin.role_app_resource_action.index', compact('rolesAppResources'));
}
public function create()
{
$roles = Role::all();
$appResourcesActions = AppResourceAction::with('resource')->with('permission')->get();
return view('Admin.role_app_resource_action.create', compact('roles', 'appResourcesActions'));
}
public function store(Request $request)
{
$validated = $request->validate([
'role_xid' => ['required'],
'app_resource_action_xid' => ['required'],
]);
$addRoleAppResourceActionLink = RoleAppResouceActionLink::create([
'role_xid' => $request->role_xid,
'app_resource_action_xid' =>$request->app_resource_action_xid
]);
if($addRoleAppResourceActionLink){
return response()->json(['status'=>200,'message'=>'Role with App Resource Linked Successfully.']);
}else{
return response()->json(['status'=>200,'message'=>'Error Linking Role with App Resource.']);
}
// $request->session()->flash('message', 'Role with App-Resource Action Link Added successfully');
// return redirect()->route('admin.role_app_resource_action');
}
public function edit(Request $request, $id)
{
$roleAppResource = RoleAppResouceActionLink::find($id);
$roles = Role::all();
$appResourcesActions = AppResourceAction::with('resource')->with('permission')->get();
return view('Admin.role_app_resource_action.edit', compact('roleAppResource', 'appResourcesActions', 'roles'));
}
public function update(Request $request, $id)
{
// $data = RoleAppResouceActionLink::find($id);
$request->validate([
'role_xid' => ['required'],
'app_resource_action_xid' => ['required'],
]);
$updateRoleAppResourceActionLink = RoleAppResouceActionLink::where('id',$id)->update([
'role_xid' => $request->role_xid,
'app_resource_action_xid' =>$request->app_resource_action_xid
]);
if($updateRoleAppResourceActionLink){
return response()->json(['status'=>200,'message'=>'Role with App Resource Linked Successfully.']);
}else{
return response()->json(['status'=>200,'message'=>'Error Linking Role with App Resource.']);
}
// $data->role_xid = $request->input("role_xid", $data->role_xid);
// $data->app_resource_action_xid = $request->input("app_resource_action_xid", $data->app_resource_action_xid);
// $data->save();
$request->session()->flash('message', 'Role with App-Resource Action Link updated successfully');
return redirect()->route('admin.role_app_resource_action')->with('success', ' Role with App-Resource Action Link updated successfully.');
}
public function delete(Request $request, $id)
{
$Project = RoleAppResouceActionLink::where('id', $id)->delete();
$request->session()->flash('message', 'Role with App-Resource Action Link Deleted successfully');
return redirect()->back()->with(['success' => 'Role with App-Resource Action Link Deleted Successfully.']);
}
}