refactor: add logging to absences

This commit is contained in:
Miguel Nogueira 2022-04-03 20:18:40 +01:00
parent 7bf5c1fbe1
commit 06df0e7906

View File

@ -51,7 +51,7 @@ class AbsenceService
]); ]);
Log::info('Processing new leave of absence request.', [ Log::info('Processing new leave of absence request.', [
'userid' => $user->email, 'requesting_user' => $user->email,
'absenceid' => $absence->id, 'absenceid' => $absence->id,
'reason' => $request->reason 'reason' => $request->reason
]); ]);
@ -69,6 +69,12 @@ class AbsenceService
*/ */
public function approveAbsence(Absence $absence): Absence public function approveAbsence(Absence $absence): Absence
{ {
Log::info('An absence request has just been approved.', [
'absenceid' => $absence->id,
'reviewing_admim' => Auth::user()->email,
'new_status' => 'APPROVED'
]);
return $absence->setApproved(); return $absence->setApproved();
} }
@ -82,6 +88,12 @@ class AbsenceService
*/ */
public function declineAbsence(Absence $absence): Absence public function declineAbsence(Absence $absence): Absence
{ {
Log::warning('An absence request has just been declined.', [
'absenceid' => $absence->id,
'reviewing_admim' => Auth::user()->email,
'new_status' => 'DECLINED'
]);
return $absence->setDeclined(); return $absence->setDeclined();
} }
@ -95,9 +107,30 @@ class AbsenceService
*/ */
public function cancelAbsence(Absence $absence) public function cancelAbsence(Absence $absence)
{ {
Log::warning('An absence request has just been cancelled (only cancellable by requester).', [
'absenceid' => $absence->id,
'new_status' => 'CANCELLED'
]);
return $absence->setCancelled(); return $absence->setCancelled();
} }
/**
* Sets an absence as Ended.
*
* @param Absence $absence
* @return bool
*/
public function endAbsence(Absence $absence): Absence
{
Log::info('An absence request has just expired.', [
'absenceid' => $absence->id,
'new_status' => 'ENDED'
]);
return $absence->setEnded();
}
/** /**
* Removes an absence * Removes an absence
* *
@ -106,6 +139,11 @@ class AbsenceService
*/ */
public function removeAbsence(Absence $absence): bool public function removeAbsence(Absence $absence): bool
{ {
Log::alert('An absence request has just been removed.', [
'absence_details' => $absence,
'reviewing_admim' => Auth::user()->email,
]);
return $absence->delete(); return $absence->delete();
} }