Carbon::now()) { return; } $workLog = new Worklog(); $workLog->user()->associate($user); $workLog->creator()->associate(auth()->user()); $workLog->worked_at = $start->copy()->startOfDay(); $workLog->hours = (($end->timestamp - $start->timestamp) / 60 / 60) * Shifts::getNightShiftMultiplier($start, $end); $workLog->comment = sprintf( __('%s (%s as %s) in %s, %s - %s'), $name, $title, $type, $room->name, $start->format(__('Y-m-d H:i')), $end->format(__('Y-m-d H:i')) ); $workLog->save(); $this->log->info( 'Created worklog entry from shift for {user} ({uid}): {worklog})', ['user' => $workLog->user->name, 'uid' => $workLog->user->id, 'worklog' => $workLog->comment] ); } public function deletedEntrySendEmail( User $user, Carbon $start, Carbon $end, string $name, string $title, string $type, Room $room, bool $freeloaded ): void { if (!$user->settings->email_shiftinfo) { return; } $this->mailer->sendViewTranslated( $user, 'notification.shift.deleted', 'emails/worklog-from-shift', [ 'name' => $name, 'title' => $title, 'start' => $start, 'end' => $end, 'room' => $room, 'freeloaded' => $freeloaded, 'username' => $user->displayName, ] ); } }