Home.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace ModulesGarden\Servers\ProxmoxCloudVps\App\Http\Admin;
  3. use MGProvision\Proxmox\v2\Api;
  4. use ModulesGarden\ProxmoxAddon\App\Repositories\ModuleSettingRepository;
  5. use ModulesGarden\ProxmoxAddon\App\Services\ApiService;
  6. use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ProductService;
  7. use ModulesGarden\ProxmoxAddon\App\Services\Cloud\UserService;
  8. use ModulesGarden\Servers\ProxmoxCloudVps\App\Helpers\AppParams;
  9. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Admin\AccountResources\AccountResourcesContainer;
  10. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Admin\User\Pages\UserDataTable;
  11. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\IpAddress\Pages\IpAddressDataTable;
  12. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmCreate\Sections\AccountSummary;
  13. use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\Vms\Pages\VmsDataTable;
  14. use ModulesGarden\Servers\ProxmoxCloudVps\Core\Helper;
  15. use ModulesGarden\Servers\ProxmoxCloudVps\Core\Http\AbstractController;
  16. use ModulesGarden\Servers\ProxmoxCloudVps\Core\Traits\OutputBuffer;
  17. use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Traits\WhmcsParams;
  18. use Symfony\Component\HttpFoundation\RedirectResponse;
  19. /**
  20. * Example admin home page controler
  21. * @author Sławomir Miśkowicz <slawomir@modulesgarden.com>
  22. */
  23. class Home extends AbstractController
  24. {
  25. use WhmcsParams;
  26. use ProductService;
  27. use ApiService;
  28. use OutputBuffer;
  29. use UserService;
  30. public function index()
  31. {
  32. $this->moduleSetting = new ModuleSettingRepository();
  33. $view = Helper\viewIntegrationAddon();
  34. $view->initCustomAssetFiles();
  35. (new AppParams())->initFromWhmcsParams();
  36. //Resurces
  37. if($this->moduleSetting->isPermissionAccountResources()){
  38. $view->addElement(AccountResourcesContainer::class);
  39. }
  40. //VMs
  41. if($this->moduleSetting->isPermissionVms()){
  42. $view->addElement(VmsDataTable::class);
  43. }
  44. //IPs
  45. if($this->moduleSetting->isPermissionIpAddresses()){
  46. $view->addElement(IpAddressDataTable::class);
  47. }
  48. //User
  49. if($this->moduleSetting->isPermissionUserDetails()){
  50. $view->addElement(UserDataTable::class);
  51. }
  52. return $view;
  53. }
  54. }