Explorar el Código

bugfix max disk size

andre hace 4 años
padre
commit
868b29ab88
Se han modificado 1 ficheros con 7 adiciones y 3 borrados
  1. 7 3
      app/UI/Disk/Forms/UpdateForm.php

+ 7 - 3
app/UI/Disk/Forms/UpdateForm.php

@@ -38,6 +38,7 @@ class UpdateForm extends BaseForm implements ClientArea
 
     public function initContent()
     {
+        $this->resourceManager = new ResourceManager();
         $this->initIds('updateDiskForm');
         $this->setFormType('update');
         $this->setProvider(new DiskProvider());
@@ -47,6 +48,11 @@ class UpdateForm extends BaseForm implements ClientArea
         $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 getAllowedActions()
@@ -59,10 +65,8 @@ class UpdateForm extends BaseForm implements ClientArea
         //entity id
         $this->addField(new Hidden("id"));
         //size
-        $this->resourceManager = new ResourceManager();
-        $field = new Range('additionalDiskSize', 0, $this->resourceManager->disk()->free());
+        $field = new Range('additionalDiskSize', 0, 0);
         $field->addValidator(new DiskSizeValidator('additionalDiskSize',true));
-        $field->setDefaultValue(0);
         $this->addField($field);
         //backup
         if ($this->configuration()->isPermissionAdditionalDiskBackup())