* #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>
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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})";
 | |
|         });
 | |
|     }
 | |
| }
 |