| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- /* * ********************************************************************
- * ProxmoxVPS Product developed. (27.03.19)
- * *
- *
- * 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\Servers\ProxmoxVps\App\UI\Snapshot\Forms;
- use MGProvision\Proxmox\v2\models\Kvm;
- use ModulesGarden\ProxmoxAddon\App\Services\ApiService;
- use ModulesGarden\ProxmoxAddon\App\Services\Vps\ProductService;
- use ModulesGarden\Servers\ProxmoxVps\App\UI\Snapshot\Providers\SnapshotProvider;
- use ModulesGarden\Servers\ProxmoxVps\App\UI\Validators\SnapshotValidator;
- use ModulesGarden\Servers\ProxmoxVps\Core\UI\Helpers\AlertTypesConstants;
- use ModulesGarden\Servers\ProxmoxVps\Core\UI\Interfaces\ClientArea;
- 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;
- use ModulesGarden\Servers\ProxmoxVps\Core\UI\Widget\Forms\Fields\Textarea;
- class CreateForm extends BaseForm implements ClientArea
- {
- use ApiService;
- use ProductService;
- public function initContent()
- {
- $this->initIds('createForm');
- $this->setFormType('create');
- $this->setProvider(new SnapshotProvider());
- $this->setInternalAlertMessage('confirmCreate');
- $this->setInternalAlertMessageType(AlertTypesConstants::INFO);
- $this->initFields();
- $this->loadDataToForm();
- }
- public function getAllowedActions()
- {
- return ['create'];
- }
- private function initFields()
- {
- //name
- $field = new Text('name');
- $field->notEmpty();
- $field->addValidator(new SnapshotValidator(true));
- $this->addField($field);
- if ($this->vm() instanceof Kvm)
- {
- //vmstate
- $field = new Switcher("vmstate");
- $this->addField($field);
- }
- //description
- $field = new Textarea("description");
- $this->addField($field);
- }
- }
|