#120 - wip
This commit is contained in:
parent
2c86cd0269
commit
05002dbc33
@ -12,6 +12,7 @@ use Illuminate\Http\Request;
|
|||||||
use Illuminate\Http\Response as LaravelResponse;
|
use Illuminate\Http\Response as LaravelResponse;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
use Inertia\Response;
|
use Inertia\Response;
|
||||||
|
use Symfony\Component\HttpFoundation\Response as SymfonyResponse;
|
||||||
use Toby\Domain\Actions\VacationRequest\AcceptAsAdministrativeAction;
|
use Toby\Domain\Actions\VacationRequest\AcceptAsAdministrativeAction;
|
||||||
use Toby\Domain\Actions\VacationRequest\AcceptAsTechnicalAction;
|
use Toby\Domain\Actions\VacationRequest\AcceptAsTechnicalAction;
|
||||||
use Toby\Domain\Actions\VacationRequest\CancelAction;
|
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\Cancelled;
|
||||||
use Toby\Domain\States\VacationRequest\Rejected;
|
use Toby\Domain\States\VacationRequest\Rejected;
|
||||||
use Toby\Domain\VacationRequestStatesRetriever;
|
use Toby\Domain\VacationRequestStatesRetriever;
|
||||||
|
use Toby\Domain\VacationTypeConfigRetriever;
|
||||||
use Toby\Eloquent\Helpers\YearPeriodRetriever;
|
use Toby\Eloquent\Helpers\YearPeriodRetriever;
|
||||||
use Toby\Eloquent\Models\User;
|
use Toby\Eloquent\Models\User;
|
||||||
use Toby\Eloquent\Models\VacationRequest;
|
use Toby\Eloquent\Models\VacationRequest;
|
||||||
@ -148,8 +150,14 @@ class VacationRequestController extends Controller
|
|||||||
/**
|
/**
|
||||||
* @throws AuthorizationException
|
* @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);
|
$this->authorize("show", $vacationRequest);
|
||||||
|
|
||||||
$pdf = PDF::loadView("pdf.vacation-request", [
|
$pdf = PDF::loadView("pdf.vacation-request", [
|
||||||
|
@ -5,10 +5,19 @@ declare(strict_types=1);
|
|||||||
namespace Toby\Infrastructure\Http\Resources;
|
namespace Toby\Infrastructure\Http\Resources;
|
||||||
|
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
use Toby\Domain\VacationTypeConfigRetriever;
|
||||||
|
|
||||||
class VacationRequestResource extends JsonResource
|
class VacationRequestResource extends JsonResource
|
||||||
{
|
{
|
||||||
public static $wrap = null;
|
public static $wrap = null;
|
||||||
|
protected VacationTypeConfigRetriever $configRetriever;
|
||||||
|
|
||||||
|
public function __construct($resource)
|
||||||
|
{
|
||||||
|
parent::__construct($resource);
|
||||||
|
|
||||||
|
$this->configRetriever = app(VacationTypeConfigRetriever::class);
|
||||||
|
}
|
||||||
|
|
||||||
public function toArray($request): array
|
public function toArray($request): array
|
||||||
{
|
{
|
||||||
@ -17,6 +26,7 @@ class VacationRequestResource extends JsonResource
|
|||||||
"name" => $this->name,
|
"name" => $this->name,
|
||||||
"user" => new SimpleUserResource($this->user),
|
"user" => new SimpleUserResource($this->user),
|
||||||
"type" => $this->type,
|
"type" => $this->type,
|
||||||
|
"isVacation" => $this->configRetriever->isVacation($this->type),
|
||||||
"state" => $this->state,
|
"state" => $this->state,
|
||||||
"from" => $this->from->toDisplayString(),
|
"from" => $this->from->toDisplayString(),
|
||||||
"to" => $this->to->toDisplayString(),
|
"to" => $this->to->toDisplayString(),
|
||||||
|
@ -88,7 +88,10 @@
|
|||||||
-
|
-
|
||||||
</dd>
|
</dd>
|
||||||
</div>
|
</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">
|
<dt class="flex items-center text-sm font-medium text-gray-500">
|
||||||
Załączniki
|
Załączniki
|
||||||
</dt>
|
</dt>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user