initIds('generalSection'); $this->unsetShowTitle(); $this->resourceManager = new ResourceManager(); $this->resourceManager->notVmIds([\ModulesGarden\ProxmoxAddon\Core\Helper\sl('Vm')->getVmModel()->id]); $this->initFields(); } public function initFields() { /** * @deprecated //ipv4 if($this->configuration()->isPermissionIpv4()){ $field = new Text('ipv4'); $field->addValidator(new NumberValidator($this->resourceManager->ipv4()->getMin(), $this->resourceManager->ipv4()->free(),false)); $field->setDescription('description'); $this->addField($field); } //ipv6 if($this->configuration()->isPermissionIpv6()){ $field = new Text('ipv6'); $field->addValidator(new NumberValidator($this->resourceManager->ipv6()->getMin(), $this->resourceManager->ipv6()->free(),false)); $field->setDescription('description'); $this->addField($field); } */ $cpuPrioryty = $this->configuration()->hasCpuPriority(); //name $field = new Text('name'); $field->addValidator(new HostnameValidator()); $field->setDescription('description'); $this->addField($field); //description $field = new Textarea('description'); $field->setDescription('description'); $this->addField($field); //password if($this->configuration()->isPermissionPassword()){ $field = new Text('password'); $field->addValidator(new PasswordValidator()); $field->setDescription('description'); if($this->configuration()->isLxc()){ $field->addHtmlAttribute('readonly', ""); $field->addClass('disabled'); } $this->addField($field); } //cores if($this->configuration()->isPermissionCores()){ $field = new Text('cores'); $field->addValidator(new NumberValidator($this->resourceManager->cores()->getMin(), $this->resourceManager->cores()->free(),true)); $field->setDescription('description'); $this->addField($field); } //cpu priority if($cpuPrioryty){ $field = new Range('cpuPriority', $this->resourceManager->cpuPriority()->getMin(), $this->resourceManager->cpuPriority()->free()); $field->addValidator(new NumberValidator($this->resourceManager->cpuPriority()->getMin(), $this->resourceManager->cpuPriority()->free(),true)); $field->setDescription('description'); $field->addHtmlAttribute('data-label1', sl('lang')->abtr("Very Low")); $field->addHtmlAttribute('data-label2', sl('lang')->abtr("Low")); $field->addHtmlAttribute('data-label3', sl('lang')->abtr("Normal")); $field->addHtmlAttribute('data-label4', sl('lang')->abtr("High")); $field->addHtmlAttribute('data-label5', sl('lang')->abtr("Medium")); $this->addField($field); } //cpulimit if($this->configuration()->isPermissionCpuLimit() && !$cpuPrioryty){ $field = new Text('cpulimit'); $field->addValidator(new CpulimitValidator($this->resourceManager->cpulimit()->getMin(), $this->resourceManager->cpulimit()->free(),true)); $field->setDescription('description'); $this->addField($field); } //cpuunits if($this->configuration()->isPermissionCpuunits() && !$cpuPrioryty){ $field = new Text('cpuunits'); $field->addValidator(new NumberValidator($this->resourceManager->cpuunits()->getMin(), $this->resourceManager->cpuunits()->free(),true)); $field->setDescription('description'); $this->addField($field); } //memory $field = new Text('memory'); $field->addValidator(new NumberValidator($this->resourceManager->memory()->getMin(), $this->resourceManager->memory()->free(),true)); $field->setDescription('description'); $this->addField($field); //swap lxc only if($this->configuration()->isPermissionSwap()){ $field = new Text('swap'); $field->addValidator(new NumberValidator($this->resourceManager->swap()->getMin(), $this->resourceManager->swap()->free(),true)); $field->setDescription('description'); $this->addField($field); } if($this->configuration()->isDetailsCombinedView()){ //disk $field = new Text('disk'); $field->addValidator(new NumberValidator($this->resourceManager->disk()->getMin(), $this->resourceManager->disk()->free(),true)); $field->setDescription('description'); $this->addField($field); } //dnsdomain if($this->configuration()->isPermissionSearchdomain()){ $field = new Text('searchdomain'); $field->addValidator(new HostnameValidator(false)); $field->setDescription('description'); $this->addField($field); } if($this->configuration()->isPermissionNameservers()){ //ns1 $field = new Text('nameserver[0]'); $field->addValidator(new IpAddressValidator()); $field->setDescription('description'); $this->addField($field); //ns2 $field = new Text('nameserver[1]'); $field->addValidator(new IpAddressValidator()); $field->setDescription('description'); $this->addField($field); } } }