84 lines
3.3 KiB
PHP
84 lines
3.3 KiB
PHP
<?php
|
|
|
|
namespace App\Modules\VisaMasterPaymentOrder\Nova\Resources;
|
|
|
|
use App\Modules\VisaMasterPaymentOrder\Models\VisaMasterPaymentOrder;
|
|
use Ebess\AdvancedNovaMediaLibrary\Fields\Files;
|
|
use Laravel\Nova\Fields\File;
|
|
use Laravel\Nova\Http\Requests\NovaRequest;
|
|
|
|
class VisaMasterPaymentOrderFileFields
|
|
{
|
|
/**
|
|
* Reciver files
|
|
*/
|
|
public static function reciverFiles(): array
|
|
{
|
|
return collect(VisaMasterPaymentOrder::reciverFiles())
|
|
->map(function (array $file) {
|
|
return Files::make(__($file['name']), $file['code'])
|
|
->required()
|
|
->singleMediaRules('max:2000')
|
|
->rules('required');
|
|
})
|
|
->toArray();
|
|
|
|
// return collect(VisaMasterPaymentOrder::reciverFiles())
|
|
// ->map(function (array $file) {
|
|
// return File::make(__($file['name']), $file['code'])
|
|
// ->fullWidth()
|
|
// ->deletable(false)
|
|
// ->creationRules($file['required'] ? 'required' : 'nullable')
|
|
// ->updateRules('nullable')
|
|
// ->required($file['required'])
|
|
// ->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(VisaMasterPaymentOrder::senderFiles())
|
|
->map(function (array $file) {
|
|
return Files::make(__($file['name']), $file['code'])
|
|
->required()
|
|
->singleMediaRules('max:2000')
|
|
->rules('required');
|
|
})
|
|
->toArray();
|
|
|
|
// return collect(VisaMasterPaymentOrder::senderFiles())
|
|
// ->map(function (array $file) {
|
|
// return File::make(__($file['name']), $file['code'])
|
|
// ->fullWidth()
|
|
// ->deletable(false)
|
|
// ->creationRules($file['required'] ? 'required' : 'nullable')
|
|
// ->updateRules('nullable')
|
|
// ->required($file['required'])
|
|
// ->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();
|
|
}
|
|
}
|