http://modulesgarden.com * CONTACT -> contact@modulesgarden.com * * * This software is furnished under a license and may be used and copied * only in accordance with the terms of such license and with the * inclusion of the above copyright notice. This software or any other * copies thereof may not be provided or otherwise made available to any * other person. No title to and ownership of the software is hereby * transferred. * * * ******************************************************************** */ namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\MountPoint\Forms; use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ProductService; use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ResourceManager; use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\MountPoint\Providers\MountPointProvider; use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Validators\NumberValidator; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\ClientArea; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\BaseForm; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Switcher; use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Text; class CreateForm extends BaseForm implements ClientArea { use ProductService; public function initContent() { $this->initIds('createDiskForm'); $this->setFormType('create'); $this->setProvider(new MountPointProvider()); $this->initFields(); $this->loadDataToForm(); } public function getAllowedActions() { return ['create']; } private function initFields() { //size $field = new Text('size'); $resourceManager = new ResourceManager(); $field->addValidator(new NumberValidator($resourceManager->disk()->getMin(),$resourceManager->disk()->free(), true)); $field->setDefaultValue($this->configuration()->serverDiskSize->min); $this->addField($field); //mp $field = new Text('mp'); $field->setPlaceholder("/some/path"); $field->notEmpty(); $this->addField($field); //backup if ($this->configuration()->isPermissionMountPointBackup()) { $field = new Switcher('backup'); $this->addField($field); } } }