* #126 - vacation request reminders * #126 - fix workdays * #126 - changes * #126 - cs fix * #5 - bump codestyle * #126 - fix * #126 - fix * #126 - fix * #126 - fix * #126 - tests * #126 - fix * #126 - fix * #126 - fix seeders * #126 - fix * #126 - tests Co-authored-by: EwelinaLasowy <ewelina.lasowy@blumilk.pl>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Toby\Infrastructure\Slack\Elements;
|
||||
|
||||
use Illuminate\Support\Collection;
|
||||
use Toby\Eloquent\Models\VacationRequest;
|
||||
|
||||
class VacationRequestsAttachment extends ListAttachment
|
||||
{
|
||||
public function __construct(Collection $vacationRequests)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this
|
||||
->setColor("#527aba")
|
||||
->setItems($this->mapVacationRequests($vacationRequests));
|
||||
}
|
||||
|
||||
protected function mapVacationRequests(Collection $vacationRequests): Collection
|
||||
{
|
||||
return $vacationRequests->map(function (VacationRequest $request): string {
|
||||
$url = route("vacation.requests.show", ["vacationRequest" => $request->id]);
|
||||
|
||||
$date = $request->from->equalTo($request->to)
|
||||
? "{$request->from->toDisplayString()}"
|
||||
: "{$request->from->toDisplayString()} - {$request->to->toDisplayString()}";
|
||||
|
||||
return "<{$url}|Wniosek nr {$request->name}> użytkownika {$request->user->profile->full_name} ({$date})";
|
||||
});
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user