Todo-Actions, Observer und Mails
This commit is contained in:
1 parent
9501d8f1c2
commit
be675ec81e
10 files changed
+247
-11
No files matched your search
@@ -2,7 +2,16 @@
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Mail\TodoAssigned;
|
||||
use App\Mail\TodoCreated;
|
||||
use App\Mail\TodoMail;
|
||||
use App\Mail\TodoNeedsReview;
|
||||
use App\Mail\TodoReopened;
|
||||
use App\Models\Group;
|
||||
use App\Models\Todo;
|
||||
use App\Models\User;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class TodoObserver
|
||||
{
|
||||
@@ -11,7 +20,17 @@ class TodoObserver
|
||||
*/
|
||||
public function created(Todo $todo): void
|
||||
{
|
||||
//
|
||||
if($todo->todoable_type == null) return;
|
||||
// if($todo->todoable_type == User::class && $todo->user_id == $todo->todoable_id) return;
|
||||
if($todo->todoable_type == User::class) {
|
||||
Mail::to(User::find($todo->todoable()->first()))->send(new TodoMail($todo, 'Neue Todo', 'Es gibt eine neue Todo für dich:'));
|
||||
}
|
||||
else {
|
||||
$users = $todo->todoable()->first()->users()->get();
|
||||
foreach ($users as $user) {
|
||||
Mail::to($user)->send(new TodoMail($todo, 'Neue Todo', 'Es gibt eine neue Todo für dich:'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -19,7 +38,18 @@ class TodoObserver
|
||||
*/
|
||||
public function updated(Todo $todo): void
|
||||
{
|
||||
//
|
||||
$hasChanged = $todo->getChanges();
|
||||
if ($hasChanged && isset($hasChanged['done_date']) && $todo->done_date != null) {
|
||||
$user = User::find($todo->user_id);
|
||||
Mail::to($user)->send(new TodoMail($todo, 'Todo erledigt', 'Todo erledigt, du wolltest, dass du Bescheid bekommst:'));
|
||||
}
|
||||
if ($hasChanged && (isset($hasChanged['todoable_type']) || isset($hasChanged['todoable_id']))) {
|
||||
$users = $todo->getassignetusers();
|
||||
foreach ($users as $user) {
|
||||
Mail::to($user)->send(new TodoMail($todo, 'Todo zugewiesen', 'Dir wurde eine bestehende Todo zugewiesen:'));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user