فهرست منبع

bugfix max disk size

andre 4 سال پیش
والد
کامیت
4b186659e8
2فایلهای تغییر یافته به همراه12 افزوده شده و 3 حذف شده
  1. 1 0
      app/UI/Disk/Forms/CreateForm.php
  2. 11 3
      app/UI/VmUpdate/Sections/Qemu/AdditionalDiskSection.php

+ 1 - 0
app/UI/Disk/Forms/CreateForm.php

@@ -39,6 +39,7 @@ class CreateForm extends BaseForm implements ClientArea
 
     public function initContent()
     {
+        $this->resourceManager = new ResourceManager();
         $this->initIds('createDiskForm');
         $this->setFormType('create');
         $this->setProvider(new DiskProvider());

+ 11 - 3
app/UI/VmUpdate/Sections/Qemu/AdditionalDiskSection.php

@@ -23,19 +23,27 @@ class AdditionalDiskSection extends BaseSection implements ClientArea
 
     public function initContent()
     {
-
+        $this->resourceManager = new ResourceManager();
         $this->initIds('additionalDiskSection');
         $this->initFields();
         $this->loadAdditionalDisks();
+        $diskSize = parent::getFormData()['size'];
+        $rangeField = $this->getField('additionalDiskSize');
+        $rangeField->setMinValue($diskSize);
+        $rangeField->setDefaultValue($diskSize);
+        if ($this->configuration()->serverDiskSize->max > ($this->resourceManager->disk()->free() + $diskSize)) {
+            $rangeField->setMaxValue($this->resourceManager->disk()->free() + $diskSize);
+        } else {
+            $rangeField->setMaxValue($this->configuration()->serverDiskSize->max);
+        }
     }
 
     public function initFields()
     {
         //size
         $this->resourceManager = new ResourceManager();
-        $field = new Range('additionalDiskSize', $this->configuration()->serverDiskSize->min, $this->resourceManager->disk()->free() + parent::getFormData()['size'] ? parent::getFormData()['size'] : 0);
+        $field = new Range('additionalDiskSize', 0, 0);
         $field->addValidator(new DiskSizeValidator('additionalDiskSize',true));
-        $field->setDefaultValue($this->configuration()->serverDiskSize->min);
         $field->setDescription('description');
         $field->replaceClasses(['lu-col-md-6']);
         $this->addField($field);