mirror of
https://github.com/pelican-dev/panel.git
synced 2025-09-08 09:38:37 +02:00
fix server variables naming
This commit is contained in:
parent
7d9f567254
commit
1c0b7f7d5f
@ -334,7 +334,8 @@ class CreateServer extends CreateRecord
|
|||||||
$variables = [];
|
$variables = [];
|
||||||
$set($path = 'server_variables', $serverVariables->sortBy(['sort'])->all());
|
$set($path = 'server_variables', $serverVariables->sortBy(['sort'])->all());
|
||||||
for ($i = 0; $i < $serverVariables->count(); $i++) {
|
for ($i = 0; $i < $serverVariables->count(); $i++) {
|
||||||
$set("$path.$i.variable_value", $serverVariables[$i]['default_value']);
|
$set("$path.$i.variable_value_input", $serverVariables[$i]['default_value']);
|
||||||
|
$set("$path.$i.variable_value_select", $serverVariables[$i]['default_value']);
|
||||||
$set("$path.$i.variable_id", $serverVariables[$i]['id']);
|
$set("$path.$i.variable_id", $serverVariables[$i]['id']);
|
||||||
$variables[$serverVariables[$i]['env_variable']] = $serverVariables[$i]['default_value'];
|
$variables[$serverVariables[$i]['env_variable']] = $serverVariables[$i]['default_value'];
|
||||||
}
|
}
|
||||||
@ -426,12 +427,10 @@ class CreateServer extends CreateRecord
|
|||||||
->schema([
|
->schema([
|
||||||
TextEntry::make(trans('admin/server.select_egg'))
|
TextEntry::make(trans('admin/server.select_egg'))
|
||||||
->hidden(fn (Get $get) => $get('egg_id')),
|
->hidden(fn (Get $get) => $get('egg_id')),
|
||||||
|
|
||||||
TextEntry::make(trans('admin/server.no_variables'))
|
TextEntry::make(trans('admin/server.no_variables'))
|
||||||
->hidden(fn (Get $get) => !$get('egg_id') ||
|
->hidden(fn (Get $get) => !$get('egg_id') ||
|
||||||
Egg::query()->find($get('egg_id'))?->variables()?->count()
|
Egg::query()->find($get('egg_id'))?->variables()?->count()
|
||||||
),
|
),
|
||||||
|
|
||||||
Repeater::make('server_variables')
|
Repeater::make('server_variables')
|
||||||
->label('')
|
->label('')
|
||||||
->relationship('serverVariables', fn (Builder $query) => $query->orderByPowerJoins('variable.sort'))
|
->relationship('serverVariables', fn (Builder $query) => $query->orderByPowerJoins('variable.sort'))
|
||||||
@ -443,9 +442,19 @@ class CreateServer extends CreateRecord
|
|||||||
->deletable(false)
|
->deletable(false)
|
||||||
->default([])
|
->default([])
|
||||||
->hidden(fn ($state) => empty($state))
|
->hidden(fn ($state) => empty($state))
|
||||||
->schema(function () {
|
->mutateRelationshipDataBeforeCreateUsing(function ($data) {
|
||||||
|
$data['variable_value'] = ($data['is_select'] ? $data['variable_value_select'] : $data['variable_value_input']) ?? '';
|
||||||
|
|
||||||
$text = TextInput::make('variable_value')
|
return $data;
|
||||||
|
})
|
||||||
|
->schema(function () {
|
||||||
|
$isSelect = Hidden::make('is_select')
|
||||||
|
->dehydrated(false)
|
||||||
|
->formatStateUsing(fn (Get $get) => (bool) collect($get('rules'))->reduce(
|
||||||
|
fn ($result, $value) => $result === true && !str($value)->startsWith('in:'), true
|
||||||
|
));
|
||||||
|
|
||||||
|
$text = TextInput::make('variable_value_input')
|
||||||
->hidden($this->shouldHideComponent(...))
|
->hidden($this->shouldHideComponent(...))
|
||||||
->dehydratedWhenHidden()
|
->dehydratedWhenHidden()
|
||||||
->required(fn (Get $get) => in_array('required', $get('rules')))
|
->required(fn (Get $get) => in_array('required', $get('rules')))
|
||||||
@ -463,7 +472,7 @@ class CreateServer extends CreateRecord
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
$select = Select::make('variable_value')
|
$select = Select::make('variable_value_select')
|
||||||
->hidden($this->shouldHideComponent(...))
|
->hidden($this->shouldHideComponent(...))
|
||||||
->dehydratedWhenHidden()
|
->dehydratedWhenHidden()
|
||||||
->options($this->getSelectOptionsFromRules(...))
|
->options($this->getSelectOptionsFromRules(...))
|
||||||
@ -486,7 +495,7 @@ class CreateServer extends CreateRecord
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return $components;
|
return [$isSelect, ...$components];
|
||||||
})
|
})
|
||||||
->columnSpan(2),
|
->columnSpan(2),
|
||||||
]),
|
]),
|
||||||
|
@ -646,19 +646,18 @@ class EditServer extends EditRecord
|
|||||||
return $query->orderByPowerJoins('variable.sort');
|
return $query->orderByPowerJoins('variable.sort');
|
||||||
})
|
})
|
||||||
->grid()
|
->grid()
|
||||||
->mutateRelationshipDataBeforeSaveUsing(function (array &$data): array {
|
->mutateRelationshipDataBeforeSaveUsing(function (array $data) {
|
||||||
foreach ($data as $key => $value) {
|
$data['variable_value'] = ($data['is_select'] ? $data['variable_value_select'] : $data['variable_value_input']) ?? '';
|
||||||
if (!isset($data['variable_value'])) {
|
|
||||||
$data['variable_value'] = '';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
})
|
})
|
||||||
->reorderable(false)->addable(false)->deletable(false)
|
->reorderable(false)->addable(false)->deletable(false)
|
||||||
->schema(function () {
|
->schema(function () {
|
||||||
|
$isSelect = Hidden::make('is_select')
|
||||||
|
->dehydrated(false)
|
||||||
|
->formatStateUsing(fn (ServerVariable $serverVariable) => (bool) array_first($serverVariable->variable->rules, fn ($value) => str($value)->startsWith('in:'), false));
|
||||||
|
|
||||||
$text = TextInput::make('variable_value')
|
$text = TextInput::make('variable_value_input')
|
||||||
->hidden($this->shouldHideComponent(...))
|
->hidden($this->shouldHideComponent(...))
|
||||||
->dehydratedWhenHidden()
|
->dehydratedWhenHidden()
|
||||||
->required(fn (ServerVariable $serverVariable) => $serverVariable->variable->getRequiredAttribute())
|
->required(fn (ServerVariable $serverVariable) => $serverVariable->variable->getRequiredAttribute())
|
||||||
@ -676,7 +675,7 @@ class EditServer extends EditRecord
|
|||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$select = Select::make('variable_value')
|
$select = Select::make('variable_value_select')
|
||||||
->hidden($this->shouldHideComponent(...))
|
->hidden($this->shouldHideComponent(...))
|
||||||
->dehydratedWhenHidden()
|
->dehydratedWhenHidden()
|
||||||
->options($this->getSelectOptionsFromRules(...))
|
->options($this->getSelectOptionsFromRules(...))
|
||||||
@ -691,10 +690,11 @@ class EditServer extends EditRecord
|
|||||||
->label(fn (ServerVariable $serverVariable) => $serverVariable->variable->name)
|
->label(fn (ServerVariable $serverVariable) => $serverVariable->variable->name)
|
||||||
->hintIconTooltip(fn (ServerVariable $serverVariable) => implode('|', $serverVariable->variable->rules))
|
->hintIconTooltip(fn (ServerVariable $serverVariable) => implode('|', $serverVariable->variable->rules))
|
||||||
->prefix(fn (ServerVariable $serverVariable) => '{{' . $serverVariable->variable->env_variable . '}}')
|
->prefix(fn (ServerVariable $serverVariable) => '{{' . $serverVariable->variable->env_variable . '}}')
|
||||||
->helperText(fn (ServerVariable $serverVariable) => empty($serverVariable->variable->description) ? '—' : $serverVariable->variable->description);
|
->helperText(fn (ServerVariable $serverVariable) => empty($serverVariable->variable->description) ? '—' : $serverVariable->variable->description)
|
||||||
|
->formatStateUsing(fn (ServerVariable $serverVariable) => $serverVariable->variable_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $components;
|
return [$isSelect, ...$components];
|
||||||
})
|
})
|
||||||
->columnSpan(6),
|
->columnSpan(6),
|
||||||
]),
|
]),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user