fix: 🐛 Fix role search
This commit is contained in:
parent
8fdac0ee46
commit
fac8668fb8
|
@ -11,8 +11,8 @@ use Illuminate\Contracts\View\View;
|
|||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use App\Models\Permission;
|
||||
use App\Models\Role;
|
||||
|
||||
class RoleController extends Controller
|
||||
{
|
||||
|
@ -182,8 +182,7 @@ class RoleController extends Controller
|
|||
*/
|
||||
public function dataTable()
|
||||
{
|
||||
$query = Role::query()->withCount(['users', 'permissions']);
|
||||
|
||||
$query = Role::query()->withCount(['users', 'permissions'])->get();
|
||||
|
||||
return datatables($query)
|
||||
->editColumn('id', function (Role $role) {
|
||||
|
@ -205,10 +204,10 @@ class RoleController extends Controller
|
|||
->editColumn('name', function (Role $role) {
|
||||
return "<span style='background-color: $role->color' class='badge'>$role->name</span>";
|
||||
})
|
||||
->editColumn('usercount', function ($query) {
|
||||
->editColumn('users_count', function ($query) {
|
||||
return $query->users_count;
|
||||
})
|
||||
->editColumn('permissionscount', function ($query){
|
||||
->editColumn('permissions_count', function ($query){
|
||||
return $query->permissions_count;
|
||||
})
|
||||
->editColumn('power', function (Role $role){
|
||||
|
|
|
@ -26,7 +26,7 @@ use Illuminate\Support\HtmlString;
|
|||
use Illuminate\Validation\Rule;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
use Spatie\QueryBuilder\QueryBuilder;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use App\Models\Role;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
|
|
|
@ -10,7 +10,7 @@ use Illuminate\Database\Eloquent\Model;
|
|||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use App\Models\Role;
|
||||
use Spatie\QueryBuilder\QueryBuilder;
|
||||
|
||||
class RoleController extends Controller
|
||||
|
|
22
app/Models/Permission.php
Normal file
22
app/Models/Permission.php
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Spatie\Permission\Models\Permission as BasePermission;
|
||||
|
||||
class Permission extends BasePermission
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'guard_name',
|
||||
'readable_name'
|
||||
];
|
||||
}
|
23
app/Models/Role.php
Normal file
23
app/Models/Role.php
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Spatie\Permission\Models\Role as BaseRole;
|
||||
|
||||
class Role extends BaseRole
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'guard_name',
|
||||
'power',
|
||||
'color'
|
||||
];
|
||||
}
|
|
@ -13,7 +13,7 @@ return [
|
|||
* `Spatie\Permission\Contracts\Permission` contract.
|
||||
*/
|
||||
|
||||
'permission' => Spatie\Permission\Models\Permission::class,
|
||||
'permission' => App\Models\Permission::class,
|
||||
|
||||
/*
|
||||
* When using the "HasRoles" trait from this package, we need to know which
|
||||
|
@ -24,7 +24,7 @@ return [
|
|||
* `Spatie\Permission\Contracts\Role` contract.
|
||||
*/
|
||||
|
||||
'role' => Spatie\Permission\Models\Role::class,
|
||||
'role' => App\Models\Role::class,
|
||||
|
||||
],
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
|
@ -17,11 +16,6 @@ return new class extends Migration
|
|||
Schema::table('roles', function (Blueprint $table) {
|
||||
$table->integer('power')->after("color")->default(50);
|
||||
});
|
||||
|
||||
Artisan::call('db:seed', [
|
||||
'--class' => 'PermissionsSeeder',
|
||||
'--force' => true
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -6,6 +6,7 @@ use App\Models\User;
|
|||
use Illuminate\Database\Seeder;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Spatie\Permission\PermissionRegistrar;
|
||||
|
||||
class PermissionsSeeder extends Seeder
|
||||
{
|
||||
|
@ -16,6 +17,8 @@ class PermissionsSeeder extends Seeder
|
|||
*/
|
||||
public function run()
|
||||
{
|
||||
// Reset cached roles and permissions.
|
||||
app()[PermissionRegistrar::class]->forgetCachedPermissions();
|
||||
|
||||
$this->createPermissions();
|
||||
$this->createRoles();
|
||||
|
@ -61,10 +64,10 @@ class PermissionsSeeder extends Seeder
|
|||
'user.referral',
|
||||
];
|
||||
/** @var Role $adminRole */
|
||||
$adminRole = Role::updateOrCreate(["name"=>"Admin","color"=>"#fa0000", "power"=>100]);
|
||||
$supportRole = Role::updateOrCreate(["name"=>"Support-Team","color"=>"#00b0b3","power"=>50]);
|
||||
$clientRole = Role::updateOrCreate(["name"=>"Client","color"=>"#008009","power"=>10]);
|
||||
$userRole = Role::updateOrCreate(["name"=>"User","color"=>"#0052a3","power"=>10]);
|
||||
$adminRole = Role::create(["name"=>"Admin","color"=>"#fa0000", "power"=>100]);
|
||||
$supportRole = Role::create(["name"=>"Support-Team","color"=>"#00b0b3","power"=>50]);
|
||||
$clientRole = Role::create(["name"=>"Client","color"=>"#008009","power"=>10]);
|
||||
$userRole = Role::create(["name"=>"User","color"=>"#0052a3","power"=>10]);
|
||||
|
||||
$adminRole->givePermissionTo(Permission::findByName('*'));
|
||||
|
||||
|
|
|
@ -69,10 +69,10 @@
|
|||
data: 'name'
|
||||
},
|
||||
{
|
||||
data: 'usercount'
|
||||
data: 'users_count'
|
||||
},
|
||||
{
|
||||
data: 'permissionscount'
|
||||
data: 'permissions_count'
|
||||
},
|
||||
{
|
||||
data: 'power'
|
||||
|
|
Loading…
Reference in a new issue