Edit File: RoleController.php
<?php namespace App\Http\Controllers\Admin; use App\Models\Permission; use App\Models\Role; use App\Traits\Roles; use App\Traits\Report; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Http\Requests\Admin\Role\Create; use Illuminate\Support\Facades\Route; class RoleController extends Controller { use Roles ; /*************************** get all roles **************************/ public function index() { $rows = Role::latest()->get(); return view('admin.roles.index', compact('rows')); } /*************************** get all roles **************************/ public function create() { $html = $this->addRole(); return view('admin.roles.create' , compact('html')); } /*************************** get all roles **************************/ public function store(Create $request) { if(!$request->permissions){ return response()->json(['key' => 'error', 'msg'=>awtTrans('يجب اختيار صلاحيه واحده علي الاقل')]); } $role = Role::create([ 'name' => ['ar' => $request->name_ar , 'en' => $request->name_en] ]); $permissions = []; foreach ($request->permissions ?? [] as $permission) $permissions[]['permission'] = $permission; $role->permissions()->createMany($permissions); Report::addToLog(' اضافه صلاحية') ; return response()->json(['url' => route('admin.roles.index')]); } /*************************** get all roles **************************/ public function edit($id) { $role = Role::findOrFail($id); $html = $this->editRole($id); $countAllPermissions = Permission::where('role_id', $id)->count(); return view('admin.roles.edit', compact('role' , 'html', 'countAllPermissions')); } /*************************** get all roles **************************/ public function update(Create $request, $id) { if(!$request->permissions){ return response()->json(['key' => 'error', 'msg'=>awtTrans('يجب اختيار صلاحيه واحده علي الاقل')]); } $role = Role::findOrFail($id); $role->update([ 'name' => ['ar' => $request->name_ar , 'en' => $request->name_en] ]); $role->permissions()->delete(); $permissions = []; foreach ($request->permissions ?? [] as $permission) $permissions[]['permission'] = $permission; $role->permissions()->createMany($permissions); Report::addToLog(' تعديل صلاحية') ; return response()->json(['url' => route('admin.roles.index')]); } /*************************** destroy **************************/ public function destroy($id) { $role = Role::findOrFail($id)->delete(); Report::addToLog(' حذف صلاحية') ; return response()->json(['id' =>$id]); } }
Back to File Manager