VmUpdateForm.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmUpdate\Forms;
  3. use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ProductService;
  4. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmUpdate\Providers\VmUpdateProvider;
  5. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmUpdate\Sections\Qemu\AdditionalDiskSection;
  6. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmUpdate\Sections\Lxc;
  7. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmUpdate\Sections\Qemu;
  8. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmUpdate\Sections\VirtualNetworkSection;
  9. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\ClientArea;
  10. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\BaseStandaloneFormExtSections;
  11. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Sections\HalfPageSection;
  12. class VmUpdateForm extends BaseStandaloneFormExtSections implements ClientArea
  13. {
  14. use ProductService;
  15. public function initContent()
  16. {
  17. $this->unsetShowTitle();
  18. $this->title = null;
  19. $this->addClass("lu-col-md-12");
  20. $this->setFormType('update');
  21. $this->setProvider(new VmUpdateProvider());
  22. //standard
  23. if($this->configuration()->isQemu() && !$this->configuration()->isDetailsCombinedView()){
  24. $this->addSection((new Qemu\GeneralSection())->setMainContainer($this->mainContainer));
  25. }
  26. if($this->configuration()->isLxc() && !$this->configuration()->isDetailsCombinedView()){
  27. $this->addSection((new Lxc\GeneralSection())->setMainContainer($this->mainContainer));
  28. }
  29. //combined
  30. if($this->configuration()->isDetailsCombinedView()){
  31. //rightSection
  32. $rightSection = new HalfPageSection('rightSection');
  33. $rightSection->setMainContainer($this->mainContainer);
  34. //network
  35. $rightSection->addSection((new VirtualNetworkSection())->setMainContainer($this->mainContainer));
  36. //kvm
  37. if($this->configuration()->isQemu()){
  38. $this->addSection((new Qemu\GeneralCombinedSection())->setMainContainer($this->mainContainer));
  39. //disk
  40. $rightSection->addSection((new Qemu\AdditionalDiskSection())->setMainContainer($this->mainContainer));
  41. }
  42. //lxc
  43. if($this->configuration()->isLxc()){
  44. $this->addSection((new Lxc\GeneralCombinedSection())->setMainContainer($this->mainContainer));
  45. //disk
  46. $rightSection->addSection((new Lxc\AdditionalDiskSection())->setMainContainer($this->mainContainer));
  47. }
  48. $this->addSection($rightSection);
  49. }
  50. $this->loadDataToForm();
  51. }
  52. }