Jelajahi Sumber

try to use console button

andre 4 tahun lalu
induk
melakukan
dde6aa2f8d
2 mengubah file dengan 18 tambahan dan 17 penghapusan
  1. 18 1
      app/UI/Vms/Buttons/ConsoleButton.php
  2. 0 16
      app/UI/Vms/Pages/VmsDataTable.php

+ 18 - 1
app/UI/Vms/Buttons/ConsoleButton.php

@@ -19,6 +19,7 @@
 
 namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Vms\Buttons;
 
+use ModulesGarden\ProxmoxAddon\App\Models\VmModel;
 use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Vms\Modals\MigrateModal;
 use ModulesGarden\Servers\ProxmoxCloudVps\Core\Helper\BuildUrl;
 use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\AdminArea;
@@ -37,7 +38,23 @@ class ConsoleButton extends ButtonDataTableModalAction implements ClientArea
 
     public function afterInitContent()
     {
-    }
+        $query = VmModel::select("id")
+        ->ofHostingId($this->getWhmcsParamByKey('serviceid'))
+        ->notTemplate()
+        ->getQuery();
+        $dataProv = new QueryDataProvider();
+        $dataProv->setData($query);
+        $vmid = $dataProv->getData()->getRecords()->first()->id;
+        $consoleUrl = isAdmin() ? BuildUrl::getUrl('console', 'novnc', ['vm'=> $vmid]) : 'clientarea.php?action=productdetails&id=' . $this->getWhmcsParamByKey('serviceid') . '&vm=' . $vmid . '&modop=custom&a=management&mg-page=console&mg-action=novnc';
+        $this->setConsoleUrl($consoleUrl);
+        logModuleCall(
+            'proxmoxCloud',
+            __FUNCTION__,
+            $this->actionButtons,
+            'Debug',
+            $dataProv->getData()->getRecords()
+        );
+}
 
     public function setConsoleUrl($url)
     {

+ 0 - 16
app/UI/Vms/Pages/VmsDataTable.php

@@ -85,23 +85,7 @@ class VmsDataTable extends DataTable implements ClientArea, AdminArea
         }
         if (isAdmin() || $this->configuration()->isPermissionNovnc()){
             //console
-            $query    = VmModel::select("id")
-                ->ofHostingId($this->getWhmcsParamByKey('serviceid'))
-                ->notTemplate()
-                ->getQuery();
-            $dataProv = new QueryDataProvider();
-            $dataProv->setData($query);
-            $vmid = $dataProv->getData()->getRecords()->first()->id;
-            $consoleUrl = isAdmin() ? BuildUrl::getUrl('console', 'novnc', ['vm'=> $vmid]) : 'clientarea.php?action=productdetails&id=' . $this->getWhmcsParamByKey('serviceid') . '&vm=' . $vmid . '&modop=custom&a=management&mg-page=console&mg-action=novnc';
             $this->addActionButton(new ConsoleButton());
-            $this->actionButtons['consoleButton']->setConsoleUrl($consoleUrl);
-            logModuleCall(
-                'proxmoxCloud',
-                __FUNCTION__,
-                $this->actionButtons,
-                'Debug',
-                $dataProv->getData()->getRecords()
-            );
         }
         if(!$isAdmin){
             //edit