This commit is contained in:
Adrian Hopek 2022-04-20 11:57:19 +02:00
parent 2c86cd0269
commit 05002dbc33
3 changed files with 24 additions and 3 deletions

View File

@ -12,6 +12,7 @@ use Illuminate\Http\Request;
use Illuminate\Http\Response as LaravelResponse;
use Illuminate\Validation\ValidationException;
use Inertia\Response;
use Symfony\Component\HttpFoundation\Response as SymfonyResponse;
use Toby\Domain\Actions\VacationRequest\AcceptAsAdministrativeAction;
use Toby\Domain\Actions\VacationRequest\AcceptAsTechnicalAction;
use Toby\Domain\Actions\VacationRequest\CancelAction;
@ -23,6 +24,7 @@ use Toby\Domain\States\VacationRequest\AcceptedByTechnical;
use Toby\Domain\States\VacationRequest\Cancelled;
use Toby\Domain\States\VacationRequest\Rejected;
use Toby\Domain\VacationRequestStatesRetriever;
use Toby\Domain\VacationTypeConfigRetriever;
use Toby\Eloquent\Helpers\YearPeriodRetriever;
use Toby\Eloquent\Models\User;
use Toby\Eloquent\Models\VacationRequest;
@ -148,8 +150,14 @@ class VacationRequestController extends Controller
/**
* @throws AuthorizationException
*/
public function download(VacationRequest $vacationRequest): LaravelResponse
{
public function download(
VacationRequest $vacationRequest,
VacationTypeConfigRetriever $configRetriever
): LaravelResponse {
if (!$configRetriever->isVacation($vacationRequest->type)) {
return abort(SymfonyResponse::HTTP_NOT_FOUND);
}
$this->authorize("show", $vacationRequest);
$pdf = PDF::loadView("pdf.vacation-request", [

View File

@ -5,10 +5,19 @@ declare(strict_types=1);
namespace Toby\Infrastructure\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
use Toby\Domain\VacationTypeConfigRetriever;
class VacationRequestResource extends JsonResource
{
public static $wrap = null;
protected VacationTypeConfigRetriever $configRetriever;
public function __construct($resource)
{
parent::__construct($resource);
$this->configRetriever = app(VacationTypeConfigRetriever::class);
}
public function toArray($request): array
{
@ -17,6 +26,7 @@ class VacationRequestResource extends JsonResource
"name" => $this->name,
"user" => new SimpleUserResource($this->user),
"type" => $this->type,
"isVacation" => $this->configRetriever->isVacation($this->type),
"state" => $this->state,
"from" => $this->from->toDisplayString(),
"to" => $this->to->toDisplayString(),

View File

@ -88,7 +88,10 @@
-
</dd>
</div>
<div class="py-5 px-4 bg-white sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6">
<div
v-if="VacationType.isVacation"
class="py-5 px-4 bg-white sm:grid sm:grid-cols-3 sm:gap-4 sm:px-6"
>
<dt class="flex items-center text-sm font-medium text-gray-500">
Załączniki
</dt>