generated from thegrind/laravel-dockerized
39 lines
841 B
PHP
39 lines
841 B
PHP
<?php
|
|
|
|
namespace App\Livewire;
|
|
|
|
use App\Models\Invitation;
|
|
use App\Models\User;
|
|
use Flux\Flux;
|
|
use Illuminate\Database\Eloquent\Collection;
|
|
use Livewire\Component;
|
|
|
|
class ManageUsers extends Component
|
|
{
|
|
public string $invite_email = '';
|
|
public Collection $users;
|
|
public Collection $invitations;
|
|
|
|
public function mount()
|
|
{
|
|
$this->users = User::all();
|
|
$this->invitations = Invitation::all();
|
|
}
|
|
|
|
public function inviteUser()
|
|
{
|
|
$inv = Invitation::create([
|
|
'code' => str()->random(50),
|
|
'email' => $this->invite_email,
|
|
'invited_by' => auth()->user()->id,
|
|
'expires_at' => now()->addDays(7),
|
|
]);
|
|
Flux::modal('invite-user')->close();
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
return view('livewire.manage-users');
|
|
}
|
|
}
|