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\ProxmoxVps\App\UI\IpAddress\Forms; use ModulesGarden\ProxmoxAddon\App\UI\Validators\MacAddressValidator; use ModulesGarden\Servers\ProxmoxVps\App\UI\IpAddress\Providers\DiskProvider; use ModulesGarden\Servers\ProxmoxVps\App\UI\IpAddress\Providers\IpAddressProvider; use ModulesGarden\Servers\ProxmoxVps\App\UI\Validators\CidrValidator; use ModulesGarden\Servers\ProxmoxVps\App\UI\Validators\IpAddressValidator; use ModulesGarden\Servers\ProxmoxVps\Core\UI\Interfaces\AdminArea; use ModulesGarden\Servers\ProxmoxVps\Core\UI\Widget\Forms\BaseForm; use ModulesGarden\Servers\ProxmoxVps\Core\UI\Widget\Forms\Fields\Switcher; use ModulesGarden\Servers\ProxmoxVps\Core\UI\Widget\Forms\Fields\Text; class CreateForm extends BaseForm implements AdminArea { public function initContent() { $this->initIds('createForm'); $this->setFormType('create'); $this->setProvider(new IpAddressProvider()); $this->initFields(); $this->loadDataToForm(); } public function getAllowedActions() { return ['create']; } private function initFields() { //ip $field = new Text('ip'); $field->addValidator(new IpAddressValidator(true)); $this->addField($field); // mac_address $field = new Text('mac_address'); $field->addValidator(new MacAddressValidator()); $this->addField($field); //subnet_mask $field = new Text('subnet_mask'); $field->addValidator(new IpAddressValidator(false)); $this->addField($field); //gateway $field = new Text('gateway'); $field->addValidator(new IpAddressValidator(false)); $this->addField($field); $field = new Text('cidr'); $field->addValidator(new CidrValidator(true)); $field->setPlaceholder('24'); $this->addField($field); //network $field = new Switcher('network'); $field->setDescription('description'); $this->addField($field); } }