65 lines
1.8 KiB
PHP
65 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Spatie\Permission\Models\Role;
|
|
use Spatie\Permission\Models\Permission;
|
|
|
|
class RolesPermisosSeeder extends Seeder
|
|
{
|
|
public function run()
|
|
{
|
|
// ---- PERMISOS BASE ----
|
|
$permisos = [
|
|
'ver_clientes',
|
|
'crear_clientes',
|
|
'editar_clientes',
|
|
'eliminar_clientes',
|
|
|
|
'ver_productos',
|
|
'crear_productos',
|
|
'editar_productos',
|
|
'eliminar_productos',
|
|
|
|
'ver_cotizaciones',
|
|
'crear_cotizaciones',
|
|
'aprobar_cotizaciones',
|
|
];
|
|
|
|
foreach ($permisos as $permiso) {
|
|
Permission::firstOrCreate(['name' => $permiso]);
|
|
}
|
|
|
|
// ---- ROLES ----
|
|
$superAdmin = Role::firstOrCreate(['name' => 'super-admin']);
|
|
$companyAdmin = Role::firstOrCreate(['name' => 'company-admin']);
|
|
$vendedor = Role::firstOrCreate(['name' => 'vendedor']);
|
|
$visualizador = Role::firstOrCreate(['name' => 'visualizador']);
|
|
|
|
// Super admin tiene TODO
|
|
$superAdmin->syncPermissions(Permission::all());
|
|
|
|
// Company admin (todo menos eliminar)
|
|
$companyAdmin->syncPermissions([
|
|
'ver_clientes','crear_clientes','editar_clientes',
|
|
'ver_productos','crear_productos','editar_productos',
|
|
'ver_cotizaciones','crear_cotizaciones','aprobar_cotizaciones',
|
|
]);
|
|
|
|
// Vendedor
|
|
$vendedor->syncPermissions([
|
|
'ver_clientes','crear_clientes',
|
|
'ver_productos',
|
|
'ver_cotizaciones','crear_cotizaciones',
|
|
]);
|
|
|
|
// Visualizador
|
|
$visualizador->syncPermissions([
|
|
'ver_clientes',
|
|
'ver_productos',
|
|
'ver_cotizaciones',
|
|
]);
|
|
}
|
|
}
|