Files
jandl-taskmanager-app/be/app/Observers/SubTaskObserver.php
T
2023-04-12 18:00:53 +02:00

75 lines
1.6 KiB
PHP

<?php
namespace App\Observers;
use App\Events\SubTaskCreated;
use App\Events\SubTaskDeleted;
use App\Models\SubTask;
class SubTaskObserver
{
/**
* Handle the SubTask "created" event.
*
* @param \App\Models\SubTask $subTask
* @return void
*/
public function created(SubTask $subTask)
{
SubTaskCreated::dispatch($subTask);
}
public function updating(SubTask $subTask)
{
// to prevent updating created_by field. this field cannot be updated once created.
$subTask->created_by = $subTask->getOriginal('created_by');
$subTask->tracked_time = $subTask->timesheets->sum('time');
}
/**
* Handle the SubTask "updated" event.
*
* @param \App\Models\SubTask $subTask
* @return void
*/
public function updated(SubTask $subTask)
{
$subTask->mastertask->recalculateEstimatedTime();
$subTask->mastertask->recalculateTrackedTime();
}
/**
* Handle the SubTask "deleted" event.
*
* @param \App\Models\SubTask $subTask
* @return void
*/
public function deleted(SubTask $subTask)
{
SubTaskDeleted::dispatch($subTask);
}
/**
* Handle the SubTask "restored" event.
*
* @param \App\Models\SubTask $subTask
* @return void
*/
public function restored(SubTask $subTask)
{
//
}
/**
* Handle the SubTask "force deleted" event.
*
* @param \App\Models\SubTask $subTask
* @return void
*/
public function forceDeleted(SubTask $subTask)
{
//
}
}