From 7a117c61c466c45886623782be38867b2038d1e0 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Mon, 6 Nov 2023 12:31:02 +0100 Subject: [PATCH] fix: separate delete with validation of server --- app/Http/Livewire/Server/Delete.php | 31 +++++++++++++++++++ app/Http/Livewire/Server/Form.php | 18 +---------- .../views/livewire/server/delete.blade.php | 18 +++++++++++ .../views/livewire/server/form.blade.php | 22 ++----------- 4 files changed, 53 insertions(+), 36 deletions(-) create mode 100644 app/Http/Livewire/Server/Delete.php create mode 100644 resources/views/livewire/server/delete.blade.php diff --git a/app/Http/Livewire/Server/Delete.php b/app/Http/Livewire/Server/Delete.php new file mode 100644 index 000000000..966de4f19 --- /dev/null +++ b/app/Http/Livewire/Server/Delete.php @@ -0,0 +1,31 @@ +authorize('delete', $this->server); + if (!$this->server->isEmpty()) { + $this->emit('error', 'Server has defined resources. Please delete them first.'); + return; + } + $this->server->delete(); + return redirect()->route('server.all'); + } catch (\Throwable $e) { + return handleError($e, $this); + } + } + public function render() + { + return view('livewire.server.delete'); + } +} diff --git a/app/Http/Livewire/Server/Form.php b/app/Http/Livewire/Server/Form.php index e71db0093..4caa15b3f 100644 --- a/app/Http/Livewire/Server/Form.php +++ b/app/Http/Livewire/Server/Form.php @@ -4,12 +4,10 @@ use App\Actions\Server\InstallDocker; use App\Models\Server; -use Illuminate\Foundation\Auth\Access\AuthorizesRequests; use Livewire\Component; class Form extends Component { - use AuthorizesRequests; public Server $server; public bool $isValidConnection = false; public bool $isValidDocker = false; @@ -106,23 +104,9 @@ public function validateServer($install = true) } } - public function delete() - { - try { - $this->authorize('delete', $this->server); - if (!$this->server->isEmpty()) { - $this->emit('error', 'Server has defined resources. Please delete them first.'); - return; - } - $this->server->delete(); - return redirect()->route('server.all'); - } catch (\Throwable $e) { - return handleError($e, $this); - } - } public function submit() { - if(isCloud() && !isDev()) { + if (isCloud() && !isDev()) { $this->validate(); $this->validate([ 'server.ip' => 'required', diff --git a/resources/views/livewire/server/delete.blade.php b/resources/views/livewire/server/delete.blade.php new file mode 100644 index 000000000..b4a9a030f --- /dev/null +++ b/resources/views/livewire/server/delete.blade.php @@ -0,0 +1,18 @@ +
+ + +

This server will be deleted. It is not reversible.
Please think again..

+
+
+ @if ($server->id !== 0) +

Danger Zone

+
Woah. I hope you know what are you doing.
+

Delete Server

+
This will remove this server from Coolify. Beware! There is no coming + back! +
+ + Delete + + @endif +
diff --git a/resources/views/livewire/server/form.blade.php b/resources/views/livewire/server/form.blade.php index 6f5d0d32b..047bf1882 100644 --- a/resources/views/livewire/server/form.blade.php +++ b/resources/views/livewire/server/form.blade.php @@ -1,9 +1,4 @@
- - -

This server will be deleted. It is not reversible.
Please think again..

-
-

You could lost a lot of functionalities if you change the server details of the server where Coolify is @@ -47,7 +42,8 @@ label="Is it part of a Swarm cluster?" /> --}}

- +
@@ -66,21 +62,9 @@ helper="Disk cleanup job will be executed if disk usage is more than this number." /> @endif - @if ($server->id !== 0) -

Danger Zone

-
Woah. I hope you know what are you doing.
-

Delete Server

-
This will remove this server from Coolify. Beware! There is no coming - back! -
- - Delete - - @endif - +