mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-20 04:04:45 +02:00
Generate name automatically for server if egg is selected
This commit is contained in:
parent
17787fee18
commit
48c97ee1cc
@ -252,8 +252,8 @@ class CreateServer extends CreateRecord
|
|||||||
->searchable()
|
->searchable()
|
||||||
->preload()
|
->preload()
|
||||||
->live()
|
->live()
|
||||||
->afterStateUpdated(function ($state, Forms\Set $set) {
|
->afterStateUpdated(function ($state, Forms\Set $set, Forms\Get $get, $old) {
|
||||||
$egg = Egg::find($state);
|
$egg = Egg::query()->find($state);
|
||||||
$set('startup', $egg->startup);
|
$set('startup', $egg->startup);
|
||||||
|
|
||||||
$variables = $egg->variables ?? [];
|
$variables = $egg->variables ?? [];
|
||||||
@ -271,6 +271,11 @@ class CreateServer extends CreateRecord
|
|||||||
}
|
}
|
||||||
|
|
||||||
$set('environment', $variables);
|
$set('environment', $variables);
|
||||||
|
|
||||||
|
$previousEgg = Egg::query()->find($old);
|
||||||
|
if (!$get('name') || $previousEgg?->getKebabName() === $get('name')) {
|
||||||
|
$set('name', $egg->getKebabName());
|
||||||
|
}
|
||||||
})
|
})
|
||||||
->required(),
|
->required(),
|
||||||
|
|
||||||
|
@ -307,4 +307,9 @@ class Egg extends Model
|
|||||||
{
|
{
|
||||||
return $this->belongsTo(self::class, 'config_from');
|
return $this->belongsTo(self::class, 'config_from');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getKebabName(): string
|
||||||
|
{
|
||||||
|
return str($this->name)->kebab()->lower()->trim()->split('/[^\w\-]/')->join('');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user