|
|
@@ -5,13 +5,11 @@ 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;
|
|
|
@@ -23,37 +21,17 @@ class AdditionalDiskSection extends BaseSection implements ClientArea
|
|
|
|
|
|
public function initContent()
|
|
|
{
|
|
|
- $this->resourceManager = new ResourceManager();
|
|
|
+
|
|
|
$this->initIds('additionalDiskSection');
|
|
|
$this->initFields();
|
|
|
$this->loadAdditionalDisks();
|
|
|
- $diskSize = $this->getData('additionalDiskSize');
|
|
|
-
|
|
|
- logModuleCall(
|
|
|
- 'proxmoxCloud',
|
|
|
- __FUNCTION__,
|
|
|
- $this->formData,
|
|
|
- 'Debug',
|
|
|
- $diskSize
|
|
|
- );
|
|
|
-
|
|
|
- $rangeField = $this->getField('additionalDiskSize');
|
|
|
- $rangeField->setMinValue($diskSize);
|
|
|
- $rangeField->setDefaultValue($diskSize);
|
|
|
- if ($this->configuration()->serverDiskSize->max > ($this->resourceManager->disk()->free())) {
|
|
|
- $rangeField->setMaxValue($this->resourceManager->disk()->free());
|
|
|
- } else {
|
|
|
- $rangeField->setMaxValue($this->configuration()->serverDiskSize->max);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
public function initFields()
|
|
|
{
|
|
|
//size
|
|
|
- $this->resourceManager = new ResourceManager();
|
|
|
- $field = new Range('additionalDiskSize', 0, 0);
|
|
|
- $field->addValidator(new DiskSizeValidator('additionalDiskSize',true));
|
|
|
- $field->setDescription('description');
|
|
|
+ $field = new Text('additionalDiskSize');
|
|
|
+ $field->addValidator(new DiskSizeValidator('disk',false));
|
|
|
$field->replaceClasses(['lu-col-md-6']);
|
|
|
$this->addField($field);
|
|
|
//bus
|
|
|
@@ -65,9 +43,6 @@ 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
|
|
|
@@ -79,9 +54,6 @@ 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()){
|
|
|
@@ -94,8 +66,12 @@ class AdditionalDiskSection extends BaseSection implements ClientArea
|
|
|
//backup
|
|
|
if ($this->configuration()->isPermissionAdditionalDiskBackup())
|
|
|
{
|
|
|
- $field = new Switcher('additionalDiskBackup');
|
|
|
- $field->replaceClasses(['lu-form-check lu-m-b-2x']);
|
|
|
+ $field = new Select('additionalDiskBackup');
|
|
|
+ $field->setAvailableValues([
|
|
|
+ 'on' => 'Enable',
|
|
|
+ 'off'=>'Disable',
|
|
|
+ ]);
|
|
|
+ $field->replaceClasses(['lu-col-md-6']);
|
|
|
$this->addField($field);
|
|
|
}
|
|
|
}
|
|
|
@@ -104,7 +80,7 @@ class AdditionalDiskSection extends BaseSection implements ClientArea
|
|
|
$vm = \ModulesGarden\ProxmoxAddon\Core\Helper\sl('Vm')->getVm();
|
|
|
$this->customTplVars['additionalDisks']=[];
|
|
|
foreach ($vm->getHardDiskRepostiory()->fetch() as $disk){
|
|
|
- if($disk->getName() == 'disk-0'){
|
|
|
+ if($disk->isMaster()){
|
|
|
continue;
|
|
|
}
|
|
|
$this->customTplVars['additionalDisks'][]=
|