cr fix
This commit is contained in:
parent
518e6a63e3
commit
f09565ac9d
@ -8,6 +8,7 @@ use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Notifications\Messages\MailMessage;
|
||||
use Illuminate\Notifications\Notification;
|
||||
use InvalidArgumentException;
|
||||
use Toby\Domain\States\VacationRequest\WaitingForTechnical;
|
||||
use Toby\Eloquent\Models\User;
|
||||
use Toby\Eloquent\Models\VacationRequest;
|
||||
|
||||
@ -43,8 +44,6 @@ class VacationRequestWaitsForApprovalNotification extends Notification
|
||||
protected function buildMailMessage(string $url): MailMessage
|
||||
{
|
||||
$user = $this->user->first_name;
|
||||
$requester = $this->vacationRequest->user->fullName;
|
||||
$title = $this->vacationRequest->name;
|
||||
$type = $this->vacationRequest->type->label();
|
||||
$from = $this->vacationRequest->from->toDisplayString();
|
||||
$to = $this->vacationRequest->to->toDisplayString();
|
||||
@ -54,13 +53,8 @@ class VacationRequestWaitsForApprovalNotification extends Notification
|
||||
->greeting(__("Hi :user!", [
|
||||
"user" => $user,
|
||||
]))
|
||||
->subject(__("Vacation request :title is waiting for your approval", [
|
||||
"title" => $title,
|
||||
]))
|
||||
->line(__("The vacation request :title from user: :requester is waiting for your approval.", [
|
||||
"title" => $title,
|
||||
"requester" => $requester,
|
||||
]))
|
||||
->subject($this->buildSubject())
|
||||
->line($this->buildDescription())
|
||||
->line(__("Vacation type: :type", [
|
||||
"type" => $type,
|
||||
]))
|
||||
@ -71,4 +65,37 @@ class VacationRequestWaitsForApprovalNotification extends Notification
|
||||
]))
|
||||
->action(__("Click here for details"), $url);
|
||||
}
|
||||
|
||||
protected function buildSubject(): string
|
||||
{
|
||||
$title = $this->vacationRequest->name;
|
||||
|
||||
if ($this->vacationRequest->state->equals(WaitingForTechnical::class)) {
|
||||
return __("Vacation request :title is waiting for your technical approval", [
|
||||
"title" => $title,
|
||||
]);
|
||||
}
|
||||
|
||||
return __("Vacation request :title is waiting for your administrative approval", [
|
||||
"title" => $title,
|
||||
]);
|
||||
}
|
||||
|
||||
protected function buildDescription(): string
|
||||
{
|
||||
$title = $this->vacationRequest->name;
|
||||
$requester = $this->vacationRequest->user->name;
|
||||
|
||||
if ($this->vacationRequest->state->equals(WaitingForTechnical::class)) {
|
||||
return __("The vacation request :title from user: :requester is waiting for your technical approval.", [
|
||||
"title" => $title,
|
||||
"requester" => $requester,
|
||||
]);
|
||||
}
|
||||
|
||||
return __("The vacation request :title from user: :requester is waiting for your administrative approval.", [
|
||||
"title" => $title,
|
||||
"requester" => $requester,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -187,7 +187,7 @@ class TimesheetPerUserSheet implements WithTitle, WithHeadings, WithEvents, With
|
||||
{
|
||||
return $user->vacations()
|
||||
->with("vacationRequest")
|
||||
->whereRelation("vacationRequest", fn(Builder $query) => $query->whereIn("type", $this->types))
|
||||
->whereRelation("vacationRequest", fn(Builder $query): Builder => $query->whereIn("type", $this->types))
|
||||
->whereBetween("date", [$period->start, $period->end])
|
||||
->approved()
|
||||
->get()
|
||||
|
@ -24,7 +24,7 @@ class UserVacationStatsRetriever
|
||||
->whereBelongsTo($yearPeriod)
|
||||
->whereRelation(
|
||||
"vacationRequest",
|
||||
fn(Builder $query) => $query
|
||||
fn(Builder $query): Builder => $query
|
||||
->whereIn("type", $this->getLimitableVacationTypes())
|
||||
->states(VacationRequestStatesRetriever::successStates()),
|
||||
)
|
||||
@ -36,7 +36,7 @@ class UserVacationStatsRetriever
|
||||
return $user->vacations()
|
||||
->whereRelation(
|
||||
"vacationRequest",
|
||||
fn(Builder $query) => $query
|
||||
fn(Builder $query): Builder => $query
|
||||
->whereBelongsTo($yearPeriod)
|
||||
->whereIn("type", $this->getLimitableVacationTypes())
|
||||
->states(VacationRequestStatesRetriever::successStates()),
|
||||
@ -53,7 +53,7 @@ class UserVacationStatsRetriever
|
||||
->whereBelongsTo($yearPeriod)
|
||||
->whereRelation(
|
||||
"vacationRequest",
|
||||
fn(Builder $query) => $query
|
||||
fn(Builder $query): Builder => $query
|
||||
->whereIn("type", $this->getLimitableVacationTypes())
|
||||
->states(VacationRequestStatesRetriever::pendingStates()),
|
||||
)
|
||||
@ -67,7 +67,7 @@ class UserVacationStatsRetriever
|
||||
->whereBelongsTo($yearPeriod)
|
||||
->whereRelation(
|
||||
"vacationRequest",
|
||||
fn(Builder $query) => $query
|
||||
fn(Builder $query): Builder => $query
|
||||
->whereIn("type", $this->getNotLimitableVacationTypes())
|
||||
->states(VacationRequestStatesRetriever::successStates()),
|
||||
)
|
||||
|
@ -44,7 +44,7 @@ class DoesNotExceedLimitRule implements VacationRequestRule
|
||||
return $user->vacationLimits()
|
||||
->whereBelongsTo($yearPeriod)
|
||||
->first()
|
||||
->days ?? 0;
|
||||
?->days ?? 0;
|
||||
}
|
||||
|
||||
protected function getVacationDaysWithLimit(User $user, YearPeriod $yearPeriod): int
|
||||
@ -53,7 +53,7 @@ class DoesNotExceedLimitRule implements VacationRequestRule
|
||||
->whereBelongsTo($yearPeriod)
|
||||
->whereRelation(
|
||||
"vacationRequest",
|
||||
fn(Builder $query) => $query
|
||||
fn(Builder $query): Builder => $query
|
||||
->whereIn("type", $this->getLimitableVacationTypes())
|
||||
->noStates(VacationRequestStatesRetriever::failedStates()),
|
||||
)
|
||||
|
@ -112,7 +112,7 @@ class User extends Authenticatable
|
||||
{
|
||||
return $query->whereRelation(
|
||||
"vacationlimits",
|
||||
fn(Builder $query) => $query
|
||||
fn(Builder $query): Builder => $query
|
||||
->whereBelongsTo($yearPeriod)
|
||||
->whereNotNull("days"),
|
||||
);
|
||||
|
@ -47,7 +47,7 @@ class Vacation extends Model
|
||||
{
|
||||
return $query->whereRelation(
|
||||
"vacationRequest",
|
||||
fn(Builder $query) => $query->states(VacationRequestStatesRetriever::successStates()),
|
||||
fn(Builder $query): Builder => $query->states(VacationRequestStatesRetriever::successStates()),
|
||||
);
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@ class Vacation extends Model
|
||||
{
|
||||
return $query->whereRelation(
|
||||
"vacationRequest",
|
||||
fn(Builder $query) => $query->states(VacationRequestStatesRetriever::pendingStates()),
|
||||
fn(Builder $query): Builder => $query->states(VacationRequestStatesRetriever::pendingStates()),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -35,9 +35,19 @@ class AnnualSummaryController extends Controller
|
||||
->get();
|
||||
|
||||
return inertia("AnnualSummary", [
|
||||
"holidays" => $holidays->mapWithKeys(fn(Holiday $holiday) => [$holiday->date->toDateString() => $holiday->name]),
|
||||
"vacations" => $vacations->mapWithKeys(fn(Vacation $vacation) => [$vacation->date->toDateString() => new SimpleVacationRequestResource($vacation->vacationRequest)]),
|
||||
"pendingVacations" => $pendingVacations->mapWithKeys(fn(Vacation $vacation) => [$vacation->date->toDateString() => new SimpleVacationRequestResource($vacation->vacationRequest)]),
|
||||
"holidays" => $holidays->mapWithKeys(
|
||||
fn(Holiday $holiday): array => [$holiday->date->toDateString() => $holiday->name],
|
||||
),
|
||||
"vacations" => $vacations->mapWithKeys(
|
||||
fn(Vacation $vacation): array => [
|
||||
$vacation->date->toDateString() => new SimpleVacationRequestResource($vacation->vacationRequest),
|
||||
],
|
||||
),
|
||||
"pendingVacations" => $pendingVacations->mapWithKeys(
|
||||
fn(Vacation $vacation): array => [
|
||||
$vacation->date->toDateString() => new SimpleVacationRequestResource($vacation->vacationRequest),
|
||||
],
|
||||
),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -30,13 +30,13 @@ class CalculateUserUnavailableDaysController extends Controller
|
||||
->whereBelongsTo($yearPeriod)
|
||||
->whereRelation(
|
||||
"vacationRequest",
|
||||
fn(Builder $query) => $query->noStates(VacationRequestStatesRetriever::failedStates()),
|
||||
fn(Builder $query): Builder => $query->noStates(VacationRequestStatesRetriever::failedStates()),
|
||||
)
|
||||
->pluck("date");
|
||||
|
||||
return new JsonResponse([
|
||||
...$holidays->map(fn(Carbon $date) => $date->toDateString()),
|
||||
...$vacationDays->map(fn(Carbon $date) => $date->toDateString()),
|
||||
...$holidays->map(fn(Carbon $date): string => $date->toDateString()),
|
||||
...$vacationDays->map(fn(Carbon $date): string => $date->toDateString()),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -92,10 +92,10 @@ class VacationRequestController extends Controller
|
||||
$vacationRequests = VacationRequest::query()
|
||||
->with(["user", "vacations"])
|
||||
->whereBelongsTo($yearPeriod)
|
||||
->when($user !== null, fn(Builder $query) => $query->where("user_id", $user))
|
||||
->when($user !== null, fn(Builder $query): Builder => $query->where("user_id", $user))
|
||||
->when(
|
||||
$status !== null,
|
||||
fn(Builder $query) => $query->states(
|
||||
fn(Builder $query): Builder => $query->states(
|
||||
VacationRequestStatesRetriever::filterByStatusGroup($status, $request->user()),
|
||||
),
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user