git add .

git commit "Implement admin roles and permissions system"
This commit is contained in:
2026-08-18 14:07:35 +03:30
parent 78a3b1d63d
commit bff0c7ea4d
8 changed files with 307 additions and 12 deletions
@@ -6,7 +6,7 @@ use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\AdminUpdateRequest;
use App\Http\Requests\AdminStoreRequest;
use App\Models\Admin;
use Illuminate\Http\Request;
use App\Models\Role;
use Illuminate\Support\Facades\Hash;
class AdminController extends Controller
@@ -40,7 +40,9 @@ class AdminController extends Controller
public function edit(Admin $admin)
{
return view('admin.admins.edit',compact('admin'));
$roles = Role::all();
return view('admin.admins.edit',compact('admin','roles'));
}
public function update( AdminUpdateRequest $request,Admin $admin)
{
+31
View File
@@ -0,0 +1,31 @@
<?php
namespace App\Http\Controllers;
use App\Models\Permission;
use App\Models\Role;
use Illuminate\Http\Request;
class RoleController extends Controller
{
public function index()
{
$roles=Role::paginate(3);
return view('admins.Roles.index',compact('roles'));
}
public function permissions(Role $role)
{
$permissions=Permission::all();
return view('admins.Roles.permissions',compact('role','permissions'));
}
public function updatePermissions(Request $request, Role $role)
{
$role->permissions()->sync($request->permissions ?? []);
return redirect()->back()->with('success','دسترسی‌ها با موفقیت ذخیره شد');
}
}
+15 -10
View File
@@ -10,10 +10,10 @@ use Illuminate\Database\Eloquent\Model;
/**
* Class AdminRole
*
*
* @property int $admin_id
* @property int $role_id
*
*
* @property Admin $admin
* @property Role $role
*
@@ -31,13 +31,18 @@ class AdminRole extends Model
'role_id' => 'int'
];
public function admin()
{
return $this->belongsTo(Admin::class);
}
public function roles()
{
return $this->belongsToMany(Role::class, 'admin_roles');
}
public function role()
{
return $this->belongsTo(Role::class);
}
public function hasPermission($permission)
{
return $this->roles()
->whereHas('permissions', function ($query) use ($permission) {
$query->where('slug', $permission);
})
->exists();
}
}