<?php

/* * ********************************************************************
 * ProxmoxAddon product developed. (Sep 10, 2018)
 * *
 *
 *  CREATED BY MODULESGARDEN       ->       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\ProxmoxAddon\App\UI\Templates\Fields;

use MGProvision\Proxmox\v2 as proxmox;
use ModulesGarden\ProxmoxAddon as main;
use ModulesGarden\ProxmoxAddon\Core\UI\Interfaces\AdminArea;
use ModulesGarden\ProxmoxAddon\Core\UI\Widget\Forms\AjaxFields\Select;

/**
 * Description of NodeSelect
 *
 * @author Pawel Kopec <pawelk@modulesgardne.com>
 */
class VmidSelect extends Select implements AdminArea
{

    use main\App\Services\BaseService;

    public function prepareAjaxData()
    {
        $this->setServerId($this->getRequestValue('id'))->getApi()->setInstance();
        $this->getApi()->debug(true);
        $clusterResurce = new proxmox\repository\ClusterResourcesRepository;
        $clusterResurce->findVm();
        $clusterResurce->addfilter(['type' => 'qemu']);
        foreach ($clusterResurce->fetch() as $resurce)
        {
            /* @var $server proxmox\models\ClusterResource */
            if ($resurce->getTemplate() == "1" || $resurce->getStatus() == "unknown")
            {
                continue;
            }
            $name = "{$resurce->getVmid()} ";
            if ($resurce->getName())
            {
                $name .= "- {$resurce->getName()}";
            }
            $this->availableValues[] = [
                'key'   => $resurce->getVmid(),
                'value' => $name
            ];
        }
    }
}
