Initial commit with contrats and domaines modules

This commit is contained in:
mrKamoo
2026-04-08 18:07:08 +02:00
commit 092a6a0484
191 changed files with 24639 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
class AdminUserSeeder extends Seeder
{
public function run(): void
{
$admin = User::firstOrCreate(
['email' => 'admin@dsi.local'],
[
'name' => 'Administrateur',
'password' => Hash::make('password'),
'email_verified_at' => now(),
'active' => true,
]
);
$admin->assignRole('admin');
}
}

View File

@@ -0,0 +1,29 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class CategorieSeeder extends Seeder
{
public function run(): void
{
$categories = [
['nom' => 'Serveurs', 'couleur' => '#EF4444', 'icone' => 'server', 'ordre' => 1],
['nom' => 'Ordinateurs', 'couleur' => '#3B82F6', 'icone' => 'computer', 'ordre' => 2],
['nom' => 'Périphériques', 'couleur' => '#F59E0B', 'icone' => 'device', 'ordre' => 3],
['nom' => 'Licences', 'couleur' => '#10B981', 'icone' => 'key', 'ordre' => 4],
['nom' => 'Accessoires', 'couleur' => '#8B5CF6', 'icone' => 'package', 'ordre' => 5],
['nom' => 'Autres', 'couleur' => '#6B7280', 'icone' => 'archive', 'ordre' => 6],
];
foreach ($categories as $cat) {
DB::table('categories')->insertOrIgnore(array_merge($cat, [
'active' => true,
'created_at' => now(),
'updated_at' => now(),
]));
}
}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
public function run(): void
{
$this->call([
ServiceSeeder::class,
CategorieSeeder::class,
RolesPermissionsSeeder::class,
AdminUserSeeder::class,
]);
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Role;
class RolesPermissionsSeeder extends Seeder
{
public function run(): void
{
app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions();
$roles = ['admin', 'responsable', 'acheteur', 'lecteur'];
foreach ($roles as $role) {
Role::firstOrCreate(['name' => $role, 'guard_name' => 'web']);
}
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class ServiceSeeder extends Seeder
{
public function run(): void
{
$services = [
['nom' => 'Relation Utilisateurs', 'description' => 'Service chargé des relations avec les utilisateurs et du support.', 'couleur' => '#3B82F6', 'icone' => 'users'],
['nom' => 'Infrastructure', 'description' => 'Service infrastructure réseau, serveurs et systèmes.', 'couleur' => '#10B981', 'icone' => 'server'],
['nom' => 'Études Projets', 'description' => 'Service études, développement et gestion de projets SI.', 'couleur' => '#8B5CF6', 'icone' => 'briefcase'],
];
foreach ($services as $service) {
DB::table('services')->insertOrIgnore(array_merge($service, [
'created_at' => now(),
'updated_at' => now(),
]));
}
}
}