diff --git a/app/Http/Controllers/SiteController.php b/app/Http/Controllers/SiteController.php index 14227b3..f07f316 100644 --- a/app/Http/Controllers/SiteController.php +++ b/app/Http/Controllers/SiteController.php @@ -38,7 +38,17 @@ class SiteController extends Controller } else { $server = Server::query() ->where('maximum_sites', '>', 0) - ->doesntHave('users') + ->where(function ($query) { + return $query + ->where(function ($query) { + return $query->whereHas('users', function ($query) { + return $query->where('user_id', auth()->id()); + }); + }) + ->orWhere(function ($query) { + return $query->doesntHave('users'); + }); + }) ->withCount('sites') ->inRandomOrder() ->first(); diff --git a/public/js/app.js b/public/js/app.js index 480cbab..2937316 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -27103,7 +27103,7 @@ module.exports = webpackAsyncContext; /******/ // This function allow to reference async chunks /******/ __webpack_require__.u = (chunkId) => { /******/ // return url for filenames based on template -/******/ return "js/" + chunkId + ".js?id=" + {"resources_js_Pages_Admin_Alerts_Create_vue":"c4dcce6f12f5e5e2cc0e","resources_js_Pages_Admin_Alerts_Edit_vue":"54676a5e183e8d2c1d9d","resources_js_Pages_Admin_Alerts_Index_vue":"b926d0297a65b02a48eb","resources_js_Pages_Admin_Alerts_Tabs_vue":"18f0f531267930d22957","resources_js_Pages_Admin_ApplicationLogs_vue":"624bf5c1fa02d5d9e578","resources_js_Pages_Admin_Dashboard_vue":"a97264b6c11c276a92bd","resources_js_Pages_Admin_Documentation_Articles_Create_vue":"19c1652d9fb036713936","resources_js_Pages_Admin_Documentation_Articles_Edit_vue":"776747d7aab4d00c328c","resources_js_Pages_Admin_Documentation_Articles_Index_vue":"410b6064090ca70d5a49","resources_js_Pages_Admin_Documentation_Create_vue":"c97d3da7d9fa8130e919","resources_js_Pages_Admin_Documentation_Edit_vue":"c33f69d41517d9a60e2b","resources_js_Pages_Admin_Documentation_Index_vue":"c3101da8d101bebf9759","resources_js_Pages_Admin_Documentation_Tabs_vue":"1a78d054b14b4e1b78fa","resources_js_Pages_Admin_Packages_Create_vue":"91b54b68a3e8505019ed","resources_js_Pages_Admin_Packages_Edit_vue":"9bbc357e08ea95ef4f12","resources_js_Pages_Admin_Packages_Index_vue":"355e402f77376bae28a5","resources_js_Pages_Admin_Packages_Tabs_vue":"abad1e70a96a4404cdf0","resources_js_Pages_Admin_Services_Index_vue":"7a77c1ef0510394b845a","resources_js_Pages_Admin_Services_Provider_Edit_vue":"8ea7a1b9107ae2676e51","resources_js_Pages_Admin_Services_Providers_vue":"72db7c4c4d7137d07557","resources_js_Pages_Admin_Services_Server_Edit_vue":"8c586806e61971e55367","resources_js_Pages_Admin_Services_Servers_vue":"cb45342f11e66adf48ea","resources_js_Pages_Admin_Services_Site_Edit_vue":"0fd835527613d0ad3e8c","resources_js_Pages_Admin_Services_Sites_vue":"9978bbc1daae61fe826f","resources_js_Pages_Admin_Services_Tabs_vue":"0d1cdaa88e2896a5d67c","resources_js_Pages_Admin_Settings_vue":"2858d5ee68a4fa1c68cf","resources_js_Pages_Admin_Status_vue":"e38755f4c4b5357d8784","resources_js_Pages_Admin_Support_Index_vue":"e271404f35e6314a6d84","resources_js_Pages_Admin_Support_Show_vue":"23f351ea39a9e3ee54fa","resources_js_Pages_Admin_Support_Tabs_vue":"1ce9f4b348168e845df5","resources_js_Pages_Admin_System_vue":"eaf4298bb9ee255f5bb9","resources_js_Pages_Admin_Tabs_vue":"8685ef690e3fbff67ea5","resources_js_Pages_Admin_TabsStatus_vue":"c8983db5819a77f80d8c","resources_js_Pages_Admin_Users_Create_vue":"f3e70649ddfdcee5ddbc","resources_js_Pages_Admin_Users_Edit_vue":"19caac6bd8473c31bb8e","resources_js_Pages_Admin_Users_Index_vue":"343fd1cf9e27a7673935","resources_js_Pages_Admin_Users_Show_vue":"89860bea6d3eaf63c7df","resources_js_Pages_Admin_Users_Tabs_vue":"6a3c60be7c7ae0a63c62","resources_js_Pages_Admin_components_TopBar_vue":"88d9c87e3e24d6e8393f","resources_js_Pages_Auth_Email_vue":"ad9d39a9b39e43bc943e","resources_js_Pages_Auth_Login_vue":"2eaff33fb693a5013466","resources_js_Pages_Auth_PasswordCreation_vue":"eff33c7b710b51d61ed4","resources_js_Pages_Auth_Register_vue":"08ba75d713ebbfe2666b","resources_js_Pages_Auth_Reset_vue":"d6c6635d8779e0a5ab52","resources_js_Pages_Core_InstallationIncomplete_vue":"300a4991855d414e4db9","resources_js_Pages_Dashboard_Index_vue":"f1de02270fb1593ea04d","resources_js_Pages_Dashboard_components_TopBar_vue":"096833b9c2652d3367bd","resources_js_Pages_Documentation_Article_vue":"03c3b3f4d377a27f16a9","resources_js_Pages_Documentation_Index_vue":"291e1be7ede03beee83a","resources_js_Pages_Documentation_Show_vue":"6174a2d55284b9b93ab0","resources_js_Pages_Documentation_Tabs_vue":"7cc69e097d1b0cb0288e","resources_js_Pages_Documentation_components_TopBar_vue":"525fdd13ad8ab93a8670","resources_js_Pages_Errors_403_vue":"e0333ff3427f9e96fc5f","resources_js_Pages_Errors_404_vue":"8134a21f243dd8ea0ec1","resources_js_Pages_Profile_Billing_vue":"8e94957e68319a7ebf7d","resources_js_Pages_Profile_BillingError_vue":"8ec043339cf743c505fe","resources_js_Pages_Profile_Index_vue":"1f3c6117f284674c66b3","resources_js_Pages_Profile_Integrations_vue":"bde8dd776c41013d1ee1","resources_js_Pages_Profile_Security_vue":"2a64e052015682ad86ee","resources_js_Pages_Profile_Settings_vue":"d1d82e8551ef19ab7e9a","resources_js_Pages_Profile_components_TopBar_vue":"e749c2b72eb923bd65f4","resources_js_Pages_Servers_Index_vue":"6632aaf4c16eca2c5cc2","resources_js_Pages_Servers_Settings_vue":"eb6c1db6339416fb3857","resources_js_Pages_Servers_Show_vue":"99fd4397891d056947e8","resources_js_Pages_Servers_Tabs_vue":"f9833876561708cb4b59","resources_js_Pages_Servers_components_TopBar_vue":"3f6252a334d95f65a9dc","resources_js_Pages_Sites_Apps_vue":"d695465adec7b40d6254","resources_js_Pages_Sites_Certificates_vue":"82c88231876995e8adeb","resources_js_Pages_Sites_Cronjobs_vue":"3ad596b52f430e973adc","resources_js_Pages_Sites_Databases_vue":"408c8173f45dbc797348","resources_js_Pages_Sites_Dns_vue":"d453cccb806949cd62f7","resources_js_Pages_Sites_Index_vue":"a0b5b829a6b4acae9b0b","resources_js_Pages_Sites_Redirects_vue":"a1eaa5a8493d315912c5","resources_js_Pages_Sites_Settings_vue":"c01481b4c7f0bf636d6b","resources_js_Pages_Sites_Show_vue":"925de2ed29de09db37d9","resources_js_Pages_Sites_Tabs_vue":"4567be6b0ef1fec399e1","resources_js_Pages_Sites_components_TopBar_vue":"30ceec723cf1f582e048","resources_js_Pages_Support_Closed_vue":"14921db6effad454de9e","resources_js_Pages_Support_Index_vue":"e798b41f769a2969b1fa","resources_js_Pages_Support_Show_vue":"7f39fcbc8b60d8078258","resources_js_Pages_Support_components_TopBar_vue":"e2d64cdd621c90b5633f"}[chunkId] + ""; +/******/ return "js/" + chunkId + ".js?id=" + {"resources_js_Pages_Admin_Alerts_Create_vue":"c4dcce6f12f5e5e2cc0e","resources_js_Pages_Admin_Alerts_Edit_vue":"54676a5e183e8d2c1d9d","resources_js_Pages_Admin_Alerts_Index_vue":"b926d0297a65b02a48eb","resources_js_Pages_Admin_Alerts_Tabs_vue":"18f0f531267930d22957","resources_js_Pages_Admin_ApplicationLogs_vue":"624bf5c1fa02d5d9e578","resources_js_Pages_Admin_Dashboard_vue":"a97264b6c11c276a92bd","resources_js_Pages_Admin_Documentation_Articles_Create_vue":"19c1652d9fb036713936","resources_js_Pages_Admin_Documentation_Articles_Edit_vue":"776747d7aab4d00c328c","resources_js_Pages_Admin_Documentation_Articles_Index_vue":"410b6064090ca70d5a49","resources_js_Pages_Admin_Documentation_Create_vue":"c97d3da7d9fa8130e919","resources_js_Pages_Admin_Documentation_Edit_vue":"c33f69d41517d9a60e2b","resources_js_Pages_Admin_Documentation_Index_vue":"c3101da8d101bebf9759","resources_js_Pages_Admin_Documentation_Tabs_vue":"1a78d054b14b4e1b78fa","resources_js_Pages_Admin_Packages_Create_vue":"91b54b68a3e8505019ed","resources_js_Pages_Admin_Packages_Edit_vue":"9bbc357e08ea95ef4f12","resources_js_Pages_Admin_Packages_Index_vue":"355e402f77376bae28a5","resources_js_Pages_Admin_Packages_Tabs_vue":"abad1e70a96a4404cdf0","resources_js_Pages_Admin_Services_Index_vue":"7a77c1ef0510394b845a","resources_js_Pages_Admin_Services_Provider_Edit_vue":"8ea7a1b9107ae2676e51","resources_js_Pages_Admin_Services_Providers_vue":"72db7c4c4d7137d07557","resources_js_Pages_Admin_Services_Server_Edit_vue":"8c586806e61971e55367","resources_js_Pages_Admin_Services_Servers_vue":"cb45342f11e66adf48ea","resources_js_Pages_Admin_Services_Site_Edit_vue":"0fd835527613d0ad3e8c","resources_js_Pages_Admin_Services_Sites_vue":"9978bbc1daae61fe826f","resources_js_Pages_Admin_Services_Tabs_vue":"0d1cdaa88e2896a5d67c","resources_js_Pages_Admin_Settings_vue":"2858d5ee68a4fa1c68cf","resources_js_Pages_Admin_Status_vue":"e38755f4c4b5357d8784","resources_js_Pages_Admin_Support_Index_vue":"e271404f35e6314a6d84","resources_js_Pages_Admin_Support_Show_vue":"23f351ea39a9e3ee54fa","resources_js_Pages_Admin_Support_Tabs_vue":"1ce9f4b348168e845df5","resources_js_Pages_Admin_System_vue":"eaf4298bb9ee255f5bb9","resources_js_Pages_Admin_Tabs_vue":"8685ef690e3fbff67ea5","resources_js_Pages_Admin_TabsStatus_vue":"c8983db5819a77f80d8c","resources_js_Pages_Admin_Users_Create_vue":"f3e70649ddfdcee5ddbc","resources_js_Pages_Admin_Users_Edit_vue":"19caac6bd8473c31bb8e","resources_js_Pages_Admin_Users_Index_vue":"343fd1cf9e27a7673935","resources_js_Pages_Admin_Users_Show_vue":"89860bea6d3eaf63c7df","resources_js_Pages_Admin_Users_Tabs_vue":"6a3c60be7c7ae0a63c62","resources_js_Pages_Admin_components_TopBar_vue":"88d9c87e3e24d6e8393f","resources_js_Pages_Auth_Email_vue":"ad9d39a9b39e43bc943e","resources_js_Pages_Auth_Login_vue":"2eaff33fb693a5013466","resources_js_Pages_Auth_PasswordCreation_vue":"eff33c7b710b51d61ed4","resources_js_Pages_Auth_Register_vue":"08ba75d713ebbfe2666b","resources_js_Pages_Auth_Reset_vue":"d6c6635d8779e0a5ab52","resources_js_Pages_Core_InstallationIncomplete_vue":"300a4991855d414e4db9","resources_js_Pages_Dashboard_Index_vue":"f1de02270fb1593ea04d","resources_js_Pages_Dashboard_components_TopBar_vue":"096833b9c2652d3367bd","resources_js_Pages_Documentation_Article_vue":"03c3b3f4d377a27f16a9","resources_js_Pages_Documentation_Index_vue":"291e1be7ede03beee83a","resources_js_Pages_Documentation_Show_vue":"6174a2d55284b9b93ab0","resources_js_Pages_Documentation_Tabs_vue":"7cc69e097d1b0cb0288e","resources_js_Pages_Documentation_components_TopBar_vue":"525fdd13ad8ab93a8670","resources_js_Pages_Errors_403_vue":"e0333ff3427f9e96fc5f","resources_js_Pages_Errors_404_vue":"8134a21f243dd8ea0ec1","resources_js_Pages_Profile_Billing_vue":"8e94957e68319a7ebf7d","resources_js_Pages_Profile_BillingError_vue":"8ec043339cf743c505fe","resources_js_Pages_Profile_Index_vue":"1f3c6117f284674c66b3","resources_js_Pages_Profile_Integrations_vue":"bde8dd776c41013d1ee1","resources_js_Pages_Profile_Security_vue":"2a64e052015682ad86ee","resources_js_Pages_Profile_Settings_vue":"d1d82e8551ef19ab7e9a","resources_js_Pages_Profile_components_TopBar_vue":"e749c2b72eb923bd65f4","resources_js_Pages_Servers_Index_vue":"6632aaf4c16eca2c5cc2","resources_js_Pages_Servers_Settings_vue":"32f3904a37c459efe5b8","resources_js_Pages_Servers_Show_vue":"e9fc23ce0c949e2cd29b","resources_js_Pages_Servers_Tabs_vue":"5b746984d315d58b9539","resources_js_Pages_Servers_components_TopBar_vue":"3f6252a334d95f65a9dc","resources_js_Pages_Sites_Apps_vue":"d695465adec7b40d6254","resources_js_Pages_Sites_Certificates_vue":"82c88231876995e8adeb","resources_js_Pages_Sites_Cronjobs_vue":"3ad596b52f430e973adc","resources_js_Pages_Sites_Databases_vue":"408c8173f45dbc797348","resources_js_Pages_Sites_Dns_vue":"d453cccb806949cd62f7","resources_js_Pages_Sites_Index_vue":"78e111b2c8f4b2c057f2","resources_js_Pages_Sites_Redirects_vue":"a1eaa5a8493d315912c5","resources_js_Pages_Sites_Settings_vue":"c01481b4c7f0bf636d6b","resources_js_Pages_Sites_Show_vue":"925de2ed29de09db37d9","resources_js_Pages_Sites_Tabs_vue":"4567be6b0ef1fec399e1","resources_js_Pages_Sites_components_TopBar_vue":"30ceec723cf1f582e048","resources_js_Pages_Support_Closed_vue":"14921db6effad454de9e","resources_js_Pages_Support_Index_vue":"e798b41f769a2969b1fa","resources_js_Pages_Support_Show_vue":"7f39fcbc8b60d8078258","resources_js_Pages_Support_components_TopBar_vue":"e2d64cdd621c90b5633f"}[chunkId] + ""; /******/ }; /******/ })(); /******/ diff --git a/resources/js/Pages/Servers/Settings.vue b/resources/js/Pages/Servers/Settings.vue index dc1ab40..4f08c12 100644 --- a/resources/js/Pages/Servers/Settings.vue +++ b/resources/js/Pages/Servers/Settings.vue @@ -6,7 +6,7 @@ diff --git a/resources/js/Pages/Servers/Tabs.vue b/resources/js/Pages/Servers/Tabs.vue index 1259cd3..7910081 100644 --- a/resources/js/Pages/Servers/Tabs.vue +++ b/resources/js/Pages/Servers/Tabs.vue @@ -26,11 +26,11 @@ to: this.route('servers.show', this.server.id), active: this.route().current('servers.show') }, - { + this.can('servers', 'update') ? { title: this.__('Settings'), to: this.route('servers.settings.show', this.server.id), active: this.route().current('servers.settings.show') - }, + } : null, ], } }, diff --git a/resources/js/Pages/Sites/Index.vue b/resources/js/Pages/Sites/Index.vue index b82fdfc..e8718e9 100644 --- a/resources/js/Pages/Sites/Index.vue +++ b/resources/js/Pages/Sites/Index.vue @@ -157,7 +157,7 @@ } // If it includes a create true parameter, then we open the creation modal - if(window.location.search.includes('create=true')){ + if(window.location.search.includes('create=')){ this.modalIsOpen = true; } if(window.location.search.includes('server=')){