diff --git a/be/app/Events/SubTaskDeleted.php b/be/app/Events/SubTaskDeleted.php
new file mode 100644
index 0000000..7b749c9
--- /dev/null
+++ b/be/app/Events/SubTaskDeleted.php
@@ -0,0 +1,39 @@
+subtask = $subtask;
+ }
+
+ /**
+ * Get the channels the event should broadcast on.
+ *
+ * @return \Illuminate\Broadcasting\Channel|array
+ */
+ public function broadcastOn()
+ {
+ return new PrivateChannel('channel-name');
+ }
+}
diff --git a/be/app/Listeners/SendDeletedSubTaskNotification.php b/be/app/Listeners/SendDeletedSubTaskNotification.php
new file mode 100644
index 0000000..129d87b
--- /dev/null
+++ b/be/app/Listeners/SendDeletedSubTaskNotification.php
@@ -0,0 +1,35 @@
+subtask->user->email;
+ $receiversArray[] = \App\Models\User::find($event->subtask->created_by)->email;
+
+ Mail::to( $receiversArray )->send( new \App\Mail\SubTaskDeleted( $event->subtask ) );
+ }
+}
diff --git a/be/app/Listeners/SendEditedMasterTaskNotification.php b/be/app/Listeners/SendEditedMasterTaskNotification.php
index ef66494..a33b846 100644
--- a/be/app/Listeners/SendEditedMasterTaskNotification.php
+++ b/be/app/Listeners/SendEditedMasterTaskNotification.php
@@ -4,10 +4,9 @@ namespace App\Listeners;
use App\Events\MasterTaskEdited;
use Illuminate\Contracts\Queue\ShouldQueue;
-use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Mail;
-class SendEditedMasterTaskNotification
+class SendEditedMasterTaskNotification implements ShouldQueue
{
/**
* Create the event listener.
@@ -29,11 +28,22 @@ class SendEditedMasterTaskNotification
{
$difference = [];
+ $editedMasterTaskArray = $event->mastertask->toArray();
+ $originalMasterTaskArray = $event->originalMastertask;
+
+ // unset key from array
+ unset($editedMasterTaskArray['created_at']);
+ unset($editedMasterTaskArray['updated_at']);
+ unset($editedMasterTaskArray['subtasks']);
+
+ unset($originalMasterTaskArray['created_at']);
+ unset($originalMasterTaskArray['updated_at']);
+
// get the difference between $mastertask and $originalMastertask
- $modelDiff = array_diff($event->mastertask->toArray(), $event->originalMastertask);
+ $modelDiff = array_diff_assoc($editedMasterTaskArray, $originalMasterTaskArray);
foreach ( $modelDiff as $key => $diff ) {
- if (in_array($key, ['created_at', 'updated_at', 'status'])) {
+ if (in_array($key, ['status'])) {
continue;
}
@@ -41,7 +51,9 @@ class SendEditedMasterTaskNotification
if ($key == 'is_finished' && $diff == 0) {
foreach ( $event->mastertask->subtasks as $subtask ) {
// Mail::to( $subtask->user->email )->send( new \App\Mail\MasterTaskEdited( $event->mastertask, $difference ) );
- Mail::to( 'feher@studiotem.com' )->send( new \App\Mail\MasterTaskEdited( $event->mastertask, $difference ) );
+ Mail::to( 'feher@studiotem.com' )->send( new \App\Mail\MasterTaskReopened( $event->mastertask ) );
+
+ return;
}
}
diff --git a/be/app/Listeners/SendNewSubTaskEmailNotification.php b/be/app/Listeners/SendNewSubTaskEmailNotification.php
new file mode 100644
index 0000000..31524ab
--- /dev/null
+++ b/be/app/Listeners/SendNewSubTaskEmailNotification.php
@@ -0,0 +1,35 @@
+subtask->user->email )->send( new NewTask( $event->subtask ) );
+ Mail::to( 'feher@studiotem.com' )->send( new NewTask( $event->subtask ) );
+ }
+}
diff --git a/be/app/Mail/MasterTaskReopened.php b/be/app/Mail/MasterTaskReopened.php
new file mode 100644
index 0000000..0efe114
--- /dev/null
+++ b/be/app/Mail/MasterTaskReopened.php
@@ -0,0 +1,62 @@
+mastertask = $mastertask;
+ }
+
+ /**
+ * Get the message envelope.
+ *
+ * @return \Illuminate\Mail\Mailables\Envelope
+ */
+ public function envelope()
+ {
+ return new Envelope(
+ subject: 'Master Task ' . $this->mastertask->title . ' was reopened',
+ );
+ }
+
+ /**
+ * Get the message content definition.
+ *
+ * @return \Illuminate\Mail\Mailables\Content
+ */
+ public function content()
+ {
+ return new Content(
+ view: 'emails.task.master_task_reopened',
+ );
+ }
+
+ /**
+ * Get the attachments for the message.
+ *
+ * @return array
+ */
+ public function attachments()
+ {
+ return [];
+ }
+}
diff --git a/be/app/Mail/NewTask.php b/be/app/Mail/NewTask.php
index 0bf04a0..c4c412c 100644
--- a/be/app/Mail/NewTask.php
+++ b/be/app/Mail/NewTask.php
@@ -46,7 +46,7 @@ class NewTask extends Mailable
public function content()
{
return new Content(
- view: 'emails.task.new_task_created',
+ view: 'emails.task.sub_task_created',
);
}
diff --git a/be/app/Mail/SubTaskDeleted.php b/be/app/Mail/SubTaskDeleted.php
new file mode 100644
index 0000000..46487f4
--- /dev/null
+++ b/be/app/Mail/SubTaskDeleted.php
@@ -0,0 +1,62 @@
+subtask = $subtask;
+ }
+
+ /**
+ * Get the message envelope.
+ *
+ * @return \Illuminate\Mail\Mailables\Envelope
+ */
+ public function envelope()
+ {
+ return new Envelope(
+ subject: 'Sub Task ' . $this->subtask->mastertask->title . ' was deleted',
+ );
+ }
+
+ /**
+ * Get the message content definition.
+ *
+ * @return \Illuminate\Mail\Mailables\Content
+ */
+ public function content()
+ {
+ return new Content(
+ view: 'emails.task.sub_task_deleted',
+ );
+ }
+
+ /**
+ * Get the attachments for the message.
+ *
+ * @return array
+ */
+ public function attachments()
+ {
+ return [];
+ }
+}
diff --git a/be/app/Observers/SubTaskObserver.php b/be/app/Observers/SubTaskObserver.php
index 9c84ff0..b16da2e 100644
--- a/be/app/Observers/SubTaskObserver.php
+++ b/be/app/Observers/SubTaskObserver.php
@@ -3,6 +3,7 @@
namespace App\Observers;
use App\Events\SubTaskCreated;
+use App\Events\SubTaskDeleted;
use App\Models\SubTask;
class SubTaskObserver
@@ -46,7 +47,7 @@ class SubTaskObserver
*/
public function deleted(SubTask $subTask)
{
- //
+ SubTaskDeleted::dispatch($subTask);
}
/**
diff --git a/be/app/Providers/EventServiceProvider.php b/be/app/Providers/EventServiceProvider.php
index 8ab9100..113684f 100644
--- a/be/app/Providers/EventServiceProvider.php
+++ b/be/app/Providers/EventServiceProvider.php
@@ -4,8 +4,10 @@ namespace App\Providers;
use App\Events\MasterTaskEdited;
use App\Events\SubTaskCreated;
+use App\Events\SubTaskDeleted;
+use App\Listeners\SendDeletedSubTaskNotification;
use App\Listeners\SendEditedMasterTaskNotification;
-use App\Listeners\SendNewTaskEmailNotification;
+use App\Listeners\SendNewSubTaskEmailNotification;
use App\Models\MasterTask;
use App\Models\SubTask;
use App\Observers\MasterTaskObserver;
@@ -27,9 +29,12 @@ class EventServiceProvider extends ServiceProvider
SendEmailVerificationNotification::class,
],
SubTaskCreated::class => [
- SendNewTaskEmailNotification::class,
+ SendNewSubTaskEmailNotification::class,
//LogEvent::class,
],
+ SubTaskDeleted::class => [
+ SendDeletedSubTaskNotification::class
+ ],
MasterTaskEdited::class => [
SendEditedMasterTaskNotification::class
],
diff --git a/be/resources/views/emails/task/master_task_reopened.blade.php b/be/resources/views/emails/task/master_task_reopened.blade.php
new file mode 100644
index 0000000..27c794c
--- /dev/null
+++ b/be/resources/views/emails/task/master_task_reopened.blade.php
@@ -0,0 +1 @@
+Master Task {{$mastertask->title}} was reopened.
diff --git a/be/resources/views/emails/task/sub_task_created.blade.php b/be/resources/views/emails/task/sub_task_created.blade.php
new file mode 100644
index 0000000..dd2f5c3
--- /dev/null
+++ b/be/resources/views/emails/task/sub_task_created.blade.php
@@ -0,0 +1 @@
+New task created: {{ $subtask->mastertask->title }}
diff --git a/be/resources/views/emails/task/sub_task_deleted.blade.php b/be/resources/views/emails/task/sub_task_deleted.blade.php
new file mode 100644
index 0000000..d2bd471
--- /dev/null
+++ b/be/resources/views/emails/task/sub_task_deleted.blade.php
@@ -0,0 +1 @@
+Sub Task {{$subtask->mastertask->title}} was deleted.