This commit is contained in:
Andras Bacsai
2023-06-16 15:56:25 +02:00
parent ab1ea30dec
commit 8f3ef2b1c5
19 changed files with 130 additions and 23 deletions

View File

@@ -11,6 +11,7 @@ use App\Models\User;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Support\Facades\DB;
class Controller extends BaseController
{

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Livewire\Team;
use Illuminate\Support\Facades\DB;
use Livewire\Component;
class Delete extends Component
{
public function delete()
{
$currentTeam = session('currentTeam');
$currentTeam->delete();
$team = auth()->user()->teams()->first();
$currentTeam->members->each(function ($user) use ($currentTeam) {
if ($user->id === auth()->user()->id) {
return;
}
$user->teams()->detach($currentTeam);
$session = DB::table('sessions')->where('user_id', $user->id)->first();
if ($session) {
DB::table('sessions')->where('id', $session->id)->delete();
}
});
session(['currentTeam' => $team]);
return redirect()->route('team.show');
}
}

View File

@@ -79,4 +79,11 @@ class Team extends Model implements SendsDiscord, SendsEmail
$sources = $sources->merge($github_apps)->merge($gitlab_apps);
return $sources;
}
public function isEmpty()
{
if ($this->projects()->count() === 0 && $this->servers()->count() === 0 && $this->privateKeys()->count() === 0 && $this->sources()->count() === 0) {
return true;
}
return false;
}
}

View File

@@ -30,7 +30,6 @@ class User extends Authenticatable implements SendsEmail
protected static function boot()
{
parent::boot();
static::created(function (User $user) {
$team = [
'name' => $user->name . "'s Team",
@@ -48,6 +47,7 @@ class User extends Authenticatable implements SendsEmail
{
return $this->email;
}
public function isAdmin()
{
if (auth()->user()->id === 0) {