diff --git a/app/Models/Directory.php b/app/Models/Directory.php index 25d089b..68e82f2 100644 --- a/app/Models/Directory.php +++ b/app/Models/Directory.php @@ -146,6 +146,30 @@ class Directory extends Model return Directory::renderDirectories($directoriesFiltered); } + /** + * Set default settings for a specific tenant. + * + * @param \App\Models\Tenant $tenant + * @return void + */ + public function setDefaultDirectories(Tenant $tenant): void + { + // Default locked salon directory. + $directory = new self(); + $directory->name = [ + "fr" => "Salon", + "en" => "Salon", + "de" => "Wohnzimmer", + "nl" => "Tentoonstelling", + ]; + $directory->directory_id = null; + $directory->needAuthorization = 0; + $directory->is_system = 1; + $directory->order = 1; + $directory->tenant_id = $tenant->getKey(); + $directory->saveOrFail(); + } + // * RELATIONSHIPS /** diff --git a/app/Models/Tenant.php b/app/Models/Tenant.php index b73e430..2df321a 100644 --- a/app/Models/Tenant.php +++ b/app/Models/Tenant.php @@ -48,6 +48,7 @@ class Tenant extends BaseTenant implements TenantContract static::created(function (self $model) { (new Setting())->setDefaultSettings($model); (new Formulary())->setDefaultFormularies($model); + (new Directory())->setDefaultDirectories($model); self::resetCache(); }); static::updating(function (self $model) { diff --git a/database/seeders/DirectorySeeder.php b/database/seeders/DirectorySeeder.php index bde2319..2b02f49 100644 --- a/database/seeders/DirectorySeeder.php +++ b/database/seeders/DirectorySeeder.php @@ -17,19 +17,7 @@ class DirectorySeeder extends Seeder */ public function run(): void { - $directory = new Directory(); - $directory->name = [ - "fr" => "Salon", - "en" => "Salon", - "de" => "Wohnzimmer", - "nl" => "Tentoonstelling", - ]; - $directory->directory_id = null; - $directory->needAuthorization = 0; - $directory->is_system = 1; - $directory->order = 1; - $directory->tenant_id = Tenant::query()->first()->getKey(); - $directory->saveOrFail(); + // Default "Salon" directory is created in the Tenant model. Directory::factory(14)->create();