|
|
@@ -5,11 +5,13 @@ namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmUpdate\Sections\Qemu;
|
|
|
use MGProvision\Proxmox\v2\models\MountPoint;
|
|
|
use ModulesGarden\ProxmoxAddon\App\Models\VirtualNetwork;
|
|
|
use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ProductService;
|
|
|
+use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ResourceManager;
|
|
|
use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmCreate\Validators\DiskSizeValidator;
|
|
|
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\ClientArea;
|
|
|
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Select;
|
|
|
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Switcher;
|
|
|
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Text;
|
|
|
+use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Range;
|
|
|
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Sections\BaseSection;
|
|
|
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Sections\BoxSection;
|
|
|
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Sections\HalfPageSection;
|
|
|
@@ -30,8 +32,11 @@ class AdditionalDiskSection extends BaseSection implements ClientArea
|
|
|
public function initFields()
|
|
|
{
|
|
|
//size
|
|
|
- $field = new Text('additionalDiskSize');
|
|
|
- $field->addValidator(new DiskSizeValidator('disk',false));
|
|
|
+ $this->resourceManager = new ResourceManager();
|
|
|
+ $field = new Range('additionalDiskSize', $this->configuration()->serverDiskSize->min, $this->resourceManager->disk()->free() - $this->configuration()->serverDiskSize->min);
|
|
|
+ $field->addValidator(new DiskSizeValidator('additionalDiskSize',true));
|
|
|
+ $field->setDefaultValue($this->configuration()->serverDiskSize->min);
|
|
|
+ $field->setDescription('description');
|
|
|
$field->replaceClasses(['lu-col-md-6']);
|
|
|
$this->addField($field);
|
|
|
//bus
|
|
|
@@ -43,6 +48,9 @@ class AdditionalDiskSection extends BaseSection implements ClientArea
|
|
|
}
|
|
|
$field->setAvailableValues($options);
|
|
|
$field->replaceClasses(['lu-col-md-6']);
|
|
|
+ if($this->configuration()->isQemu() && count($this->configuration()->getAdditionalDiskType()) < 2){
|
|
|
+ $field->addClass('hidden');
|
|
|
+ }
|
|
|
$this->addField($field);
|
|
|
}
|
|
|
//format
|
|
|
@@ -54,6 +62,9 @@ class AdditionalDiskSection extends BaseSection implements ClientArea
|
|
|
}
|
|
|
$field->setAvailableValues($options);
|
|
|
$field->replaceClasses(['lu-col-md-6']);
|
|
|
+ if($this->configuration()->isQemu() && count($this->configuration()->getAdditionalDiskFormat()) < 2){
|
|
|
+ $field->addClass('hidden');
|
|
|
+ }
|
|
|
$this->addField($field);
|
|
|
}
|
|
|
if($this->configuration()->isLxc()){
|