fix: do not allow to delete env if a resource is defined
This commit is contained in:
parent
554222abc7
commit
8bfc1a7c06
@ -21,10 +21,10 @@ public function delete()
|
|||||||
'environment_id' => 'required|int',
|
'environment_id' => 'required|int',
|
||||||
]);
|
]);
|
||||||
$environment = Environment::findOrFail($this->environment_id);
|
$environment = Environment::findOrFail($this->environment_id);
|
||||||
if ($environment->applications->count() > 0) {
|
if ($environment->isEmpty()) {
|
||||||
return $this->emit('error', 'Environment has resources defined, please delete them first.');
|
|
||||||
}
|
|
||||||
$environment->delete();
|
$environment->delete();
|
||||||
return redirect()->route('project.show', ['project_uuid' => $this->parameters['project_uuid']]);
|
return redirect()->route('project.show', ['project_uuid' => $this->parameters['project_uuid']]);
|
||||||
}
|
}
|
||||||
|
return $this->emit('error', 'Environment has defined resources, please delete them first.');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ class Environment extends Model
|
|||||||
'project_id',
|
'project_id',
|
||||||
];
|
];
|
||||||
|
|
||||||
public function can_delete_environment()
|
public function isEmpty()
|
||||||
{
|
{
|
||||||
return $this->applications()->count() == 0 &&
|
return $this->applications()->count() == 0 &&
|
||||||
$this->redis()->count() == 0 &&
|
$this->redis()->count() == 0 &&
|
||||||
|
@ -18,7 +18,7 @@ protected static function booted()
|
|||||||
'project_id' => $project->id,
|
'project_id' => $project->id,
|
||||||
]);
|
]);
|
||||||
Environment::create([
|
Environment::create([
|
||||||
'name' => 'Production',
|
'name' => 'production',
|
||||||
'project_id' => $project->id,
|
'project_id' => $project->id,
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
@ -2,17 +2,17 @@
|
|||||||
<div class="flex flex-col">
|
<div class="flex flex-col">
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
<h1>Resources</h1>
|
<h1>Resources</h1>
|
||||||
@if ($environment->can_delete_environment())
|
<a class="font-normal text-white normal-case border-none rounded hover:no-underline btn btn-primary btn-sm no-animation"
|
||||||
|
href="{{ route('project.clone', ['project_uuid' => data_get($project, 'uuid'), 'environment_name' => request()->route('environment_name')]) }}">
|
||||||
|
Clone
|
||||||
|
</a>
|
||||||
|
@if ($environment->isEmpty())
|
||||||
<livewire:project.delete-environment :environment_id="$environment->id" />
|
<livewire:project.delete-environment :environment_id="$environment->id" />
|
||||||
@else
|
@else
|
||||||
<a href="{{ route('project.resources.new', ['project_uuid' => request()->route('project_uuid'), 'environment_name' => request()->route('environment_name')]) }} "
|
<a href="{{ route('project.resources.new', ['project_uuid' => request()->route('project_uuid'), 'environment_name' => request()->route('environment_name')]) }} "
|
||||||
class="font-normal text-white normal-case border-none rounded hover:no-underline btn btn-primary btn-sm no-animation">+
|
class="font-normal text-white normal-case border-none rounded hover:no-underline btn btn-primary btn-sm no-animation">+
|
||||||
New</a>
|
New</a>
|
||||||
@endif
|
@endif
|
||||||
<a class="font-normal text-white normal-case border-none rounded hover:no-underline btn btn-primary btn-sm no-animation"
|
|
||||||
href="{{ route('project.clone', ['project_uuid' => data_get($project, 'uuid'), 'environment_name' => request()->route('environment_name')]) }}">
|
|
||||||
Clone
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
<nav class="flex pt-2 pb-10">
|
<nav class="flex pt-2 pb-10">
|
||||||
<ol class="flex items-center">
|
<ol class="flex items-center">
|
||||||
@ -36,7 +36,7 @@ class="font-normal text-white normal-case border-none rounded hover:no-underline
|
|||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
@if ($environment->can_delete_environment())
|
@if ($environment->isEmpty())
|
||||||
<a href="{{ route('project.resources.new', ['project_uuid' => request()->route('project_uuid'), 'environment_name' => request()->route('environment_name')]) }} "
|
<a href="{{ route('project.resources.new', ['project_uuid' => request()->route('project_uuid'), 'environment_name' => request()->route('environment_name')]) }} "
|
||||||
class="items-center justify-center box">+ Add New Resource</a>
|
class="items-center justify-center box">+ Add New Resource</a>
|
||||||
@endif
|
@endif
|
||||||
|
Loading…
Reference in New Issue
Block a user