Files
online.tbbank.gov.tm-larave…/app/Modules/TuitionPaymentOrder/Nova/Resources/TuitionPaymentOrderFileFields.php

64 lines
2.4 KiB
PHP

<?php
namespace App\Modules\TuitionPaymentOrder\Nova\Resources;
use App\Modules\TuitionPaymentOrder\Models\TuitionPaymentOrder;
use Ebess\AdvancedNovaMediaLibrary\Fields\Files;
use Laravel\Nova\Fields\File;
use Laravel\Nova\Http\Requests\NovaRequest;
class TuitionPaymentOrderFileFields
{
/**
* Reciver files
*/
public static function reciverFiles(): array
{
return collect(TuitionPaymentOrder::reciverFiles())
->map(function (array $file) {
return File::make(__($file['name']), $file['code'])
->fullWidth()
->deletable(false)
->creationRules($file['required'] ? 'required' : 'nullable')
->updateRules('nullable')
->store(function (NovaRequest $request, $model) use ($file) {
return function () use ($model, $file) {
$model->addMediaFromRequest($file['code'])
->preservingOriginal()
->toMediaCollection($file['code']);
};
})
->preview(function ($value, $disk, $resource) use ($file) {
return $resource->getFirstMediaUrl($file['code']);
});
})
->toArray();
}
/**
* Sender files
*/
public static function senderFiles(): array
{
return collect(TuitionPaymentOrder::senderFiles())
->map(function (array $file) {
return File::make(__($file['name']), $file['code'])
->fullWidth()
->deletable(false)
->creationRules($file['required'] ? 'required' : 'nullable')
->updateRules('nullable')
->store(function (NovaRequest $request, $model) use ($file) {
return function () use ($model, $file) {
$model->addMediaFromRequest($file['code'])
->preservingOriginal()
->toMediaCollection($file['code']);
};
})
->preview(function ($value, $disk, $resource) use ($file) {
return $resource->getFirstMediaUrl($file['code']);
});
})
->toArray();
}
}