From abd60ee6f85773cfb865e1005e38f71cacea15cd Mon Sep 17 00:00:00 2001 From: Matthew Penner Date: Mon, 12 Oct 2020 11:11:40 -0600 Subject: [PATCH 1/2] Fix 500 error when mounting a mount and fix the actual mount being deleted instead of the relation --- .../Controllers/Admin/ServersController.php | 20 ++++++++++--------- app/Models/MountServer.php | 5 +++++ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/Admin/ServersController.php b/app/Http/Controllers/Admin/ServersController.php index 5555f6581..9dcafb033 100644 --- a/app/Http/Controllers/Admin/ServersController.php +++ b/app/Http/Controllers/Admin/ServersController.php @@ -14,6 +14,7 @@ use Illuminate\Http\Request; use Pterodactyl\Models\User; use Pterodactyl\Models\Mount; use Pterodactyl\Models\Server; +use Pterodactyl\Models\MountServer; use Prologue\Alerts\AlertsMessageBag; use GuzzleHttp\Exception\RequestException; use Pterodactyl\Exceptions\DisplayException; @@ -419,17 +420,21 @@ class ServersController extends Controller * * @param Server $server * @param \Pterodactyl\Models\Mount $mount - * @return \Illuminate\Http\RedirectResponse * - * @throws \Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException - * @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException + * @return \Illuminate\Http\RedirectResponse + * @throws \Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException|\Throwable */ public function addMount(Server $server, Mount $mount) { - $server->mounts()->updateOrCreate([ + /*$server->mounts()->updateOrCreate([ 'mount_id' => $mount->id, 'server_id' => $server->id, - ]); + ]);*/ + + $mountServer = new MountServer; + $mountServer->mount_id = $mount->id; + $mountServer->server_id = $server->id; + $mountServer->saveOrFail(); $data = $this->serverConfigurationStructureService->handle($server); @@ -458,10 +463,7 @@ class ServersController extends Controller */ public function deleteMount(Server $server, Mount $mount) { - $server->mounts() - ->where('mount_id', $mount->id) - ->where('server_id', $server->id) - ->delete(); + MountServer::where('mount_id', $mount->id)->where('server_id', $server->id)->delete(); $data = $this->serverConfigurationStructureService->handle($server); diff --git a/app/Models/MountServer.php b/app/Models/MountServer.php index 3999b0c8e..21bf8fe2d 100644 --- a/app/Models/MountServer.php +++ b/app/Models/MountServer.php @@ -11,6 +11,11 @@ class MountServer extends Model */ protected $table = 'mount_server'; + /** + * @var bool + */ + public $timestamps = false; + /** * @var null */ From 3ef3c2a461b887eabecf9f1de701bb079b09a292 Mon Sep 17 00:00:00 2001 From: Matthew Penner Date: Mon, 12 Oct 2020 11:12:23 -0600 Subject: [PATCH 2/2] Remove commented code --- app/Http/Controllers/Admin/ServersController.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/Http/Controllers/Admin/ServersController.php b/app/Http/Controllers/Admin/ServersController.php index 9dcafb033..324e7c3b0 100644 --- a/app/Http/Controllers/Admin/ServersController.php +++ b/app/Http/Controllers/Admin/ServersController.php @@ -426,11 +426,6 @@ class ServersController extends Controller */ public function addMount(Server $server, Mount $mount) { - /*$server->mounts()->updateOrCreate([ - 'mount_id' => $mount->id, - 'server_id' => $server->id, - ]);*/ - $mountServer = new MountServer; $mountServer->mount_id = $mount->id; $mountServer->server_id = $server->id;