<?php

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

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->setDefaultValue("on");
        $field->setDescription('tip');
        $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->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //Shutdown
        $field = new Switcher('customconfigoption[permissionShutdown]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //noVNC Console
        $field = new Switcher('customconfigoption[permissionNovnc]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //SPICE Console
        $field = new Switcher('customconfigoption[permissionSpice]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //xterm.js Console
        $field = new Switcher('customconfigoption[permissionXtermjs]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //Reinstallation
        $field = new Switcher('customconfigoption[permissionReinstall]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //OS Templates
        $field = new Select('customconfigoption[permissionOsTemplates][]');
        $field->setDescription('tip');
        $field->enableMultiple();
        $this->addField($field);
        //MRTG Graphics
        $field = new Switcher('customconfigoption[permissionGraph]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //Backup
        $field = new Switcher('customconfigoption[permissionBackup]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //Scheduled Backup Jobs
        $field = new Switcher('customconfigoption[permissionBackupJob]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //Task History
        $field = new Switcher('customconfigoption[permissionTaskHistory]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //Network
        $field = new Switcher('customconfigoption[permissionNetwork]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //Snapshots
        $field = new Switcher('customconfigoption[permissionSnapshot]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //Firewall
        $field = new Switcher('customconfigoption[permissionFirewall]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //Firewall Options
        $field = new Switcher('customconfigoption[permissionFirewallOption]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //Disks Management
        $field = new Switcher('customconfigoption[permissionDisk]');
        $field->setDefaultValue("on");
        $field->setDescription('tip');
        $this->addField($field);
        //permissionfirewalOptions
        $field = new Select("customconfigoption[permissionFirewalOptions][]");
        $field->enableMultiple();
        $field->setDescription('description');
        $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);
        //Locations
        $field = new Select('customconfigoption[locations][]');
        $field->setDescription('tip');
        $field->enableMultiple();
        $this->addField($field);
        //cores
        $field = new Switcher('customconfigoption[permissionCores]');
        $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);
        //swap
        $field = new Switcher('customconfigoption[permissionSwap]');
        $field->setDescription('tip');
        $field->setDefaultValue("on");
        $this->addField($field);
    }



}
