SshKeyModal.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Home\Modals;
  3. use ModulesGarden\ProxmoxAddon\App\Services\UrlService;
  4. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Home\Buttons\RedirectButton;
  5. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Home\Forms\SshKeyForm;
  6. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\ClientArea;
  7. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Buttons\ModalActionButtons\BaseAcceptButton;
  8. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Buttons\ModalActionButtons\BaseCancelButton;
  9. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Modals\BaseModal;
  10. class SshKeyModal extends BaseModal implements ClientArea
  11. {
  12. public function initContent()
  13. {
  14. $this->initIds('sshKeyModal');
  15. $this->setModalSizeLarge();
  16. $this->addForm(new SshKeyForm());
  17. }
  18. protected function initActionButtons()
  19. {
  20. if (!empty($this->actionButtons))
  21. {
  22. return $this;
  23. }
  24. if(\ModulesGarden\ProxmoxAddon\Core\Helper\sl('Vm')->getVmModel()->keyPair->getPrivate()){
  25. $vmId = \ModulesGarden\ProxmoxAddon\Core\Helper\sl('Vm')->getVmModel()->id;
  26. //URL
  27. $urlService = new UrlService();
  28. $rd = new RedirectButton("sshPrivateKeyDownloadButton");
  29. $rd->replaceClasses(['lu-btn lu-btn--success closeModal']);
  30. $rd->setHref($urlService->getUrl("sshKey", "sshPrivateKeyDownload",['vm'=> $vmId]));
  31. $rd->setIcon(null);
  32. $rd->setShowTitle();
  33. $rd->deleteHtmlAttribute('data-toggle');
  34. $rd->addHtmlAttribute('@click', 'closeModal($event)');
  35. $this->addActionButton($rd);
  36. }
  37. $this->addActionButton(new BaseCancelButton);
  38. return $this;
  39. }
  40. }