<?php

namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Admin\Product\Sections\Qemu;

use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Admin\Product\Sections\TwiceColumnSection;
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\AdminArea;
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Select;
use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Switcher;

class ClientAreaSection extends TwiceColumnSection implements AdminArea
{
    protected $id = 'clientAreaSection';
    protected $name = 'clientAreaSection';
    protected $title = 'clientAreaSection';

    protected function initFields()
    {
        //Start
        $field = new Switcher('customconfigoption[permissionStart]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Reboot
        $field = new Switcher('customconfigoption[permissionReboot]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Stop
        $field = new Switcher('customconfigoption[permissionStop]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Shutdown
        $field = new Switcher('customconfigoption[permissionShutdown]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //noVNC Console
        $field = new Switcher('customconfigoption[permissionNovnc]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //SPICE Console
        $field = new Switcher('customconfigoption[permissionSpice]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //xterm.js Console
        $field = new Switcher('customconfigoption[permissionXtermjs]');
        $field->setDescription('tip');
        $this->addField($field);
        //Reinstallation
        $field = new Switcher('customconfigoption[permissionReinstall]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //KVM Templates
        $field = new Switcher('customconfigoption[permissionOsTemplate]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //OS Templates
        $field = new Select('customconfigoption[permissionOsTemplates][]');
        $field->setDescription('tip');
        $field->enableMultiple();
        $this->addField($field);
        //ISO Images
        $field = new Switcher('customconfigoption[permissionIsoImage]');
        $field->setDescription('tip');
        $this->addField($field);
        //ISO Images
        $field = new Select('customconfigoption[permissionIsoImages][]');
        $field->setDescription('tip');
        $field->enableMultiple();
        $this->addField($field);
        //Secondary ISO Images
        $field = new Select('customconfigoption[permissionSecondaryIsoImages][]');
        $field->setDescription('tip');
        $field->enableMultiple();
        $this->addField($field);
        //MRTG Graphics
        $field = new Switcher('customconfigoption[permissionGraph]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Backup
        $field = new Switcher('customconfigoption[permissionBackup]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Scheduled Backup Jobs
        $field = new Switcher('customconfigoption[permissionBackupJob]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Task History
        $field = new Switcher('customconfigoption[permissionTaskHistory]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Network
        $field = new Switcher('customconfigoption[permissionNetwork]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Snapshots
        $field = new Switcher('customconfigoption[permissionSnapshot]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Firewall
        $field = new Switcher('customconfigoption[permissionFirewall]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Firewall Options
        $field = new Switcher('customconfigoption[permissionFirewallOption]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Disks Management
        $field = new Switcher('customconfigoption[permissionDisk]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //sshkeys
        $field = new Switcher('customconfigoption[permissionSshkeys]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //permissionfirewalOptions
        $field = new Select("customconfigoption[permissionFirewalOptions][]");
        $field->enableMultiple();
        $field->setDescription('description');
        $this->addField($field);
        //customTemplates
        $field = new Switcher('customconfigoption[permissionCustomTemplates]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //permissionVcpus
        $field = new Switcher('customconfigoption[permissionVcpus]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //permissionSockets
        $field = new Switcher('customconfigoption[permissionSockets]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //cores
        $field = new Switcher('customconfigoption[permissionCores]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //permissionUpgrade
        $field = new Switcher('customconfigoption[permissionUpgrade]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //permissionCpuLimit
        $field = new Switcher('customconfigoption[permissionCpuLimit]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //permissionIpv4
        $field = new Switcher('customconfigoption[permissionIpv4]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //permissionIpv6
        $field = new Switcher('customconfigoption[permissionIpv6]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //virtualNetwork
        $field = new Switcher('customconfigoption[permissionVirtualNetwork]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //OsTypes
        $field = new Select('customconfigoption[permissionOstype][]');
        $field->enableMultiple();
        $field->setDescription('tip');
        $field->setDefaultValue("l26");
        $this->addField($field);
        //Locations
        $field = new Select('customconfigoption[locations][]');
        $field->setDescription('tip');
        $field->enableMultiple();
        $this->addField($field);
        //Service Username
        $field = new Switcher('customconfigoption[permissionUsername]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Service Password
        $field = new Switcher('customconfigoption[permissionPassword]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //Service Nameservers
        $field = new Switcher('customconfigoption[permissionNameservers]');
        $field->setDescription('tip');
        $this->addField($field);
        //DNS Domain
        $field = new Switcher('customconfigoption[permissionSearchdomain]');
        $field->setDescription('tip');
        $this->addField($field);
        //permissionCpuunits
        $field = new Switcher('customconfigoption[permissionCpuunits]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
        //calculate Sockets And Cores
        $field = new Switcher('customconfigoption[calculateSocketsAndCores]');
        $field->setDescription('tip');
        $this->addField($field);
        //cloudInitScript
        $field = new Select('customconfigoption[cloudInitScript][]');
        $field->enableMultiple();
        $field->setDescription('tip');
        $this->leftSection->addField($field);
    }
    
}
