114 lines
4.3 KiB
PHP
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.']);
|
|
}
|
|
} |