This commit is contained in:
Adrian Hopek
2022-04-08 12:42:24 +02:00
parent 4af0482a93
commit 6506855bba
50 changed files with 581 additions and 196 deletions

View File

@@ -9,12 +9,14 @@ use Toby\Eloquent\Models\YearPeriod;
class CreateUserAction
{
public function execute(array $data): User
public function execute(array $userData, array $profileData): User
{
$user = new User($data);
$user = new User($userData);
$user->save();
$user->profile()->create($profileData);
$this->createVacationLimitsFor($user);
return $user;

View File

@@ -0,0 +1,19 @@
<?php
declare(strict_types=1);
namespace Toby\Domain\Actions;
use Toby\Eloquent\Models\User;
class UpdateUserAction
{
public function execute(User $user, array $userData, array $profileData): User
{
$user->update($userData);
$user->profile->update($profileData);
return $user;
}
}

View File

@@ -39,7 +39,7 @@ class VacationRequestCreatedNotification extends Notification
protected function buildMailMessage(string $url): MailMessage
{
$user = $this->vacationRequest->user->first_name;
$user = $this->vacationRequest->user->profile->first_name;
$type = $this->vacationRequest->type->label();
$from = $this->vacationRequest->from->toDisplayString();
$to = $this->vacationRequest->to->toDisplayString();

View File

@@ -42,14 +42,14 @@ class VacationRequestStatusChangedNotification extends Notification
protected function buildMailMessage(string $url): MailMessage
{
$user = $this->user->first_name;
$user = $this->user - profile->first_name;
$title = $this->vacationRequest->name;
$type = $this->vacationRequest->type->label();
$status = $this->vacationRequest->state->label();
$from = $this->vacationRequest->from->toDisplayString();
$to = $this->vacationRequest->to->toDisplayString();
$days = $this->vacationRequest->vacations()->count();
$requester = $this->vacationRequest->user->fullName;
$requester = $this->vacationRequest->user->profile->fullName;
return (new MailMessage())
->greeting(__("Hi :user!", [

View File

@@ -43,7 +43,7 @@ class VacationRequestWaitsForApprovalNotification extends Notification
protected function buildMailMessage(string $url): MailMessage
{
$user = $this->user->first_name;
$user = $this->user->profile->first_name;
$type = $this->vacationRequest->type->label();
$from = $this->vacationRequest->from->toDisplayString();
$to = $this->vacationRequest->to->toDisplayString();
@@ -84,7 +84,7 @@ class VacationRequestWaitsForApprovalNotification extends Notification
protected function buildDescription(): string
{
$title = $this->vacationRequest->name;
$requester = $this->vacationRequest->user->fullName;
$requester = $this->vacationRequest->user->profile->fullName;
if ($this->vacationRequest->state->equals(WaitingForTechnical::class)) {
return __("The vacation request :title from user :requester is waiting for your technical approval.", [

View File

@@ -46,7 +46,7 @@ class TimesheetPerUserSheet implements WithTitle, WithHeadings, WithEvents, With
public function title(): string
{
return $this->user->fullName;
return $this->user->profile->fullName;
}
public function headings(): array